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

3

Eu gostaria de forçar um conjunto próprio de conjuntos de codificação TLS em vez de usar o Postfix embutido.

Meu conjunto de cifras desejado é (tirado da configuração 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. Eu 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

    
por burnersk 21.02.2015 / 10:31

3 respostas

8

De Aplicação de Criterificação Aplicada por bettercrypto.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

Você pode inserir seu próprio ciphersuite aqui, mas eu não recomendo isso. A criptografia escolhida pelo melhor projeto de criptografia foi amplamente testada e oferece tanta compatibilidade quanto razoável, ao mesmo tempo em que oferece a maior segurança possível. A ordem de todas as cifras é muito importante, então o servidor e o cliente estão negociando a melhor cifra possível, de preferência com o sigilo de encaminhamento, que é verdadeiro para este.

Para 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

No entanto, isso não impede o uso de cifras desatualizadas para o nível de segurança may , de acordo com pull request # 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:

I am going to close this, SSLv3 makes sense here since it's better than good ol' plaintext.

    
por 21.02.2015 / 11:37
3

man postconf says "É altamente recomendável que você não altere essa 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

Suponho que isso é experimental e você não está preocupado com o fluxo de mensagens da maioria dos MTAs. Verifique se há "falha de handshake" nos logs do postfix. Eu sugeriria testar com smtp_ de saída primeiro para que você possa ver o que está na fila e qualquer sessão SMTP gerada por nginx local não deverá falhar.

    
por 21.02.2015 / 11:45
0

Está bem documentado. De link

smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5
    
por 21.02.2015 / 10:52