[Postfix espanol] Autentificacion con SASL

Alfredo Sanjuán alfre en IBD.es
Mar Mar 5 22:23:40 CET 2002


>         Alguien me podría enseñar una configuración tipo de master.cf
>         y main.cf que esté funcionando para la autenticación de
>         usuarios con Cyrus Sasl, el tema es que lo único que quiero
>         que haga, es que me pida la autenticación de los usuarios para
>         pedir correo (que todavía no he conseguido que utilice este
>         procedimiento) y que para los password, utilice los de
>         usuarios de linux (que son los mismos que utiliza el servidor
>         pop3).


	No sé qué distribución de Linux usas para así poder ser más concreto.
Sería interesante que nos dieras más detalles.

	En cualquier caso es posible autentificar a los usuarios normales del
sistema mediante PAM, o bien contra el /etc/shadow si es que así tienes
configurado el equipo. Hay otras posibilidades que están discutidas en
http://www.thecabal.org/~devin/postfix/smtp-auth.txt

	Necesitas crear un archivo smtpd.conf, para colocarlo en
/usr/lib/sasl/smtpd.conf (el directorio puede variar dependiendo de qué
distribución gastes) con el siguiente contenido:

pwcheck_method: pam
auto_transition: false

	o sino (si quieres tirar contra /etc/shadow)

pwcheck_method: shadow

	Si usas PAM, en el directorio /etc/pam.d debes crear un archivo llamado
smtp con el contenido:

#%PAM-1.0
auth       required     /lib/security/pam_stack.so service=system-auth
account    required     /lib/security/pam_stack.so service=system-auth

	Si usas SHADOW, es necesario tocar los permisos del /etc/shadow, lo
cual tiene ciertas implicaciones de seguridad. Si eso no es problema...

	En el /etc/group tiene que aparecer la entrada:

shadow:x:76:cyrus,postfix

	y a continuación hacer:

chgrp shadow /etc/shadow
chmod 440 /etc/shadow

	En el archivo /etc/postfix/main.cf necesitas la entrada:

smtpd_sasl_auth_enable = yes

	Tienes que tocar las restricciones para incluir la autentificación
sasl, esto depende del comportamiento que quieras obtener de postfix
pero podría ser algo así, la entrada relevante es
permit_sasl_authenticated:

smtpd_recipient_restrictions = permit_mynetworks,
                               reject_unknown_sender_domain, 
                               reject_unknown_recipient_domain,
                               permit_sasl_authenticated,
                               reject_unauth_destination,
                               reject_unauth_pipelining,
                               reject_invalid_hostname,
                               reject_non_fqdn_hostname,
                               reject_maps_rbl,
                               permit

	Otra cosa sería que exigieras que todos los usuarios deben de
autentificarse o que solo quieres aceptar correo autentificado incluso
para correo entrante. Ese sería otro tema.

	Si usas PAM y corres el postfix 'chrooted' es necesario copiar unas
cuantas librerias al directorio chroot de Postfix, de manera que el
resultado fuera:

Origen                    Destino
===============================================
/etc/pam.d/*             /var/spool/postfix/etc/pam.d/
/lib/libdb*              /var/spool/postfix/lib/
/lib/libpwdb*            /var/spool/postfix/lib/
/lib/security/*          /var/spool/postfix/lib/security/
/usr/lib/libcrack*       /var/spool/postfix/usr/lib/

	Probablemente de esta manera se copien librerias y archivos que no son
realmente necesarios, pero el caso es que lo necesario sí que estará en
el lugar adecuado. Se puede hilar más fino y determinar qué archivos son
los que necesitamos imperiosamente... Para la autentificación SHADOW, es
posible que sea necesario copiar menos archivos, pero haciendo lo
anterior también te cubres.

	En cualquier caso, acuerdate de mantener la sincronía de estos
directorios cuando hagas algún upgrade de paquetes relacionados (pam,
openssl, crypto), para ello se puede modificar el script
/etc/postfix/chroot-setup-LINUX2 para que incluya nuestras
modificaciones.

	Si no corres el Postfix 'chrooted' esto último no es necesario claro.

	Todo esto está basado en una instalación típica en un redhat 7.2 con
los srpm de Simon, recreando el paquete una vez modificado el .spec para
incluir soporte SSL.

	Ya está, haces un restart y el asunto debería de funcionar (o no). Para
comprobarlo es necesario dialogar con el servidor smtp con una sesión
telnet. El documento que te señalo al principio tiene una descripción
detallada de cómo hacerlo.

	Cuentanos los resultados.

--alfredo

-
Para quitarte de la lista enviar la linea "unsubscribe postfix-espanol" en
el cuerpo de un mensaje a majordomo en ea4els.ampr.org



Más información sobre la lista de distribución Postfix-es