- Sobre
smtp[d]_tls_[mandatory_]ciphers
Sim.
- Se eu definir as opções
smtpd_tls_security_level
esmtp_tls_security_level
, somente as configurações oportunistas serão relevantes, o que significa que não importa o que eu defino 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) ficará bem?
Você está desativando o SSL e restringindo as cifras, mas o tráfego não criptografado ainda é permitido. Eu considero a criptografia ruim melhor do que nenhuma criptografia, para comunicação com outros servidores de e-mail.
Para citar o artigo Endurecimento Aplicado de Cripto (ACH) por Bettercrypto :
Postfix has five internal lists of ciphers, and the possibility to switch between those with
smtpd_tls_ciphers
. However, we leave this at its default value for server to server connections, as many mail servers only support outdated protocols and ciphers. We consider bad encryption still better than plain text transmission. For connections to MUAs, TLS is mandatory and the ciphersuite is modified.
Para as conexões com clientes de e-mail, é muito útil restringir as cifras e protocolos, bem como preferir os bons.
MX and SMTP client configuration: As discussed in section 2.3.1, because of opportunistic encryp- tion we do not restrict the list of ciphers or protocols for communication with other mail servers to avoid transmission in plain text.
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 isso 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 o Perfect Secret se possível e também suporta todos os clientes relevantes sem permitir cifras ruins. Para mais detalhes, por favor, consulte o documento 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 contribuições minhas (e revisadas por muitos outros).