autentificación de usuarios con sendmail en freebsd v.2

3
Autentificación de usuarios con sendmail en FreeBSD v.2 Autor: Ernesto Lira Fecha: 16/08/2004 Basado en articulo de Emilio Florido: liga Introducción 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 artículo es con el fin de ayudar a los administradores de sistemas a tener un Mail Server mas seguro. El problema Cuando envías correo desde un cliente de correo electrónico (Correo Saliente), normalmente no te pide autentificación, 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 añadir un sistema de autentificación al Sendmail para que solo puedan enviar correo usuarios acreditados, utilizando la libreria SASLv1 (Simple Autentification Security Layer version 1). Configuación e instalación paso a paso. Cabe aclarar que este artículo es una recopilación de información con el fin de aclarar dudas de la version de Emilio. La configuración de partida En este caso vamos a utilizar la versión 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 líneas: SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl Después nos disponemos a editar otro archivo, que es el de configuración 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 instrucción anterior el archivo de configuración que tenemos que editar del Sendmail es el /etc/mail/sendmail.mc, por lo tanto añadimos las siguientes líneas 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 después de que hicimos algunos ajustes en los archivos de configuración del Sendmail procedemos a regenerar las configuraciones: # make all

Upload: aalejosd

Post on 19-Jan-2016

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Autentificación de Usuarios Con Sendmail en FreeBSD v.2

Autentificación de usuarios con sendmail en FreeBSDv.2Autor: Ernesto Lira Fecha: 16/08/2004 Basado en articulo de Emilio Florido: liga

Introducción

Actualmente Sendmail es uno de los servidores de correo mas robustos y usados en el mundo, por lo tanto es uno de losmas propensos a ataques y mal uso por gente malintencionada o con fines de publicidad no deseada. Este artículo es con elfin de ayudar a los administradores de sistemas a tener un Mail Server mas seguro.

El problema

Cuando envías correo desde un cliente de correo electrónico (Correo Saliente), normalmente no te pide autentificación,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 añadir un sistema de autentificación al Sendmail para que solo puedan enviar correo usuarios acreditados, utilizandola libreria SASLv1 (Simple Autentification Security Layer version 1). Configuación e instalación paso a paso.

Cabe aclarar que este artículo es una recopilación de información con el fin de aclarar dudas de la version de Emilio.

La configuración de partida

En este caso vamos a utilizar la versión de Sendmail que viene por default en el sistema base de la RELEASE 10 delFreeBSD, 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 lassiguientes líneas:

SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASLSENDMAIL_LDFLAGS=-L/usr/local/libSENDMAIL_LDADD=-lsasl

Después nos disponemos a editar otro archivo, que es el de configuración del Sendmail, un archivo mc. Normalmentecomo buenos humanos nos pasa que se nos olvida cual es el archivo que hemos usado para configurar el Sendmail, por lotanto lo definimos tambin en el /etc/defaul/make.conf de la siguiente manera:

SENDMAIL_MC=/etc/mail/sendmail.mc

Como vemos en la instrucción anterior el archivo de configuración que tenemos que editar del Sendmail es el/etc/mail/sendmail.mc, por lo tanto añadimos las siguientes líneas con el editor de nuestra preferencia:

define(`confAUTH_OPTIONS', `A')dnlTRUST_AUTH_MECH(`LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5')dnldefine(`confAUTH_MECHANISMS', `LOGIN PLAIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5')dnl

Inmediatamente después de que hicimos algunos ajustes en los archivos de configuración del Sendmail procedemos aregenerar las configuraciones:

# make all

Page 2: Autentificación de Usuarios Con Sendmail en FreeBSD v.2

# make install

# make restart

Debemos de comprobar hasta este paso si todo ha salido como esperabamos, tecleamos el siguiente comando paraasegurarnos que el SASLv1 esta habilitado para el sendmail:

# sendmail -d0.1 -bv root | grep SASL

Te debe de mostrar una línea en la cúal veas SASL. NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NISPIPELINING SASL

Otros ficheros que retocar

Teniendo ya todo configurado debemos de modificar por último un archivo que es importante, ya que sino nuestro servidorva a ignorar la autentificación de correo saliente, este archivo es el /etc/mail/access.db,este archivo se genera a partir delarchivo /etc/mail/access, en este debemos de tenerlo de la siguiente manera, para ser más exactos no debe tener RELAYningún 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 spammersFREE.STEALTH.MAILER@ 550 We don't accept mail from spammersanother.source.of.spam REJECTokay.cyberspammer.com OK

Teniendo el archivo al menos en mi caso sin ningún 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 oevolution, nos debe de marcar error pidiendo contraseña, entonces debes de activar en las propiedades de correo saliente laopción Este servidor requiere autentificación

Aún faltan un par de ficheros más donde "retocar". Uno es /etc/pam.conf y en él debes añadir lo siguiente:

smtp auth required pam_unix.so try_first_passsmtp account required pam_unix.so try_first_pass

y el otro es /usr/local/lib/sasl/Sendmail.conf (ojo! la S en mayúscula) y basta con que tenga una única línea 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

También es muy recomendable la página http://www.sendmail.org/~ca/email/auth.htm

Cualquier duda o comentario acerca de este artículo por favor envíenla a: Ernesto Lira

Page 3: Autentificación de Usuarios Con Sendmail en FreeBSD v.2