viernes, 27 de enero de 2012

postfix con sasl

Hoy en día no concibo un servidor de correo con postfix y sin autenticación... es como un zapatero sin un barco. El otro día un paisano me pregunta que como configurar sus postfix con autenticación SMTP. En mi didiwiki tengo los pasos que di durante la instalación asi que abusaré de mi memoria para ver como armo el muñeco.


Primero y principioso, instalar los paquetes necesarios. En debian todo es muy fácil.


aptitude install postfix-tls libsasl2-modules sasl2-bin


Ahora editamos el fichero de configuración:


mc -e /etc/default/saslauthd


 # arranque autamatico
 START=yes
 # "shadow" or "sasldb", like this:
 MECHANISMS="shadow"
 PARAMS="-m /var/spool/postfix/var/run/saslauthd/"
 PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"


Ahora le decimos a smptd que funcione de una forma diferente. En /etc/postfix/sasl/smtpd.conf ponemos esto otro:


 saslauthd_path: /var/run/saslauthd/mux
 pwcheck_method: saslauthd
 mech_list: plain login


Si te pones de suerte alomejor puedes quitar plain, yo tuve esa suerte pero se de gente que no. Ahora toca decirle a postfix que pida nombre de usuario y contraseña.


#sasl
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtp_sasl_auth_enable = no
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination


Ojo, no tiene que remplazar el cotenido de su "smtpd_recipient_restrictions" la cuestión es que estas dos deben estar de última, póngale encima todo lo que se le ocurra. Ya que estamos asegurando, pongamos a postfix a funcionar como chroot. Dicen que eso se hace así. En /etc/postfix/master.cnf debemos tener algo como esto:


smtp inet n - - - - smtpd


Cámbielo por esto:


smtp inet n - y - - smtpd


Note una "y" en lugar del segundo "-"


Ahor creamos el directorio para saslauthd. Mucho ojos, hay que hacer un paso raro con los permisos.


mkdir -p /var/spool/postfix/var/run/saslauthd
chown root.sasl -R /var/spool/postfix/var/
dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd


Para que postfix y sasl se entiendan, postfix debe pertencer al grupo sasl


adduser postfix sasl


Bueno solo faltaría reinicera postfix.


/etc/init.d/postfix restart

4 comentarios:

  1. OJO! el fichero /etc/default/saslauthd de debian 6 no hace falta acsi ni tocarlo, solo poner START=yes y MECHANISMS="shadow"

    ResponderEliminar
  2. http://www.postfix.org/SASL_README.html

    ResponderEliminar
  3. http://www.postfix.org/postconf.5.html#smtpd_sasl_exceptions_networks

    ResponderEliminar

Si vas a decir groserias, aclara el significado para los que no somos de tu mismo país.