У меня есть проблема с моим почтовым сервером, выполняющим установку постфикса/голубятни, по существу когда я запускаю различные тесты безопасности, мне говорят, что мои сертификаты не могут быть проверены, посмотрите здесь: https://ssl-tools.net/mailservers/brailsford.xyz
Сертификаты и связанные файлы, которые я имею в наличии (которые допустимы согласно https://brailsford.xyz):
У меня также есть свой файл ключей для crt, brailsford_xyz.key
Моя установка в постфиксе:
smtpd_tls_cert_file=/etc/ssl/certs/postfixchain.crt
smtpd_tls_key_file=/etc/ssl/private/brailsford.key
smtpd_tls_CAfile=/etc/ssl/certs/COMODORSADomainValidationSecureServerCA.crt
smtpd_use_tls=yes
Постфиксная цепочка является комбинацией трех из сертификатов от ранее в следующем порядке:
Кто-либо может советовать относительно того, что я делаю неправильно и как я могу исправить его?
Похоже, ваша цепочка SSL-сертификатов не завершена (точнее, отсутствует звено). Посмотрите, что openssl s_client
возвращает при подключении к вашему почтовому серверу:
$ openssl s_client -CAfile /etc/ssl/certs/ca-certificates.crt -starttls smtp -connect brailsford.xyz:587
CONNECTED(00000003)
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=brailsford.xyz
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
2 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
Как вы видите, есть сертификат с издателем (i
) "/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority", но цепочка не содержит сертификата, выданного этому субъекту доверенным центром сертификации (или последующим промежуточным центром сертификации).
Насколько я могу судить, по крайней мере, этот сертификат отсутствует (как третье звено в цепи): https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/966/108/intermediate-1-sha-2-comodo-rsa-certification-authority
Это серийный номер 27:66:ee:56:eb:49:f3:8e:ab:d7:70:a2:fc:84:de:22 и Субъект: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
Ваша директива:
smtpd_tls_CAfile=/etc/ssl/certs/COMODORSADomainValidationSecureServerCA.crt
странная. Скорее всего, вы вообще не хотите ее указывать - это для ЦС, который выдает клиентские сертификаты, если вы используете аутентификацию с помощью клиентского сертификата. Это не для вашей цепочки.
Обычно достаточно поместить ваш сертификат, за которым будет следовать каждый из его промежуточных сертификатов ЦС, в формате PEM, собранных вместе в smtpd_tls_cert_file
. Нет необходимости указывать корень. Перепроверьте, что там используются правильные сертификаты.
Ошибка, которую дает ssl-tools.net, немного загадочна. Рассмотрим возможность использования openssl s_client для проверки на наличие проблем.
.