Você está na página 1de 3

Autentificacin de usuarios con sendmail en FreeBSD

v.2
Autor: Ernesto Lira
Fecha: 16/08/2004
Basado en articulo de Emilio Florido: liga
Introduccin
Actualmente Sendmail es uno de los servidores de correo mas robustos y usados en el mundo, por lo tanto es uno de los
mas propensos a ataques y mal uso por gente malintencionada o con fines de publicidad no deseada. Este artculo es con el
fin de ayudar a los administradores de sistemas a tener un Mail Server mas seguro.
El problema
Cuando envas correo desde un cliente de correo electrnico (Correo Saliente), normalmente no te pide autentificacin,
esto le permite a cualquier persona que use tu mismo servidor de correo para enviarlos en tu nombre, esto no es muy grato,
ya que a nadie le gusta que usen su nombre.
Que se cuenta aqu
Como aadir un sistema de autentificacin al Sendmail para que solo puedan enviar correo usuarios acreditados, utilizando
la libreria SASLv1 (Simple Autentification Security Layer version 1). Configuacin e instalacin paso a paso.
Cabe aclarar que este artculo es una recopilacin de informacin con el fin de aclarar dudas de la version de Emilio.
La configuracin de partida
En este caso vamos a utilizar la versin de Sendmail que viene por default en el sistema base de la RELEASE 10 del
FreeBSD, solo tenemos que retocar un archivo para que el sendmail se compile con SASLv1.
Vamos a editar el archivo /etc/default/make.conf con el editor de tu preferencia en mi caso concreto solo descomento las
siguientes lneas:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl
Despus nos disponemos a editar otro archivo, que es el de configuracin del Sendmail, un archivo mc. Normalmente
como buenos humanos nos pasa que se nos olvida cual es el archivo que hemos usado para configurar el Sendmail, por lo
tanto lo definimos tambin en el /etc/defaul/make.conf de la siguiente manera:
SENDMAIL_MC=/etc/mail/sendmail.mc
Como vemos en la instruccin anterior el archivo de configuracin que tenemos que editar del Sendmail es el
/etc/mail/sendmail.mc, por lo tanto aadimos las siguientes lneas con el editor de nuestra preferencia:
define(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5')dnl
Inmediatamente despus de que hicimos algunos ajustes en los archivos de configuracin del Sendmail procedemos a
regenerar las configuraciones:
# make all
# make install
# make restart
Debemos de comprobar hasta este paso si todo ha salido como esperabamos, tecleamos el siguiente comando para
asegurarnos que el SASLv1 esta habilitado para el sendmail:
# sendmail -d0.1 -bv root | grep SASL
Te debe de mostrar una lnea en la cal veas SASL. NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS
PIPELINING SASL
Otros ficheros que retocar
Teniendo ya todo configurado debemos de modificar por ltimo un archivo que es importante, ya que sino nuestro servidor
va a ignorar la autentificacin de correo saliente, este archivo es el /etc/mail/access.db,este archivo se genera a partir del
archivo /etc/mail/access, en este debemos de tenerlo de la siguiente manera, para ser ms exactos no debe tener RELAY
ningn dominio que queramos que autentifique:
# Mail relay access control list. Default is to reject mail unless the
# destination is local, or listed in /etc/mail/local-host-names
#
cyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
Teniendo el archivo al menos en mi caso sin ningn RELAY, generamos el /etc/mail/access.db de la siguiente manera:
# makemap hash /etc/mail/access < /etc/mail/access
Con esto tenemos todo configurado y listo para funcionar, lo que nos queda es tratar de enviar correo, ya sea con outlook o
evolution, nos debe de marcar error pidiendo contrasea, entonces debes de activar en las propiedades de correo saliente la
opcin Este servidor requiere autentificacin
An faltan un par de ficheros ms donde "retocar". Uno es /etc/pam.conf y en l debes aadir lo siguiente:
smtp auth required pam_unix.so try_first_pass
smtp account required pam_unix.so try_first_pass
y el otro es /usr/local/lib/sasl/Sendmail.conf (ojo! la S en mayscula) y basta con que tenga una nica lnea como esta:
pwcheck_method: pam
Agradecimientos
Quiero agradecer el apoyo de Jon Fullmer para resolver unas dudas y aqu les pongo su link Jon Fullmer
Tambin es muy recomendable la pgina http://www.sendmail.org/~ca/email/auth.htm
Cualquier duda o comentario acerca de este artculo por favor envenla a: Ernesto Lira

Você também pode gostar