Agregue SASL a su servidor Postfix

Hace algún tiempo hice una serie sobre el servidor de correo electrónico Postfix aquí en Ghacks (consulte el contenido de Postfix en Ghacks para obtener más información). Espero que haya encontrado este maravilloso servidor de correo tan fácil de configurar y mantener como yo. Pero es posible que haya notado un pequeño problema al usar su servidor smtp sin conexión. ¿Porqué es eso? Esto se debe a que, de manera predeterminada, Postfix no será un verdadero host confiable, y cualquier red fuera de la suya es una red confiable. Esto se hace para que otros no puedan usar su servidor SMTP como repetidor de spam. Entonces, ¿cómo configurar este servidor Postfix para que pueda conectarse desde el mundo exterior? Es posible que tenga usuarios que necesiten hacer esto.

Si tiene usuarios que necesitan acceso a su servidor SMTP desde fuera de su red local, debe habilitar SASL (Nivel de seguridad y autenticación fácil). En este artículo te mostraré cómo hacerlo.

suposiciones

Naturalmente, este artículo asume que ya tiene un servidor Postfix en funcionamiento que envía y recibe correos electrónicos al mismo tiempo. Este artículo describirá el proceso como vinculado a un servidor CentOS 5 (lo que lo convierte en un excelente servidor de correo para una empresa de cualquier tamaño). También asumo que tiene acceso de root a este servidor (ya que todo lo que se haga en este artículo necesitará privilegios de administrador).

El primer paso

Lo primero que tienes que hacer es añadir unas pocas líneas. /etc/postfix/main.cf expediente. Lo que necesitas es lo siguiente (agrégalo al final del archivo):

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous

El siguiente paso es agregar permiso_sasl_autenticadosmtpd_recipient_restrictions sección del mismo archivo. si no lo haces smtpd_recipient_restrictions sección, solo crea una sección como esta:

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination

el segundo paso

Figura 1

El siguiente paso es la configuración. autorización predeterminada en la sección de procesos de autenticación (sobre la línea 778) /etc/dovecot.conf. Es realmente difícil, solo porque esta sección palomar.conf el archivo está muy anotado y ya contiene algunas de las líneas que verá en la Figura 1 y a continuación. El código de la Figura 1 da una idea más sencilla de qué agregar palomar.conf expediente. Texto que se puede copiar / pegar a continuación:

auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
user = root
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}

Ahora es el momento de reiniciar Postfix con los comandos:
service dovecot restart
postfix reload

Pruebas

Es hora de probar su configuración. Para hacer esto, deberá conectarse a través de telnet a su servidor de correo a través del puerto 25 de esta manera:

telnet ADDRESS_OF_SERVER 25

Donde DIRECCIÓN_DE_SERVIDOR es la dirección real de su servidor de correo. Ahora necesita generar un nombre de usuario/contraseña Base64 para hacer esto. Esto es posible con Perl así:
perl -MMIME::Base64 -e 'print encode_base64("00USERNAME00PASSWORD");'

Puede insertar la combinación real de nombre de usuario y contraseña que existe en su servidor, si lo desea, en el comando anterior (donde ve NOMBRE DE USUARIO y CONTRASEÑA).

Esto imprime una cadena de caracteres para usar en las pruebas. Las pruebas se verán así:
telnet ADDRESS_OF_SERVER 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
EHLO example.com
250-mail.example.com
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN STRING_OF_CHARACTERS
235 2.0.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.

Donde todo está dentro audaz esto es lo que necesita ingresar, y STRING_OF_CHARACTERS es la cadena generada por el comando Perl anterior.

Observaciones finales

Si todo va bien, deberías haber visto Autenticación exitosa en tu prueba. Felicitaciones, ahora puede acceder al servidor SMTP fuera de su LAN.

Artículos de interés

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información