Postfix obrigatório smtp/smtpd vs diferença e configuração "não obrigatória"

Postfix obrigatório smtp/smtpd vs diferença e configuração "não obrigatória"

Três perguntas:

  1. 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
  2. Se eu definir ambos smtpd_tls_security_levele smtp_tls_security_levelpara mayentão apenas as configurações oportunistas serão relevantes, o que significa que não importa o que eu defina nas obrigatórias?
  3. 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

  1. Relativosmtp[d]_tls_[mandatory_]ciphers

Sim.

  1. Se eu definir ambos smtpd_tls_security_levele smtp_tls_security_levelcomo may, apenas as configurações oportunistas serão relevantes, o que significa que não importa o que eu defina nas obrigatórias?

Sim.

  1. 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).

informação relacionada