Включить RC4-SHA в Postfix для совместимости со старой версией Exchange

Я использую почтовый сервер Debian Jessie, использующий Postfix 2.11.3-1 с OpenSSL 1.0.2k-1. Недавние изменения в политике Debian отключили несколько старых небезопасных шифров. К сожалению, некоторые почтовые серверы, с которых мы получаем почту, все еще работают на старой версии Exchange (я думаю, Exchange 2007 на Windows Server 2003), и теперь они не могут подключиться из-за сбоев установления связи TLS. Вот (очень ограниченные) шифры, поддерживаемые отправляющим сервером:

tls1:   RC4-SHA
tls1:   RC4-MD5
tls1:   DES-CBC3-SHA

Я не могу контролировать его конфигурацию. Согласно http://www.postfix.org/TLS_README.html#server_cipher , «... серверы Windows 2003 Microsoft Exchange имеют некорректные реализации DES-CBC3-SHA, который OpenSSL считает более сильным, чем RC4- SHA. Включение выбора набора шифров сервера может создать проблемы совместимости с клиентами Windows 2003 Microsoft Exchange. "

Вот соответствующие строки нашей конфигурации Postfix, созданной postconf | grep smtpd_tls :

smtpd_tls_CAfile =
smtpd_tls_CApath =
smtpd_tls_always_issue_session_ids = yes
smtpd_tls_ask_ccert = no
smtpd_tls_auth_only = yes
smtpd_tls_ccert_verifydepth = 9
smtpd_tls_cert_file = /path/to/cert
smtpd_tls_ciphers = export
smtpd_tls_dcert_file =
smtpd_tls_dh1024_param_file =
smtpd_tls_dh512_param_file =
smtpd_tls_dkey_file = $smtpd_tls_dcert_file
smtpd_tls_eccert_file =
smtpd_tls_eckey_file = $smtpd_tls_eccert_file
smtpd_tls_eecdh_grade = strong
smtpd_tls_exclude_ciphers =
smtpd_tls_fingerprint_digest = md5
smtpd_tls_key_file = /path/to/key
smtpd_tls_loglevel = 0
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_exclude_ciphers =
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_received_header = yes
smtpd_tls_req_ccert = no
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = sdbm:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_wrappermode = no

На данный момент похоже, что наш единственный вариант - полностью отключить TLS до тех пор, пока отправляющие серверы не будут обновлены. Очевидно, я не хочу этого делать, но отказаться от этого письма нельзя. Можно ли перенастроить Postfix для временного включения RC4-SHA *? Если мы можем установить самый низкий приоритет, тем лучше. Это рабочий почтовый сервер, поэтому возможности для тестирования ограничены, мне нужно решение, которое, я уверен, будет работать сразу, чтобы не потерять почту.

Заранее спасибо.

* На том основании, что это лучше, чем RC4-MD5, и DES-CBC3-SHA работать не будет.

1
задан 2 February 2017 в 13:36
1 ответ

Отвечу на свой вопрос, если он будет полезен другим. Я нашел обходной путь на форумах Postfix по адресу http://postfix.1071664.n5.nabble.com/selective-disable-of-smtpd-opportunistic-TLS-tp81383p81384.html . Добавьте следующую строку в /etc/postfix/main.cf :

smtpd_discard_ehlo_keyword_address_maps = cidr:/etc/postfix/ehlo-map.cidr

После этого содержимое файла /etc/postfix/ehlo-map.cidr должно выглядеть следующим образом: замена 1.2.3.4/32 диапазоном адресов, используемым проблемными серверами:

# Disable TLS for <X> as their server uses outdated ciphers
1.2.3.4/32 starttls

Это решение не идеально по двум причинам. Во-первых, он полностью отключает TLS для электронной почты, полученной с рассматриваемых IP-адресов. RC4-SHA, возможно, уже не так уж и силен, но это все же лучше, чем отправлять все в незашифрованном виде. Во-вторых, вы не можете указать его для домена электронной почты или имени хоста сервера, вместо этого вы должны знать IP-адрес (а).

Я собираюсь подождать пару дней, прежде чем отмечать это как принятый ответ, в надежда, что кто-то найдет лучшее решение. В идеале я ищу что-то вроде smtp_tls_policy_maps , за исключением smtpd, но, к сожалению, smtpd_tls_policy_maps не является фактическим вариантом конфигурации.

0
ответ дан 4 December 2019 в 05:18

Теги

Похожие вопросы