Como forçar um conjunto próprio de cifras no Postfix 2.11?

Como forçar um conjunto próprio de cifras no Postfix 2.11?

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 smtpe 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.cfvocê 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 postconfdiz "É 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

informação relacionada