Está en la página 1de 2

20/11/18 tutoriales:postfix_dovecot_squirrelmail_sasl - Wiki del GUTL

Postfix, Dovecot Squirrelmail y sasl para correo seguro


Cuando instalamos postfix o migramos servidores de windows para linux notamos que la mejoria es enorme pero muchas veces no nos damos cuenta que siempre quedan algunos
huecos de seguridad abiertos. Uno de ellos son los puertos smtp sin autenticar, o sea, que haciendole telnet a los servidores de correo se pueden enviar correos anonimos.

A continuacion se explica como aunteticar el smtp, aclarando las condiciones siguientes:

En el momento del tutorial se requería instalado debian etch 4.0, postfix, dovecot, squirrelmail y usuarios Unix con autenticacion PAM. Hay que adaptarlo para LDAP u otras
integraciones.
aptitude install postfix-tls sasl2-bin libsasl2 libsasl2-modules

ahora editamos el fichero


/etc/postfix/main.cf

y añadimos las sgtes líneas preferentemente antes de las clases donde se define la salida nacional e internacional para los usuarios

PARA SEGURIDAD SASL


smtp_sasl_auth_enable = no
smtpd_helo_required = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
disable_vrfy_command = yes

y su usa politicas de salida nacional e internacional, estas deben quedar asi


smtpd_sender_restrictions =
...
permit_sasl_authenticated,
reject

smtpd_recipient_restrictions =
...
permit_sasl_authenticated,
reject
<code>

cuando pongo los tres puntos suspensivos en estas clases es porque suponemos que tenemos ya cosas creadas ahi, ellas e respetan y solo se les incluye el parametro que relaciono.

Crear el fichero <code>/etc/postfix/sasl/smtpd.conf

luego
touch /etc/postfix/sasl/smtpd.conf<code>

luego editamos ese fichero


<code>
mc -e /etc/postfix/sasl/smtpd.conf

y le pones dentro estas dos lineas


pwcheck_method: saslauthd
mech_list: plain login

editamos
/etc/default/saslauthd

borramos todo loque tiene dentro y ponemos estas lineas


START=yes
MECHANISMS="pam"
MECH_OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
THREADS=5
OPTIONS="-c"

Hacemos los sgte:


rm -r /var/run/saslauthd/
mkdir -p /var/spool/postfix/var/run/saslauthd
ln -s /var/spool/postfix/var/run/saslauthd /var/run
adduser postfix sasl

asegurese que en el main.cf del postfix no haya ninguna ip de la red local y que solo exista las ip de los servidores que te hacen smtp permitido

Ahora reiniciemos los servicios postfix y saslauth


/etc/init.d/postfix restart

/etc/init.d/saslauthd start

En el squirrelmail en el config.php busque y configure estos parametros de este modo


$pop_before_smtp = true;
$smtp_auth_mech = 'login';
$imap_auth_mech = 'login';

para chequear si el sasl esta trabajando y partiendo que el usuario es pepe y la contraseña es 123 ejecute esto en la consola de ese server
testsaslauthd -u pepe -p 123

si esta bien devolvera


0: OK "Success."

si esta mal devolvera esto otro


0: NO "authentication failed"

https://gutl.jovenclub.cu/wiki/doku.php?id=tutoriales:postfix_dovecot_squirrelmail_sasl 1/2
20/11/18 tutoriales:postfix_dovecot_squirrelmail_sasl - Wiki del GUTL
Para probar que haciendo telnet no se puede enviar correo pruebelo así
telnet localhost 25

luego ejecute esto


ehlo nombre del servidor

seguido de esto
mail from: usuario@dominio

luego
rcpt to: miusuario@midominio

si le da un mensaje como este


554 5.7.1 <usuario@dominio>: Relay access denied

entonces ya no tiene problema, si le deja enviar el correo, aún estas en un verdadero problema

otra cosa, borre el contenido del fichero dovecot.conf y póngale esto dentro
protocols = imap pop3
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:%h/Maildir
mail_extra_groups = mail
protocol imap {

protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}

auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
# Assuming the default Postfix $queue_directory setting
path = /var/spool/postfix/private/auth
mode = 0660
# Assuming the default Postfix user and group
user = postfix
group = postfix
}
}
user = root
}

dict {
}
plugin {
}

https://gutl.jovenclub.cu/wiki/doku.php?id=tutoriales:postfix_dovecot_squirrelmail_sasl 2/2

También podría gustarte