Postfix SMTP — простой протокол передачи почты Что такое SSL сертификат для сайта, почты/TSL: Quick Postfix SMTP SSL/TSL сертификат
В заголовке Received отправленного письма видим сообщение (No client certificate requested). Что бы это сообщение было видно нужно установить параметр smtpd_tls_received_header = yes
Received: from [192.168.1.15] (69-98-95-178.pool.ukrtel.net [178.95.98.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested)...
Ошибка (No client certificate requested) говорит о том, что получатель письма не может удостовериться, что это письмо отправили именно мы. Получатель видит, что используется TSL - но он не уверен кто конкретно выслал письмо.
Устраним ошибку. Добавим строки в main.cf
# требовать сертификаты от клиентов smtpd_tls_ask_ccert = yes #relay_clientcerts файл с отпечатками пользовательских сертификатов relay_clientcerts = hash:/etc/postfix/relay_clientcerts
Cнимем отпечаток с пользовательского сертификата
# openssl x509 -fingerprint -in smtpd.pem SHA1 Fingerprint=9C:89:3B:3B:B7:5C:58:4B:44:AD:5E:E6:89:31:CA:0D:97:9A:62:91 -----BEGIN CERTIFICATE----- MIIDrjCCAxegAwIBAgIJAO9A22Y67OL8MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
Нам нужны цифры, разграниченные двоеточиями. Их просто записываем в файл /etc/postfix/relay_clientcerts. После отпечатка можете написать что угодно - это только для вашей информации. Теперь создадим таблицу хэшей отпечатков и перезапустим postfix.
# nano relay_clientcerts 9C:89:3B:3B:B7:5C:58:4B:44:AD:5E:E6:89:31:CA:0D:97:9A:62:91 OK # postmap hash:/etc/postfix/relay_clientcerts # /etc/init.d/postfix restart
Шлем тестовое письмо и видим что в место (No client certificate requested) появилась запись (Client did not present a certificate)
Received: from [192.168.1.15] (69-98-95-178.pool.ukrtel.net [178.95.98.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate)
И что теперь делать?!!!!! - На этом этапе мы имеем безопасное (шифрованное) TLS - соединение, но Аутентификация не проходит - так как клиент не отдает нашему серверу клиентский серификат. Подробнее читаем здесь.
Получатель письма теперь уверен, что в связке отправитель-сервер не было никого лишнего и письмо никем не было прочитано.
отправили именно мы. То, что с использованием TLS - да. Но вот что конкретно мы - нет.)