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