Как я могу исправить постфикс TLS?
Примечание. Хотя все перечисленное ниже может быть полезным, оказывается, что вся моя проблема была не с постфиксом, а с моим провайдером. Я фактически переключил интернет-провайдеров в рассматриваемое время, и мой новый перехватывает и переписывает незашифрованный SMTP-трафик таким образом, который явно нарушает STARTTLS. Я обошел проблему, установив соединение только TLS на порт 465.
STARTTLS работал с моей системой ранее сегодня. Без того, чтобы я каким-либо образом изменил систему, она спонтанно сломалась. Теперь я пытался исправить это в течение нескольких часов, но безуспешно.
Когда я подключаюсь к серверу, вот что я получаю:
savanni@Orolo:~$ telnet apps.savannidgerinel.com 25
Trying 129.121.182.135...
Connected to apps.sasavanni@Orolo:~$ telnet apps.savannidgerinel.com 25
Trying 129.121.182.135...
Connected to apps.savannidgerinel.com.
Escape character is '^]'.
220 ***********************************************
ehlo dude
250-apps.savannidgerinel.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-XXXXXXXA
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
^]close
telnet> close
Connection closed.
Хорошо, очевидно, STARTTLS нет в этом списке. Поэтому я копался в своих файлах конфигурации и снова работал над учебными пособиями, и это не принесло мне никакой пользы. Вот моя конфигурация, связанная с TLS:
smtp_tls_CAfile = /etc/ssl/certs/savannidgerinel_com_CA.pem
smtp_tls_cert_file = /etc/ssl/certs/apps.savannidgerinel.com.pem
smtp_tls_key_file = /etc/ssl/private/apps.savannidgerinel.com.key.pem
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_CAfile = /etc/ssl/certs/savannidgerinel_com_CA.pem
smtpd_tls_cert_file = /etc/ssl/certs/apps.savannidgerinel.com.pem
smtpd_tls_key_file = /etc/ssl/private/apps.savannidgerinel.com.key.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_random_source = dev:/dev/urandom
Присутствуют все файлы сертификатов, присутствует закрытый ключ сервера, присутствует сервер CA, а также файлы smtpd_scache.db и smtp_scache.db. Все доступно пользователю postfix. Говоря об этом, вот запущенные процессы:
savanni@apps:/var/lib/postfix$ ps aux | grep postfix
root 3525 0.0 0.1 25112 1680 ? Ss 20:19 0:00 /usr/lib/postfix/master
postfix 3526 0.0 0.1 27176 1524 ? S 20:19 0:00 pickup -l -t fifo -u -c -o content_filter= -o receive_override_options=no_header_body_checks
postfix 3527 0.0 0.1 27228 1552 ? S 20:19 0:00 qmgr -l -t fifo -u
postfix 3528 0.0 0.4 46948 4144 ? S 20:19 0:00 smtpd -n smtp -t inet -u -c -o stress= -s 2
postfix 3529 0.0 0.1 27176 1628 ? S 20:19 0:00 proxymap -t unix -u
postfix 3530 0.0 0.3 38212 3176 ? S 20:19 0:00 tlsmgr -l -t unix -u -c
postfix 3531 0.0 0.1 27176 1516 ? S 20:19 0:00 anvil -l -t unix -u -c
postfix 3535 0.0 0.1 27188 1544 ? S 20:20 0:00 trivial-rewrite -n rewrite -t unix -u -c
В файлах журнала ничего не говорится о TLS, кроме этого:
Nov 6 02:19:45 apps postfix/master[3525]: daemon started -- version 2.9.6, configuration /etc/postfix
Nov 6 02:19:49 apps postfix/smtpd[3528]: initializing the server-side TLS engine
Nov 6 02:19:49 apps postfix/tlsmgr[3530]: open smtpd TLS cache btree:/var/lib/postfix/smtpd_scache
Nov 6 02:19:49 apps postfix/tlsmgr[3530]: tlsmgr_cache_run_event: start TLS smtpd session cache cleanup
Nov 6 02:19:49 apps postfix/smtpd[3528]: connect from unknown[204.16.68.108]
Ни syslog, ни mail.err не показывают никаких признаков проблемы. Что касается всей системы, все хорошо. Но нет STARTTLS, и поэтому я вдруг не могу отправлять письма вообще.
Помогите???
1 ответ
Из main.cf
Для более логов TLS:smtp_tls_note_starttls_offer = yes
закомментировать или удалить:
smtp_tls_CAfile = /etc/ssl/certs/savannidgerinel_com_CA.pem
smtp_tls_cert_file = /etc/ssl/certs/apps.savannidgerinel.com.pem
smtp_tls_key_file = /etc/ssl/private/apps.savannidgerinel.com.key.pem
"Не настраивайте клиентские сертификаты, если только вы не предъявляете клиентские TLS-сертификаты одному или нескольким серверам. Клиентские сертификаты обычно не нужны и могут вызвать проблемы в конфигурациях, которые хорошо работают без них. Рекомендуемая настройка - оставить настройки по умолчанию".
Перезагрузите конфигурацию или перезапустите постфикс.
Я проверил ваш сервер:
EHLO apps.savannidgerinel.com
250-apps.savannidgerinel.com
250-PIPELINING
250-SIZE 10240000
250-VRFY 250-ETRN
250-STARTTLS
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Это предложение 250-STARTTLS
, Итак, что-то перехватывает ваш трафик через порт 25 как прокси. Это может быть брандмауэр любого типа или расширенный маршрутизатор с такой расширенной функциональностью, что ваш локальный компьютер подключается через него. Если у вас нет брандмауэра или расширенного маршрутизатора, скорее всего, это антиспам-политика вашего интернет-провайдера, чтобы предотвратить появление спама с их IP-диапазонов. В худшем случае кто-то делает человека в середине атаки.