Когда я настраиваю Postfix, мне нужно создать сертификат, потому что сертификат snakeoil, включенный в Postfix, предназначен исключительно для демонстрации. Я использую эту команду:
sudo openssl req -x509 -newkey rsa:4096 -sha512 -keyout postfix-key.pem -out postfix-cert.pem -days 3650
Мне будет предложено ввести название страны, штата или провинции и т. Д.
Есть ли какая-то цель в контексте Postfix, чтобы можно было заполнить сертификат как можно точнее вместо использования значений по умолчанию? Я пытаюсь сделать свой сервер Postfix как можно более законным, чтобы избежать попадания в черный список и т. Аккаунт Gmail.
Если вы счастливы, что эта информация находится в открытом доступе, заполнение ее не причинит никакого вреда. Однако в действительности нет необходимости транслировать эти данные (например, как частное лицо мне не нравится, когда информация, опубликованная в базе данных WHOIS). Для получения MTA для приема SMTP через TLS вам даже не нужно следить за тем, чтобы полное доменное имя вашего почтового сервера было указано в сертификате. Распространенное имя или DNS-имена (Альтернативное имя субъекта), как требуется для HTTPS.
По моему опыту, детали сертификата X.509 не имеют никакого отношения к тому, рассматривает ли удаленный MTA соединения SMTP как законные. Я только что провел эксперимент, перенастроив свой сервер Postfix на использование сертификата X.509, срок действия которого истек 6 дней назад, и отправил с ним несколько писем. Все принимающие MTA приняли сообщения; Заголовки GMail подтверждают, что сообщение было получено через TLS 1.2.
Использование IP-адреса, не занесенного в черный список, и настройка SPF, ДКИМ, Обратный DNS с прямым подтверждением и Другой Связанный техники - лучший способ сделать вашу электронную почту законной.
В настоящее время большинство почтовых серверов настроено на прием самозаверяющих сертификатов для SMTP через TLS, но это может измениться в ближайшие годы. На всякий случай я проверяю, что полное доменное имя моего почтового сервера включено в сертификат DNS-имена (Альтернативное имя субъекта) и что сертификат подписан (бесплатно) замечательным центром сертификации Let’s Encrypt.
Оппортунистический TLS
Почтовые серверы обычно не требуют подтверждения того, «кто» вы; Таким образом, в большинстве случаев достаточно самоподписанного сертификата. Мой почтовый сервер регенерирует свои самоподписанные сертификаты ежечасно, потому что.
[вырезать]
openssl req -new -subj "/CN=${fqdn}" -key ${dir}/${ymd}.key -out ${dir}/${ymd}.csr
openssl x509 -req -days 2 -in ${dir}/${ymd}.csr -sha256 -CA ${dir}/${ymd}.ca.crt -CAkey ${dir}/${ymd}.ca.key -set_serial ${ymd} -out ${dir}/${ymd}.crt
Вышеупомянутый фрагмент всего, что я когда-либо использовал. $ {ymd} - это просто дата для файла. $ {fqdn} - это DNS-имя моего почтового сервера.
В некоторых случаях деловые отношения могут потребовать подтверждения того, "кто" вы есть. В этом случае вам может понадобиться подписанный сертификат или настроить общий общедоступный сертификат ЦС между вашими организациями, если вы не доверяете ЦС в вашем случае использования. Некоторые финансовые организации поступают так.
Нет причин помещать всю информацию в самоподписанный сертификат. Единственная причина в том, что пользователь хочет его проверить.