
Eu gostaria de forçar um conjunto próprio de conjuntos de criptografia TLS em vez de usar os integrados ao Postfix.
Meu conjunto de cifras desejado é (retirado da configuração do nginx):
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Infelizmente não consigo encontrar uma referência para substituir os conjuntos de criptografia. Encontrei avisos de que é possível, mas não como.
Como seria a configuração equivalente do Postfix para smtp
e smtpd
?
Usando Debian/7, Postfix/2.11.2, OpenSSL/1.0.1e
Responder1
DeEndurecimento criptográfico aplicadopormelhorcrypto.org:
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1
# if you have authentication enabled, only offer it after STARTTLS
smtpd_tls_auth_only = yes
tls_ssl_options = NO_COMPRESSION
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
[ATUALIZAÇÃO: Como o projeto bestcrypto, de onde tenho a string de cifra, não está mais ativo, certifique-se de escolher sua string de cifra de uma fonte atual.]
Pois master.cf
você pode querer configurar a porta de envio apenas para TLS:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o tls_preempt_cipherlist=yes
[ATUALIZAÇÃO: Para TLS 1.3, menos cifras estão disponíveis e a cifra resultante difere daquelas para TLS <= 1.2. A boa notícia é que apenas cifras seguras são permitidas. Mais detalhes aqui: https://wiki.openssl.org/index.php/TLS1.3#Ciphersuites]
No entanto, isso não proíbe o uso de cifras desatualizadas para nível de segurançapoderia, de acordo comsolicitação de pull #97, você pode fazer isso com:
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
Mas isso não foi mesclado com o seguinte motivo:
Vou encerrar isso, SSLv3 faz sentido aqui, pois é melhor do que o bom e velho texto simples.
Responder2
man postconf
diz "É altamente recomendável que você não altere esta configuração."
No entanto, você pode, assim:
smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers=high
smtpd_tls_security_level = encrypt
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Presumo que isso seja experimental e você não esteja preocupado com o fluxo de mensagens da maioria dos MTAs. Verifique se há "falha no handshake" nos logs do postfix. Eu sugiro testar primeiro com smtp_ outgoing para que você possa ver o que está na fila e quaisquer sessões SMTP locais geradas pelo nginx não devem falhar.
Responder3
Está bem documentado. Dehttp://www.postfix.org/TLS_README.html#server_cipher
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5