Configuración básica de seguridad
Antes de ver las medidas de seguridad avanzadas, debemos asegurarnos de que la configuración básica es correcta. Esto incluye restringir el acceso al servidor Postfix. En el archivo /etc/postfix/main.cf
debe añadir o ajustar las siguientes líneas:
inet_interfaces = sólo loopback mynetworks = 127.0.0.0/8 [::1]/128
Estos ajustes restringen el acceso al host local y evitan que el servidor sea utilizado indebidamente como un relé abierto. Un relé abierto puede ser utilizado por spammers para enviar correos electrónicos no deseados, lo que puede dañar gravemente la reputación de su servidor. Por lo tanto, es crucial llevar a cabo esta protección básica.
Activar el cifrado TLS
El uso de TLS (Transport Layer Security) es esencial para garantizar la confidencialidad de la comunicación por correo electrónico. Añada las siguientes líneas al archivo main.cf
-archivo:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level = may smtp_tls_security_level = may
Estos ajustes activan TLS para las conexiones entrantes y salientes. Asegúrese de utilizar certificados SSL válidos, idealmente de una autoridad de certificación (CA) de confianza. Un TLS correctamente implementado protege sus correos electrónicos de la interceptación y manipulación durante la transmisión. Puede encontrar más información sobre la configuración de TLS en la [documentación oficial de Postfix](https://www.postfix.org/TLS_README.html).
Configurar la autenticación SASL
La capa de autenticación y seguridad simple (SASL) proporciona una capa adicional de seguridad. Añada estas líneas al archivo main.cf
añadido:
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname
Esta configuración asume que está utilizando Dovecot como proveedor SASL. Ajuste la configuración en consecuencia si utiliza un proveedor diferente. La autenticación SASL impide que usuarios no autorizados envíen correos electrónicos a través de su servidor, lo que aumenta significativamente la seguridad.
Protección contra ataques de denegación de servicio
Para proteger tu servidor de sobrecargas, puedes establecer límites de conexión. Añada estas líneas al archivo main.cf
añadido:
smtpd_client_connection_rate_limit = 50 smtpd_client_message_rate_limit = 100 anvil_rate_time_unit = 60s
Estos ajustes limitan el número de conexiones y mensajes que un cliente puede enviar por minuto. Limitando esto, puede evitar que su servidor se vea sobrecargado por peticiones masivas o correos spam. Este es un paso importante para garantizar la disponibilidad de su servidor de correo.
Aplicar restricciones HELO/EHLO
Muchos remitentes de spam utilizan nombres de host HELO/EHLO no válidos o falsificados. Puede bloquear este tipo de conexiones con la siguiente configuración:
smtpd_helo_required = sí smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname
Estas reglas requieren un nombre de host HELO/EHLO válido y rechazan conexiones con nombres de dominio no válidos o incompletamente cualificados. Esto dificulta a los spammers el envío de correos electrónicos falsos, ya que deben proporcionar información HELO/EHLO correcta.
Introducir restricciones a los transmisores
Para evitar el uso indebido de su servidor, puede establecer restricciones para los remitentes:
smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining
Estas reglas rechazan los correos electrónicos de direcciones de remitentes incompletos o dominios de remitentes desconocidos. Esto reduce la probabilidad de que su servidor sea utilizado para spam o phishing y, al mismo tiempo, mejora la calidad general de los correos electrónicos recibidos.
Configurar las restricciones de destinatarios
De forma similar a las restricciones para los remitentes, también puede definir reglas para los destinatarios:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain
Estos ajustes evitan que su servidor sea utilizado indebidamente como relé para destinos no autorizados y rechazan correos electrónicos a direcciones de destinatarios no válidas. Esto aumenta aún más la seguridad de su servidor y, al mismo tiempo, garantiza la integridad de la comunicación por correo electrónico.
Implementar listas grises
Las listas grises son un método eficaz para reducir el spam. En primer lugar, instale el paquete Postgrey:
sudo apt install postgrey
A continuación, añada la siguiente línea al archivo main.cf
añadido:
smtpd_recipient_restrictions = ... (configuración existente) check_policy_service unix:private/postgrey
Esta configuración reenvía primero los correos entrantes al servicio Postgrey, que genera rechazos temporales para remitentes desconocidos. Los servidores de correo electrónico que envían correos legítimos reintentan la entrega después de un retraso, eliminando eficazmente a los remitentes de spam que a menudo sólo intentan enviar una vez.
Activar la comprobación SPF
El Sender Policy Framework (SPF) ayuda a evitar la suplantación de identidad en el correo electrónico. En primer lugar, instale el paquete necesario:
sudo apt install postfix-policyd-spf-python
A continuación, añada estas líneas al archivo main.cf
añadido:
policyd-spf_time_limit = 3600s smtpd_recipient_restrictions = ... (configuración existente) check_policy_service unix:private/policyd-spf
Esta configuración activa la comprobación SPF para los correos electrónicos entrantes. SPF comprueba si el correo electrónico se envió desde un servidor autorizado para el dominio especificado, lo que ayuda a evitar la suplantación de identidad y a aumentar la credibilidad de su comunicación por correo electrónico.
Implantar la firma DKIM
DomainKeys Identified Mail (DKIM) añade una firma digital a los correos electrónicos salientes. Primero instale OpenDKIM:
sudo apt install opendkim opendkim-tools
A continuación, configure OpenDKIM y añada estas líneas al archivo main.cf
añadido:
milter_protocolo = 2 milter_default_action = aceptar smtpd_milters = unix:/var/run/opendkim/opendkim.sock non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
Estos ajustes activan la firma DKIM para los correos electrónicos salientes. DKIM aumenta la seguridad al garantizar que los correos electrónicos no se han modificado de forma inadvertida y refuerza la confianza en la autenticidad de los mensajes.
Establecer directrices DMARC
Domain-based Message Authentication, Reporting and Conformance (DMARC) se basa en SPF y DKIM. Añada una entrada DNS DMARC para su dominio e instale OpenDMARC:
sudo apt install opendmarc
Configure OpenDMARC y añada esta línea al archivo main.cf
añadido:
smtpd_milters = ... (configuración existente), inet:localhost:8893
Esta configuración habilita la comprobación DMARC para los correos electrónicos entrantes. DMARC permite a los propietarios de dominios establecer políticas sobre cómo los servidores receptores deben gestionar las comprobaciones SPF o DKIM fallidas y proporciona informes detallados sobre la autenticación del correo electrónico.
Actualizaciones y controles periódicos
La seguridad es un proceso continuo. Asegúrese de actualizar su sistema Postfix con regularidad:
sudo apt update sudo apt upgrade
Supervise también los registros de Postfix en busca de actividad sospechosa:
tail -f /var/log/mail.log
Las actualizaciones periódicas cierran las brechas de seguridad conocidas y mejoran la estabilidad de su servidor de correo. La supervisión continua de los registros le permite reconocer actividades inusuales en una fase temprana y reaccionar rápidamente ante ellas.
Medidas de seguridad adicionales
Además de las medidas de seguridad básicas y avanzadas, hay pasos adicionales que puede seguir para aumentar aún más la seguridad de su servidor Postfix:
Configuración del cortafuegos
Asegúrate de que tu cortafuegos sólo ha abierto los puertos necesarios para el servidor de correo. Normalmente, son el puerto 25 (SMTP), el puerto 587 (envío) y el puerto 993 (IMAP vía SSL). Utiliza herramientas como ufw
o iptables
para controlar el acceso a estos puertos y bloquear conexiones no deseadas.
Sistemas de detección de intrusos (IDS)
Implantar un sistema de detección de intrusos como Fail2Ban
para detectar repetidos intentos fallidos de inicio de sesión y bloquear automáticamente las direcciones IP que muestren un comportamiento sospechoso. Esto reduce el riesgo de ataques de fuerza bruta a su servidor de correo.
Copias de seguridad y restauración
Realice copias de seguridad periódicas de sus archivos de configuración y datos importantes. En caso de incidente de seguridad, podrás restaurar rápidamente y minimizar las interrupciones del servicio. Almacena las copias de seguridad en un lugar seguro y comprueba periódicamente la integridad de los datos de copia de seguridad.
Gestión de usuarios y derechos
Gestione con cuidado las cuentas de usuario y asígneles sólo los derechos necesarios. Utilice contraseñas seguras y considere la posibilidad de implantar la autenticación multifactor (MFA) para proteger aún más el acceso al servidor de correo.
Buenas prácticas para el mantenimiento de Postfix
El mantenimiento continuo de su servidor Postfix es fundamental para mantener la seguridad y el rendimiento. Estas son algunas de las mejores prácticas:
- Compruebe periódicamente la configuración: Compruebe regularmente su
main.cf
y otros archivos de configuración para garantizar que todas las medidas de seguridad se aplican correctamente. - Análisis de registros: Utilice herramientas que analicen automáticamente sus registros de correo para identificar rápidamente anomalías y posibles incidentes de seguridad.
- Actualizaciones de software: Actualice regularmente no sólo Postfix, sino también todos los componentes dependientes como Dovecot, OpenDKIM y OpenDMARC.
- Vigilancia y alertas: Implemente un sistema de supervisión que le notifique actividades inusuales o mensajes de error.
Evitar errores comunes en la configuración de Postfix
Al configurar Postfix para maximizar la seguridad, hay errores comunes que deben evitarse:
- Relé abierto: Asegúrese de que su servidor no está configurado como retransmisión abierta configurando la opción
interfaces_inet
ymisredes
-configuración correcta. - Certificados TLS no válidos: Utilice siempre certificados SSL válidos y actualizados para utilizar eficazmente el cifrado TLS.
- Falta autenticación: Active la autenticación SASL para evitar el uso indebido de su servidor.
- Límites de tarifa insuficientes: Establezca límites de conexión adecuados para evitar ataques de denegación de servicio.
- Falta SPF/DKIM/DMARC: Aplique métodos exhaustivos de autenticación del correo electrónico para garantizar la integridad y autenticidad de sus mensajes.
Resumen
Configurar Postfix para una máxima seguridad requiere una planificación cuidadosa y un mantenimiento regular. Implementando las medidas descritas en este artículo, puede mejorar significativamente la seguridad de su servidor de correo electrónico. Recuerde que la seguridad es un proceso continuo. Manténgase al día sobre las nuevas amenazas y las mejores prácticas para mantener su servidor Postfix protegido. Aprovecha los recursos y comunidades disponibles para educarte y mantenerte a la vanguardia de la tecnología.
Para más información e instrucciones detalladas, visite la [documentación oficial de Postfix](https://www.postfix.org/documentation.html) y otras fuentes de confianza en el campo de la seguridad del correo electrónico.