Tabla de Contenidos

Seguridad en el servidor de correos

Autenticacion SMTP

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:

editor /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 a lo mejor 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 contenido de su smtpd_recipient_restrictions, la cuestión es que estas dos deben estar de últimas, 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 “-”

Ahora creamos el directorio para saslauthd. Mucho ojo, 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 reiniciar postfix.

/etc/init.d/postfix restart

Anti suplantacion de Identidad

Si eres usaurio de Debian te salvaste.

aptitude install postfix-pcre

Con eso tendremos la extensión de perl para postfix, ahora podemos crear ficheros con expresiones regulares de perl. Ahora le agregamos esto al main.cf

smtpd_sender_login_maps = pcre:${config_directory}/sender_login.pcre

…y conjuramos este hechizo. En el pertinente archivo /etc/postfix/sender_login.pcre le ponemos esto:

/^(.*)@tudominio\.tld$/ $1

Entonces es cuando viene a jugar la sentencia que ya habiamos visto.

smtpd_recipient_restrictions =
     [...]
     reject_sender_login_mismatch,
     permit_sasl_authenticated

OJO, debe ir antes de permit. Ya solo faltaría reinicar postfix.