Security

電子郵件客戶端和 PHPMailer 的安全電子郵件設置

  • June 2, 2016

我正在努力研究如何使我的傳出/傳入電子郵件盡可能安全。

首先,我的域有萬用字元 OV SSL 證書,我有.csr,.crt.key文件的副本,但我沒有 or 的任何 PKCS12 文件.p12.pfx是否可以從我的 SSL 證書中獲取這些文件,以便我可以通過數字簽名發送的電子郵件電子郵件客戶端,例如 Outlook、Thunderbird… 等

其次,目前我可以並且應該為我的電子郵件客戶端使用的“最安全”/“最佳”安全設置是什麼,以下是所有可用選項。

傳入選項

連接安全:

  • 沒有任何
  • 啟動TLS
  • SSL/TLS (目前通過埠 993 使用)

身份驗證方法:

  • 普通密碼***(目前通過埠 993 使用)***
  • 加密密碼
  • Kerberos / GSSAPI
  • NTLM
  • TLS 證書
  • OAuth2

傳出選項

連接安全:

  • 沒有任何
  • 啟動TLS
  • SSL/TLS (目前通過埠 465 使用)

身份驗證方法:

  • 無身份驗證(不可用)
  • 普通密碼***(目前通過埠 465 使用)***
  • 加密密碼(不可用)
  • Kerberos / GSSAPI(不可用)
  • NTLM(不可用)
  • OAuth2(不可用)

最後但並非最不重要的一點是,PHPMailer 也是如此,我應該使用 TLS 還是 SSL(哪個更好?)

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

試試這個如何創建 p12。

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

以下對於公司部署來說已經是“安全”且實用的。

  • 傳入埠:POP3 995 或 IMAP 993 (SSL/TLS)

需要 SMTP 身份驗證

  • 外發郵件伺服器 (SMTP) 埠:465 (SSL/TLS)

需要 SMTP 身份驗證

最後,盡可能使用 TLS。TLS 性能更好,並且某些 SSL 協議存在安全問題。

入站選項不適用於 PHPMailer。埠 465 (SMTPS) 上的 SSL 自 1998 年以來已被棄用,儘管 Microsoft 似乎沒有註意到。在埠 587 上使用 SMTP+STARTTLS,這是 PHPMailer 在使用SMTPSecure = 'tls'&時所做的Port = 587。請注意,PHPMailer 使用機會 TLS,如果您不告訴它使用 TLS,並且您連接到支持它的伺服器,它將自動使用它。

最近的 PHPMailer 5.2 版本支持 gmail 的 XOAUTH2 身份驗證,並且 6.0 增加了對許多其他提供商的支持。

如果您使用的是早於 5.6 的 PHP,您應該啟用證書驗證(PHP 5.6+ 預設情況下會這樣做)。

引用自:https://serverfault.com/questions/773466