Três perguntas:
- Corrija-me se estiver errado:
smtpd_tls_mandatory_ciphers
=> configurações para criptografia TLS obrigatória de entrada
smtpd_tls_ciphers
=> configurações para criptografia TLS oportunista de entrada
smtp_tls_mandatory_ciphers
=> configurações para criptografia TLS obrigatória de saída
smtp_tls_ciphers
=> configurações para criptografia TLS oportunista de saída - Se eu definir ambos
smtpd_tls_security_level
esmtp_tls_security_level
paramay
então apenas as configurações oportunistas serão relevantes, o que significa que não importa o que eu defina nas obrigatórias? Se eu quiser criar um servidor de e-mail seguro, mas ainda público, a seguinte configuração (em relação à criptografia usada) estaria correta? Não tenho muita certeza sobre quantos servidores atualmente suportam TLS ou quais níveis de segurança em geral, mas ainda quero poder me comunicar com a maioria deles.
smtpd_tls_mandatory_ciphers = high smtp_tls_mandatory_ciphers = high smtpd_tls_ciphers = high smtp_tls_ciphers = high smtp_tls_security_level = may smtpd_tls_security_level = may smtp_tls_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5 smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5 #hope this is enough since it is also added to the mandatory exclusions smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5 smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
Fundo:É para uma empresa orientada para a segurança, com padrões de segurança bastante elevadosMASTambém não quero que nenhum e-mail se perca com esta configuração.
PS:Eu li a explicação para oparâmetros de configuraçãoe é também de onde vem a maior parte do meu conhecimento.
Responder1
- Relativo
smtp[d]_tls_[mandatory_]ciphers
Sim.
- Se eu definir ambos
smtpd_tls_security_level
esmtp_tls_security_level
como may, apenas as configurações oportunistas serão relevantes, o que significa que não importa o que eu defina nas obrigatórias?
Sim.
- Se eu quiser criar um servidor de e-mail seguro, mas ainda público, a seguinte configuração (em relação à criptografia usada) estaria correta?
Você está desativando o SSL e restringindo as cifras, mas o tráfego não criptografado ainda é permitido. Considero a criptografia ruim melhor do que nenhuma criptografia, para comunicação com outros servidores de e-mail.
Para citar o artigoEndurecimento criptográfico aplicado (ACH)porMelhor criptografia:
O Postfix possui cinco listas internas de cifras e a possibilidade de alternar entre aquelas com extensão
smtpd_tls_ciphers
. No entanto, deixamos esse valor padrão para conexões de servidor para servidor, já que muitos servidores de e-mail suportam apenas protocolos e cifras desatualizados. Consideramos que a criptografia ruim ainda é melhor do que a transmissão de texto simples. Para conexões com MUAs, o TLS é obrigatório e o ciphersuite é modificado.
Para conexões com clientes de email, é muito útil restringir as cifras e protocolos, bem como preferir os bons.
Configuração de clientes MX e SMTP: Conforme discutido na seção 2.3.1, devido à criptografia oportunista, não restringimos a lista de cifras ou protocolos para comunicação com outros servidores de correio para evitar a transmissão em texto simples.
A configuração recomendada é a seguinte:
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
# use 0 for Postfix >= 2.9, and 1 for earlier versions
smtpd_tls_loglevel = 0
# enable opportunistic TLS support in the SMTP server and client
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
smtpd_tls_eecdh_grade=ultra
E isto para master.cf
:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o tls_preempt_cipherlist=yes
Com o ciphersuite fornecido, o servidor prefere as melhores cifras disponíveis, também Perfect Secrecy se possível e também suporta todos os clientes relevantes sem permitir cifras ruins. Para mais detalhes, consulte o artigo vinculado, que fornece informações muito detalhadas sobre as recomendações, incluindo a teoria. As explicações para a seção postfix citada acima são de minha autoria (e revisadas por muitos outros).