Я пытаюсь понять, как сделать мою исходящую / входящую электронную почту настолько безопасной, насколько это возможно.
Прежде всего, у моего домена есть SSL-сертификаты Wildcard OV, у меня есть копии .csr
, .crt
и .key
файлов, но у меня нет файлов PKCS12 .p12
или .pfx
, можно ли получить их из моего сертификата SSL, чтобы я мог подписывать исходящие электронные письма цифровой подписью через почтовые клиенты, такие как outlook, thunderbird ...
Во-вторых, какие в настоящее время являются «самыми безопасными» / «лучшими» настройками безопасности, которые я могу и должен использовать для своих почтовых клиентов, ниже перечислены все доступные параметры.
Безопасность подключения:
Метод проверки подлинности:
Безопасность подключения:
Метод проверки подлинности:
И последнее, но не менее важное: то же самое и с 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. SSL на порту 465 (SMTPS) устарел с 1998 года, хотя Microsoft, похоже, этого не заметила. Вместо этого используйте SMTP + STARTTLS на порту 587, что и делает PHPMailer, когда вы используете SMTPSecure = 'tls'
& Port = 587
. Обратите внимание, что PHPMailer использует оппортунистический TLS, поскольку если вы не укажете ему использовать TLS и подключитесь к серверу, который его поддерживает, он будет использовать его автоматически.
Последние версии PHPMailer 5.2 поддерживают аутентификацию XOAUTH2 для Gmail, а в 6.0 добавлена поддержка многих других провайдеров.
Если вы используете PHP старше 5.6, вам следует включить проверку сертификата (PHP 5.6+ делает это по умолчанию).