web-dev-qa-db-ja.com

電子メールクライアントおよびPHPMailerの安全な電子メール設定

送信/受信メールを可能な限り安全にする方法を模索しています。

まず、私のドメインにはワイルドカードOV SSL証明書があり、.csr.crt、および.keyファイルのコピーがありますが、.p12のPKCS12ファイルはありません。または.pfx、SSL証明書からこれらを取得して、Outlook、Thunderbirdなどの電子メールクライアントを介して送信電子メールにデジタル署名できるようにすることはできますか?

次に、電子メールクライアントに使用できる、または使用する必要がある現在の「最も安全な」/「最良の」セキュリティ設定は、使用可能なすべてのオプションです。

着信オプション

接続セキュリティ:

  • None
  • STARTTLS
  • SSL/TLS (現在ポート993経由で使用)

認証方法:

  • 通常のパスワード(現在ポート993経由で使用)
  • 暗号化されたパスワード
  • Kerberos/GSSAPI
  • NTLM
  • TLS証明書
  • OAuth2

発信オプション

接続セキュリティ:

  • None
  • STARTTLS
  • SSL/TLS (現在ポート465経由で使用)

認証方法:

  • 認証なし(利用不可)
  • 通常のパスワード(現在ポート465経由で使用)
  • 暗号化されたパスワード(使用不可)
  • Kerberos/GSSAPI(使用不可)
  • NTLM(使用不可)
  • OAuth2(利用不可)

最後になりましたが、PHPMailerについても同じことが言えます。TLSまたはSSLを使用する必要があります(どちらが良いですか?)

$phpmailer->SMTPSecure = "tls"; // Choose SSL or TLS, if necessary for your server
3
Ryflex

P12の作成方法でこれを試してください。

openssl pkcs12 -export -in cert.crt -inkey cert.key -name "Your Name" -out cert.p12

以下は、企業が展開するのにすでに「安全」で実用的です。

  • 着信ポート:POP3995またはIMAP993(SSL/TLS)

    SMTP認証が必要

  • 送信メールサーバー(SMTP)ポート:465(SSL/TLS)

    SMTP認証が必要

最後に、可能な限りTLSを使用します。 TLSのパフォーマンスは向上し、一部のSSLプロトコルにはセキュリティの問題があります。

3
jarvis

インバウンドオプションはPHPMailerには適用されません。ポート465(SMTPS)のSSLは、1998年以降非推奨になっていますが、Microsoftは気付いていないようです。代わりに、ポート587でSMTP + STARTTLSを使用します。これは、SMTPSecure = 'tls'Port = 587を使用するときにPHPMailerが行うことです。 PHPMailerは便宜的なTLSを実行することに注意してください。TLSを使用するように指示せず、それをサポートするサーバーに接続すると、自動的に使用されます。

最近のPHPMailer5.2バージョンはGmailのXOAUTH2認証をサポートしており、6.0は他の多くのプロバイダーのサポートを追加しています。

PHP 5.6より古い)を使用している場合は、証明書の検証を有効にする必要があります(PHP 5.6+はデフォルトで有効にします)。

1
Synchro