2. CONFIGURACION DE SASL (saslauthd) - riveraj94 2
2
2014
La autentificación se hará a través del demonio saslauthd, por
ende se estará limitado a la trasmisión de contraseñas en
texto plano y a la autentificación vía login, pero podemos usar
PAM.
Como usaremos PAM (Pluggable Authentication Modules) el
cual no es en sí una Base de Datos de Contraseñas, sino que su
configuración le indica al sistema cómo realizar la
autentificación (proporciona una interfaz entre las
aplicaciones de usuario y los diferentes métodos de
autentificación), PAM es el mecanismo por defecto para la
autentificación en Linux (Normalmente, implica el uso del
módulo pam_unix.so, el cual autentifica al usuario con el
archivo de contraseñas shadow). Esto implica que cada
persona que reciba correo por este servidor debe tener una
cuanta de usuario, debido a que usaremos PAM, como nuestro
método de autentificación SMTP.
Para soportar usuarios que no necesita acceder al archivo de
contraseñas del sistema (shadow), alguna de las opciones son:
LDAP, Mysql , sasldb, Kerberos, etc., en estos casos el demonio
saslauthd ya no se requerirá, por que SASL ya no necesita
acceder al archivo de contraseñas del sistema (shadow).
De los métodos antes sitiados LDAP es el más robusto y
escalable, pero tiene la limitación de que usa contraseñas en
texto plano (al igual que PAM), pero para solucionar este
problema, generalmente se usa TLS para encriptar las
contraseñas y trasmitirlas desde el cliente al servidor.
CONFIGURACION DE SASL (saslauthd)
3. CONFIGURACION DE SASL (saslauthd) - riveraj94 3
3
2014
1. Primero comprueba que el servidor soporte la autentificación vía
PAM:
2. Una vez comprobado de que se tiene soporte para PAM, detengo el
servicio, elijo a PAM como mi método de validación y lo inicio
nuevamente:
3. Verifico que tomo a PAM como mi método de validación, por que el
archivo /etc/sysconfig/saslauthd tendrá la variable MECH con el
valor pam:
4. CONFIGURACION DE SASL (saslauthd) - riveraj94 4
4
2014
4. Como especificamos que para verificar las credenciales del usuario,
lo haremos a través del demonio saslauthd, debido a que usamos PAM
y los procesos sin privilegios (como Postfix) no tienen acceso a los
archivos de contraseñas, necesitamos indicarle al demonio saslauthd
que el debe manejar las peticiones por Postfix, editando el archivo
/usr/lib/sasl2/smtpd.conf y configurarlo de la siguiente manera:
Debido a que usaremos PAM, como nuestro método de autentificación
SMTP, sólo los mecanismos de autentificación en "texto plano" se
pueden utilizar (si decide usar el meto de autentificación Mysql o
sasldb cambie saslauthd por auxprop) esto se especifica en la linea
(mech_list: plain login)
5. Reiniciamos el demonio saslauthd para que los cambios tengan
efecto:
6. Prueba de funcionamiento de saslauthd
testsaslauthd -f /var/run/saslauthd/mux -u usuario -p contraseña -s smtp
Si esto no devuelve:
0: OK "Success."
Quiera decir que esta correctamente configurado, en cualquier otro caso debemos
revisar la configuración.
5. CONFIGURACION DE SASL (saslauthd) - riveraj94 5
5
2014
7. Para permitir a un cliente autentificar al servidor (y viceversa), emplearemos
SASL, bajo el protocolo ESMTP (el cual es una Extensión del Protocolo SMTP –
Protocolo Simple de Trasporte de Correo). Con esto nos aseguramos que solo los
usuarios con las credenciales adecuadas pueden hacer uso de nuestro servidor
SMT. Para ello añadidos al final del archivo /etc/postfix/main.cf lo siguiente:
smtpd_sasl_auth_enable = yes
Habilita la autentificación SMTP en el Servidor
smtpd_sasl_type = dovecot
Tipo de plug-in que el servidor Postfix SMTP debe utilizar para la autenticación
(Para averiguar los plug- in disponible se puede ejecutar: postconf -a). En este caso
le estamos diciendo que Postfix le pregunte al servidor Dovecot para verificar el
nombre de usuario y la contraseña
smtpd_sasl_path = /var/spool/postfix/private/auth
Información de la implementación especifica que el servidor Postfix pasara a
Dovecot (a través del plug-in SASL)
smtpd_sasl_security_options = noanonymous
Este parámetro permite controlar los métodos de autentificación (que se asestaran
o no), la lista de funciones disponibles depende de la implementación del servidor
SASL que se selecciona con smtpd_sasl_type. En este caso se deshabilita los
métodos de autenticación que permiten la autenticación anónima
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination
Las restricciones de acceso que el servidor SMTP Postfix aplica, en el contexto del
comando RCPT TO. En este caso, Postfix acepta un mensaje sólo si coincide con uno
de los siguientes criterios, (aplicados en el orden tal como se especifican): Si el
usuario está autentificado (permit_sasl_authenticated), o si el usuario está en la red
local (permit_mynetworks), o si el mensaje se destina a un usuario de un dominio
que es local o virtual en este nodo (reject_unauth_destination).
6. CONFIGURACION DE SASL (saslauthd) - riveraj94 6
6
2014
8. Por último debemos reiniciar los demonios saslauthd y postfix para que los
cambios tengan efecto: