Tres preguntas:
- Corríjame si me equivoco:
smtpd_tls_mandatory_ciphers
=> configuración para el cifrado TLS obligatorio entrante
smtpd_tls_ciphers
=> configuración para el cifrado TLS oportunista entrante
smtp_tls_mandatory_ciphers
=> configuración para el cifrado TLS obligatorio saliente
smtp_tls_ciphers
=> configuración para el cifrado TLS oportunista saliente - Si configuro ambos
smtpd_tls_security_level
ysmtp_tls_security_level
entoncesmay
solo las configuraciones oportunistas son relevantes, lo que significa que no importa lo que configuro en las obligatorias. Si quiero crear un servidor de correo seguro pero público, ¿estaría bien la siguiente configuración (con respecto a la criptografía utilizada)? No estoy muy seguro de cuántos servidores admiten TLS actualmente o qué niveles de seguridad en general, pero aún así quiero poder comunicarme con la mayoría de ellos.
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
Fondo:Es para una empresa orientada a la seguridad, con estándares de seguridad bastante altos.PEROTampoco quiero que se pierda ningún correo electrónico con esta configuración.
PD:He leído la explicación delparámetros de configuracióny también es de donde proviene la mayor parte de mi conocimiento.
Respuesta1
- Sobre
smtp[d]_tls_[mandatory_]ciphers
Sí.
- Si configuro ambos
smtpd_tls_security_level
ysmtp_tls_security_level
may, entonces solo las configuraciones oportunistas son relevantes, lo que significa que no importa lo que configuro en las obligatorias.
Sí.
- Si quiero crear un servidor de correo seguro pero público, ¿estaría bien la siguiente configuración (con respecto a la criptografía utilizada)?
Está deshabilitando SSL y restringiendo los cifrados, pero aún se permite el tráfico no cifrado. Considero que un cifrado incorrecto es mejor que ningún cifrado para la comunicación con otros servidores de correo.
Para citar el artículoEndurecimiento criptográfico aplicado (ACH)porMejorcripto:
Postfix tiene cinco listas internas de cifrados y la posibilidad de cambiar entre aquellos con
smtpd_tls_ciphers
. Sin embargo, lo dejamos en su valor predeterminado para conexiones de servidor a servidor, ya que muchos servidores de correo sólo admiten protocolos y cifrados obsoletos. Consideramos que una mala encriptación es aún mejor que la transmisión de texto plano. Para conexiones a MUA, TLS es obligatorio y se modifica el conjunto de cifrado.
Para las conexiones a clientes de correo, es muy útil restringir los cifrados y protocolos, así como preferir los buenos.
Configuración del cliente MX y SMTP: Como se discutió en la sección 2.3.1, debido al cifrado oportunista no restringimos la lista de cifrados o protocolos para la comunicación con otros servidores de correo para evitar la transmisión en texto plano.
La configuración recomendada es la siguiente:
# 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
Y esto para master.cf
:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o tls_preempt_cipherlist=yes
Con el conjunto de cifrado proporcionado, el servidor prefiere los mejores cifrados disponibles, también Perfect Secrecy si es posible y también admite todos los clientes relevantes sin permitir cifrados incorrectos. Para obtener más detalles, consulte el artículo vinculado, que brinda información muy detallada sobre las recomendaciones, incluida la teoría. Las explicaciones para la sección postfix citada anteriormente son aportadas por mí (y revisadas por muchos otros).