===== 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.