9
CONFIGURACION DE SASL (saslauthd) Juan Camilo Rivera Al. riveraj94 2022

Manual de Configuracion de SASL

Embed Size (px)

Citation preview

Page 1: Manual de Configuracion de SASL

Juan Camilo Rivera Al.

2023

Page 2: Manual de Configuracion de SASL

2

2023

- 2

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)

Page 3: Manual de Configuracion de SASL

3

2023

- 3

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:

Page 4: Manual de Configuracion de SASL

4

2023

- 4

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.

Page 5: Manual de Configuracion de SASL

5

2023

- 5

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 = dovecotTipo 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/authInformación de la implementación especifica que el servidor Postfix pasara a Dovecot (a través del plug-in SASL)

smtpd_sasl_security_options = noanonymousEste 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_destinationLas 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).

Page 6: Manual de Configuracion de SASL

6

2023

- 6

8. Por último debemos reiniciar los demonios saslauthd y postfix para que los cambios tengan efecto: