Cómo instalar y configurar Postfix

Las implementaciones de SMTP más utilizadas en la mayoría de las distribuciones de Linux son Sendmail y Postfix. Sufijo es un agente de transferencia de correo de código abierto que se desarrolló originalmente como una alternativa a Sendmail y generalmente se configura como el servidor de correo predeterminado.
Instalación de Postfix
Antes de comenzar la instalación, lo primero de todo. Un buen hábito es verificar y ver si el software ya está instalado en el servidor. Siempre vale la pena comprobar si hay algo antes de ponerse a trabajar.
Para verificar las distribuciones basadas en RPM, use este comando:
$ rpm -qa | grep postfix
Si el comando anterior muestra que el RPM no está instalado, puede instalar Postfix RPM con lo siguiente (en yum
distribuciones basadas en -):
$ yum install -y postfix
Una vez que se instala Postfix, puede iniciar el servicio y habilitarlo para asegurarse de que se inicie después de reiniciar:
$ systemctl start postfix
$ systemctl enable postfix
Configuración de postfijo
Una vez instalado Postfix, puedes empezar a configurar el servicio a tu gusto. Todas las opciones que necesitas para el servicio las puedes encontrar en /etc/postfix
. El archivo principal de configuración del servicio de Postfix se puede encontrar en /etc/postfix/main.cf
. En el archivo de configuración puedes agregar muchas opciones, algunas más comunes que otras. Repasemos algunos de los que puede ver más al configurar el servicio y cuando necesite solucionarlo:
myhostname
declara el nombre de host del servidor de correo. Los nombres de host normalmente contienen prefijos, como este:
myhostname = mail.sinisterriot.com
mydomain
declara el dominio que realmente maneja el correo, así:
mydomain = sinisterriot.com
mail_spool_directory
declara el directorio donde se colocan los archivos del buzón, de la siguiente manera:
mail_spool_directory = /var/mail
mynetworks
declara una lista de servidores SMTP remotos confiables que pueden retransmitir a través del servidor, así:
mynetworks = 127.0.0.0/8, 168.100.189.0/28
La lista proporcionada con mynetworks
solo debe contener direcciones IP de red local o patrones de red/máscara de red separados por comas o espacios. Es importante usar solo direcciones de red local para evitar que usuarios no autorizados usen su servidor de correo para actividades maliciosas, lo que hará que su servidor y direcciones se incluyan en la lista negra.
Sufijo de prueba
Antes de poner algo en producción, probarlo en un entorno de desarrollo siempre es una buena idea. Este proceso tiene el mismo concepto: una vez que haya configurado el servidor de correo, pruébelo para asegurarse de que funciona.
Primero, recomiendo probar si puede enviar un correo electrónico a un destinatario local. Si tiene éxito, puede cambiar a un destinatario remoto. Prefiero usar el comando telnet para probar mi servidor de correo:
$ telnet mail.sinisterriot.com 25
Añade el HELO
Comando para decirle al servidor de qué dominio eres:
HELO sinisterriot.com
Luego viene el remitente. Este ID se puede agregar con el MAIL FROM
pedido:
MAIL FROM: [email protected]
Esta entrada es seguida por el destinatario y puede agregar más de uno usando el RCPT TO
Comando varias veces:
RCPT TO: [email protected]
Finalmente, podemos agregar el contenido del mensaje. Para acceder al modo de contenido, agregue el prefijo DATA
en una línea separada, seguido de Subject
línea y el cuerpo del mensaje. Aquí un ejemplo :
DATA
Subject: This is a test message
Hello,
This is a test message
.
Para completar el cuerpo del mensaje y cerrarlo, debe agregar un solo punto (.) o un punto en una línea. Una vez que se complete este proceso, el servidor intentará enviar el correo electrónico con la información que proporcionó. La respuesta del código le dirá si el correo electrónico fue exitoso o no. Una vez hecho esto, utilice el quit
Comando para cerrar la ventana de transmisión.
De cualquier manera, verifique los registros de correo en busca de errores. están ubicados en /var/log/maillog
por defecto, pero esta ubicación se puede cambiar a otra ubicación. Como administrador del sistema, comprobar los registros de errores es un buen hábito. Esta práctica es excelente para la resolución de problemas y nos permite identificar y resolver un problema más rápidamente. Descifrar los registros de correo también es una parte importante del trabajo administrativo, porque cada parte del registro nos permite saber qué es importante. En mis últimos años, conocer estas partes me ayudó a escribir guiones para solicitudes específicas mientras solo necesitaba escribir u omitir partes de los registros de correo.
Postfijo seguro
Asegurar sus servicios es tan importante como configurarlos. Es más seguro transferir datos a través de una conexión segura que a través de una conexión no protegida. A continuación, veremos cómo proteger nuestro servidor de correo recién configurado. Puede hacerlo generando una sesión SSL sobre Transport Layer Security (TLS) para el servidor SMTP.
Primero, debe generar la clave privada y la Solicitud de firma de certificado (CSR). Puede hacerlo a través de la openssl
pedido:
$ openssl req -nodes -newkey rsa:2048 -keyout privatekey.key -out mail.csr
A continuación, genere una solicitud de firma y cópiela en el /etc/postfix
directorio telefónico:
$ openssl x509 -req -days 365 -in mail.csr -signkey privatekey.key -out secure.crt
$ cp {privatekey.key,secure.crt} /etc/postfix
Esta secuencia entrega un certificado firmado al servidor de correo, también conocido como certificado de autoridad certificadora (CA). Esta práctica significa que la autoridad de certificación debe confiar en el firmante del certificado para asegurar la clave privada y transmitir los datos a través de Internet. En el otro tipo de certificado, un certificado autofirmado, la autoridad de certificación no confía en el firmante del certificado, lo que deja la información vulnerable al robo y susceptible de compromiso. Siempre es mejor ir con un certificado firmado.
Una vez que se completa este proceso, puede agregar opciones de TLS al archivo de configuración de Postfix:
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/secure.crt
smtpd_tls_key_file = /etc/postfix/privatekey.key
smtp_tls_security_level = may
Luego reinicie el servicio para aplicar las nuevas opciones:
$ systemctl restart postfix
Ahora tiene un servidor de correo seguro y funcional.
Artículos de interés