Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Configuración Básica de Sendmail Con Soporte SSL

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 17

Configuracin bsica de Sendmail con

soporte SSL/TLS.
Autor: Joel Barrios Dueas
Correo electrnico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

1999-2016 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes:
a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio,
por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia
idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no
aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo
anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no
asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.
Es imprescindible primero estudiar y comprender los conceptos descritos en el documento
titulado Introduccin a los protocolos de correo electrnico.

Acerca de Sendmail.

Es uno de los ms populares agentes de transporte de correo electrnico (MTA o Mail


Transport Agent). Es un proyecto derivado delivermail y fue dirigido originalmente por
Eric Allman a principios de la dcada de 1980. Aunque por largo tiempo se le ha criticado
por muchos incidentes de seguridad, lo cierto es que stos siempre han sido resueltos en
tiempos razonables.

URL: http://www.sendmail.org/.

Acerca de SASL y Cyrus SASL.

SASL (Simple Authentication and Security Layer) es una implementacin diseada para la
seguridad de datos en protocolos de Internet. Desempareja los mecanismos de la
autenticacin desde protocolos de aplicaciones, permitiendo, en teora, cualquier
mecanismo de autenticacin soportado por SASL, para ser utilizado en cualquier protocolo
de aplicacin que sea capaz de utilizar SASL. En la actualidad SASL es un protocolo de
IETF (Internet Engineering Task Force) que ha sido propuesto como estndar. Est
especificado en el RFC 2222 creado por John Meyers en la Universidad Carnegie Mellon.

Cyrus SASL es una implementacin de SASL que puede ser utilizada del lado del servidor
o bien del lado del cliente y que incluye como principales mecanismos de autenticacin
soportados a ANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI y PLAIN. El cdigo
fuente incluye tambin soporte para los mecanismos LOGIN, SRP, NTLM, OPT y
KERBEROS_V4.

URL: http://asg.web.cmu.edu/sasl/sasl-library.html.

Acerca de DSA.

DSA (Digital Signature Algorithm o Algoritmo de Firma digital) es un algoritmo creado


por el NIST (National Institute of Standards and Technology o Instituto Nacional de
Normas y Tecnologa de EE.UU.), publicado el 30 de agosto de 1991, como propuesta para
el proceso de firmas digitales. Se utiliza para firmar informacin, ms no para cifrar sta.

URL: http://es.wikipedia.org/wiki/DSA

Acerca de RSA.

RSA, acrnimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es
un algoritmo para el ciframiento de claves pblicas que fue publicado en 1977, patentado
en EE.UU. en 1983 por el Instituto Tecnolgico de Michigan (MIT). RSA es utilizado
ampliamente en todo el mundo para los protocolos destinados para el comercio electrnico.

URL: http://es.wikipedia.org/wiki/RSA

Acerca de X.509.

X.509 es un estndar ITU-T (estandarizacin de Telecomunicaciones de la International


Telecommunication Union ) para infraestructura de claves pblicas (PKI o Public Key
Infrastructure). Establece los estndares para certificados de claves pblicas y un algoritmo
para validacin de ruta de certificacin. Este ltimo se encarga de verificar que la ruta de
un certificado sea vlida bajo una infraestructura de clave pblica determinada. Es decir,
desde el certificado inicial pasando por certificados intermedios hasta el certificado de
confianza emitido por una Autoridad Certificadora (CA o Certification Authority).

URL: http://es.wikipedia.org/wiki/X.509

Acerca de OpenSSL.

OpenSSL es una implementacin libre de cdigo fuente abierto, de los protocolos SSL
(Secure Sockets Layer o Nivel de Zcalo Seguro) y TLS (Transport Layer Security o
Seguridad para Nivel de Transporte). Est basado sobre el extinto proyecto SSLeay
iniciado por Eric Young y Tim Hudson.

URL: http://www.openssl.org/

Equipamiento lgico necesario.


Instalacin a travs de yum.

Si se utiliza de CentOS o Red Hat Enterprise Linux ejecute lo siguiente:

yum -y install sendmail sendmail-cf m4 make \


cyrus-sasl cyrus-sasl-plain

Procedimientos.
Definiendo Sendmail como agente de transporte de correo predeterminado.

Ejecute alternatives con la opcin --config y el valor mta:

alternatives --config mta

Lo anterior devolver una salida similar a la siguiente, donde deber elegir entre postfix y
sendmail como MTA predeterminado del sistema:

Hay 2 programas que proporcionan 'mta'.

Seleccin Comando
-----------------------------------------------
1 /usr/sbin/sendmail.postfix
*+ 2 /usr/sbin/sendmail.sendmail

Presione Intro para mantener la seleccin actual[+] o bien escriba el nmero de la


seleccin: 2

Defina Sendmail como agente de transporte de correo (MTA, Mail Transport Agent),
seleccionado ste

Si estuviera presente postfix, desactive y detenga ste y active e inicie el servicio


sendmail:

service postfix stop


chkconfig postfix off
service sendmail start
chkconfig sendmail on

Certificado SSL/TLS.

Es importante generar un certificado SSL/TLS personalizado.

Elimine el certificado de prueba que est asociado al nombre de anfitrin localhost.

rm -f /etc/pki/tls/certs/sendmail.pem
La creacin de la firma digital y certificado en un nico archivo con extensin *.pem
requiere utilizar una firma con algoritmo RSA de 4096 octetos (bits), estructura X.509 y sin
DES. En el siguiente ejemplo, se establece una validez por 1825 das (cinco aos) para el
certificado creado:

openssl req -sha256 -new -x509 -nodes -newkey rsa:4096 -days


1825 \
-out /etc/pki/tls/certs/sendmail.pem \
-keyout /etc/pki/tls/certs/sendmail.pem

Lo anterior solicitar se ingresen varios datos:

Cdigo de dos letras para el pas.


Estado o provincia.
Ciudad.
Nombre de la empresa o razn social.
Unidad o seccin.
Nombre del anfitrin. En el formato nombre.dominio.tld o dominio.tld.
Ejemplo: alcancelibre.org, mail.alcancelibre.org, correo.alcancelibre.org. Por si
acaso lo desconoce, tld corresponde a las siglas de Top Level Domain, es decir
Dominio de Primer Nivel, como seran .com, .net, .org, .info, .mx, etc.
Direccin de correo.

La salida ser algo similar a lo siguiente:

Generating a 1024 bit DSA private key


writing new private key to 'smtp.key'
-----
You are about to be asked to enter information that will be
incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name
or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:MX
State or Province Name (full name) [Berkshire]:Distrito Federal
Locality Name (eg, city) [Newbury]:Mexico
Organization Name (eg, company) [My Company Ltd]:Empresa, S.A. de C.V.
Organizational Unit Name (eg, section) []:Unidad de negoico responsable
Common Name (eg, your name or your server's hostname) []:mail.dominio.com
Email Address []:webmaster@dominio.com

Si defini un nombre de anfitrin absoluto (ejemplo: mail.dominio.com), el certificado slo


ser vlido cuando el servidor de correo electrnico sea invocado con el nombre definido
en el campo Common Name. Es decir, slo podr utilizarlo cuando se defina
mail.dominio.com como servidor SMTP/IMAP/POP3 con soporte TLS desde el cliente
de correo electrnico. Funcionar incorrectamente si se invoca al servidor como, por
mencionar un ejemplo, correo.dominio.com.
A fin de facilitar a los clientes de correo electrnico el poder gestionar una futura
actualizacin de certificado, conviene aadir una huella distintiva indubitable (fingerprint)
al certificado.

openssl x509 -subject -fingerprint -noout \


-in /etc/pki/tls/certs/sendmail.pem

Es indispensable que el archivo *.pem tenga permisos de acceso de lectura y escritura slo
para root:

chmod 600 /etc/pki/tls/certs/sendmail.pem


chown root:root /etc/pki/tls/certs/sendmail.pem

Alta de cuentas de usuario y asignacin de contraseas.

La autenticacin para SMTP, a travs de cualquier mtodo PLAIN, LOGIN, Digest-


MD5 o CRAM-MD5 requiere se gestione a travs del servicio saslauthd.

Si los usuarios se van a dar de alta siguiendo el formato usuario@dominio.com en lugar de


slo usuario, una prctica comn en los servidores con mltiples dominios virtuales, es
necesario aadir al servicio saslauthd la opcin -r, la cual permite combinar el nombre de
usuario y dominio antes de pasar por el mecanismo de autenticacin. Si ste es el caso, se
debe editar el archivo /etc/sysconfig/saslauthd:

vi /etc/sysconfig/saslauthd

Y aadir la opcin -r a los argumentos de FLAGS:

# Options sent to the saslauthd. If the MECH is other than "pam" uncomment
# the next line.
# DAEMONOPTS=--user saslauth

# Additional flags to pass to saslauthd on the command line. See


saslauthd(8)
# for the list of accepted flags.
FLAGS=-r

Aada el servicio al arranque del sistema e inicie ste ejecutando lo siguiente:

chkconfig saslauthd on
service saslauthd start

El alta de usuarios es la misma que como con cualquier otro usuario del sistema. Sendmail
utilizar el servicio saslauthd para autenticar a stos a travs de los mtodos PLAIN y
LOGIN.

Se sugiere se asignar /dev/null o /sbin/nologin como intrprete de mandatos para los


usuarios de correo. Ejemplo:
useradd -s /dev/null usuario

La asignacin de contraseas para permitir autenticar a travs de SMTP, POP3, e IMAP,


utilizando el mtodo PLAIN o bien el mtodo LOGIN, se hace exactamente igual que con
cualquier otra cuenta de usuario del sistema:

passwd usuario

El sistema solicitar se confirme la nueva contrasea. Prefiera utilizar buenas contraseas y


evitar as problemas de seguridad.

Nota.

La asignacin de contraseas para autenticar SMTP a travs de mtodos CRAM-MD5 y DIGEST-MD5


puede hacerse ejecutando saslpasswd2 con el nombre de usuario como argumento:

saslpasswd2 usuario

Cabe sealar que slo algunos clientes de correo electrnico tienen de soporte para autenticar a travs de estos
mtodos.

Puede mostrarse la lista de los usuarios con contrasea asignada a travs de SASL-2 ejecutando
sasldblistusers2.

Dominios a administrar.

Edite el archivo /etc/mail/local-host-names:

vi /etc/mail/local-host-names

Establezca los dominios locales que sern administrados:

dominio1.com
dominio2.net
dominio3.org
dominio4.com.mx

Control de acceso

Edite el archivo /etc/mail/access para definir las listas de control de acceso:

vi /etc/mail/access
Este archivo debe incluir todas las direcciones IP locales del servidor las que se
devuelvan tras ejecutar ip addr show.

Puede incluir tambin la lista direcciones IP, dominios o cuentas de correo electrnico a las
que se quiera otorgar permisos de re-transmisin sin restricciones o con permiso para
enviar correo electrnico slo a cuentas locales. Puede definir tambin una lista negra de
direcciones de correo electrnico, dominios y direcciones IP a las que se desee denegar el
acceso. Considere que:

Cualquier elemento con RELAY tendr permitido enviar correo electrnico,


sin necesidad de autenticar y re-transmitir ste sin restriccin alguna.
Cualquier elemento con OK tendr permitido enviar correo electrnico, sin
necesidad de autenticar pero slo a las cuentas locales.
Cualquier elemento con REJECT tendr prohibida cualquier tipo de
comunicacin de correo electrnico.

Nota.

Jams configure una segmento completo de red local con RELAY, ya que dejara de tener sentido utilizar
autenticacin a travs de SMTP y potencialmente podra permitir que los problemas de seguridad de maquinas
infectadas con virus, gusanos o troyanos, se magnifiquen, siendo que permitira el envo, sin restricciones, de
correo electrnico infectado o bien cantidades extraordinarias de spam, originadas por los equipos cuya
seguridad se haya visto comprometida.

Ejemplo de configuracin para el archivo /etc/mail/access:

Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
#
# Direccin IP del propio servidor.
Connect:192.168.70.51 RELAY
#
# Otros servidores de correo en la LAN a los que se les permitir
enviar
# correo libremente a travs del propio servidor de correo.
Connect:192.168.70.52 RELAY
#
# Direcciones IP que slo podrn entregar correo de forma local, es
decir,
# no pueden enviar correo fuera del propio servidor.
Connect:192.168.2.24 OK
#
# Lista negra
usuario@molesto.com REJECT
productoinutil.com.mx REJECT
10.4.5.6 REJECT
#
# Bloques de Asia Pacific Networks, ISP desde el cual se emite la
mayor
# parte del Spam del mundo.
# Las redes involucradas abarcan Australia, Japn, China, Corea del
Sur, Taiwan,
# Hong Kong e India por lo que bloquear el correo de dichas redes
significa
# cortar comunicacin con estos pases, pero acaba con entre el 60%
y 80%
# del Spam.
222 REJECT
221 REJECT
220 REJECT
219 REJECT
218 REJECT
212 REJECT
211 REJECT
210 REJECT
203 REJECT
202 REJECT
140.109 REJECT
133 REJECT
61 REJECT
60 REJECT
59 REJECT
58 REJECT

Alias de root.

Es peligroso autenticarse con la cuenta de root para revisar los mensajes de correo
electrnico originados por el sistema. Defina un alias hacia el cual se entregar todo el
correo electrnico que originalmente fue dirigido a root.

Edite el archivo /etc/aliases:

vi /etc/aliases

Defina al final del archivo la cuenta de usuario regular al que le ser entregado el correo
electrnico originalmente iba dirigido a root:

root: fulano

Ejecute newaliases para convertir el archivo /etc/aliases en /etc/aliases.db y verificar que la


sintaxis est correcta o determinar si existen aliases duplicados.

newaliases

Lo anterior debe devolver una salida similar a la siguiente:

/etc/aliases: 77 aliases, longest 10 bytes, 777 bytes total

Configuracin de opciones de Sendmail.

Edite el archivo /etc/mail/sendmail.mc.


vi /etc/mail/sendmail.mc

confSMTP_LOGIN_MSG.

Esta opcin permite establecer el mensaje de bienvenida al establecer la conexin al


servidor y ocultar el nombre y la versin de Sendmail para agregar seguridad por
oscuridad. Funciona haciendo que quien establezca una conexin hacia el servidor sea
incapaz determinar qu versin de Sendmail se est utilizando y con sto dificultar se
puedan determinar las debilidades del servicio o determinar una vulnerabilidad especfica.
Habilite la siguiente lnea resaltada eliminando el dnl y el espacio sobrante:

dnl # Do not advertize sendmail version.


dnl #
define(`confSMTP_LOGIN_MSG',`$j Sendmail; $b')dnl
dnl #
dnl # default logging level is 9, you might want to set it higher to
dnl # debug the configuration

Guarde los cambios y salga del editor.

Reinicie el servicio:

service sendmail restart

Realice una conexin al puerto 25. Obtendr una salida similar a la siguiente:

$ telnet 127.0.0.1 25
220 mail.dominio.com ESMTP Sendmail ; Mon, 17 May 2004
02:22:29 -0500
quit
221 2.0.0 mail.dominio.com closing connection
Connection closed by foreign host.
$

confAUTH_OPTIONS.

Vuelva a editar el archivo /etc/mail/sendmail.mc:

vi /etc/mail/sendmail.mc

La siguiente lnea resaltada permite realizar el proceso de autenticacin a travs del puerto
25 utilizando el mtodo PLAIN o bien el mtodo LOGIN, los cuales transmiten el nombre
de usuario junto con su correspondiente contrasea en texto simple, garantizando 100% de
compatibilidad con todos los clientes de correo electrnico existentes. Sin embargo sto
tambin implica un enorme riesgo de seguridad, por lo cual se recomienda implementar
seguridad a travs de SSL/TLS.

define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS',`A')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links

Inhabilite sta aadiendo un dnl y un espacio como se muestra a continuacin:

define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
dnl define(`confAUTH_OPTIONS',`A')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links

Localice la siguiente lnea resaltada y habilite sta eliminado el dnl y el espacio sobrante
como se muestra a continuacin:

dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
dnl #
define(`confAUTH_OPTIONS',`A p')dnl
dnl #
dnl # PLAIN is the preferred plaintext authentication method and used by
dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do

Lo anterior har que sea obligatorio a utilizar SSL/TLS para todas las conexiones con
cualquier cliente de correo electrnico

TRUST_AUTH_MECH y confAUTH_MECHANISMS.

El soporte de autenticacin requiere habilitar las siguientes dos lneas resaltadas:

dnl # guaranteed secure.


dnl # Please remember that saslauthd needs to be running for AUTH.
dnl #
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN
PLAIN')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl # cd /etc/pki/tls/certs; make sendmail.pem

Elimine el soporte para GSSAPI, DIGEST-MD5 y CRAM-MD5. El primero requiere un


servidor Kerberos y para los otros el algoritmo de ciframiento es demasiado dbil para ser
utilizado sin SSL/TLS y adems slo es soportado por algunos clientes de correo
electrnico.

dnl # guaranteed secure.


dnl # Please remember that saslauthd needs to be running for AUTH.
dnl #
TRUST_AUTH_MECH(`EXTERNAL LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL LOGIN PLAIN')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl # cd /etc/pki/tls/certs; make sendmail.pem

Soporte para SSL/TLS.

Habilite las siguientes lneas resaltadas para hacer el uso de la firma digital y certificado
creados:

dnl # Complete usage:


dnl # make -C /etc/pki/tls/certs usage
dnl #
define(`confCACERT_PATH',`/etc/pki/tls/certs')dnl
define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT',`/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail.pem')dnl
dnl #
dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's
dnl # slapd, which requires the file to be readble by group ldap

DAEMON_OPTIONS.

De modo predeterminado Sendmail slo escucha peticiones a travs de la interfaz de


retorno del sistema (127.0.0.1). Localice la siguiente lnea resaltada:

dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their

Elimine el valor Addr=127.0.0.1 y la coma sobrante:

dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their

El puerto 587 (submission) puede ser utilizado tambin para envo de correo electrnico.
Por estndar se utiliza como puerto alternativo en los casos donde un cortafuegos impide a
los usuarios acceder hacia servidores de correo electrnico que normalmente utilizan el
puerto 25. Localice y habilite la siguiente lnea resaltada:

dnl # preferred sendmail daemon due to port 25 being blocked or redirected


find
dnl # this useful.
dnl #
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587
followed
El acceso con STARTTLS se realizar a travs de los puertos 25 o 587, sin embargo el
acceso con SSL se realizar a travs del puerto 465. Localice y habilite la siguiente lnea
resaltada:

dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6
loopback
dnl # device. Remove the loopback address restriction listen to the network.

FEATURE(`accept_unresolvable_domains').

A fin de permitir el envo local del correo electrnico para los mensajes y alertas del
sistema en un escenario sin servidores DNS, se utiliza la opcin
FEATURE(`accept_unresolvable_domains'). Debe inhabilitarse para impedir se acepte
correo de dominios inexistentes (generalmente utilizado para el envo de correo masivo no
solicitado o Spam). Inhabilite la lnea aadiendo un dnl y un espacio:

dnl # protect yourself from spam. However, the laptop and users on computers
dnl # that do not have 24x7 DNS do need this.
dnl #
dnl FEATURE(`accept_unresolvable_domains')dnl
dnl #
dnl FEATURE(`relay_based_on_MX')dnl
dnl #

Archivo plantilla de todo lo anterior.

Si lo prefiere, puede descargar un archivo plantilla con todas las opciones para el archivo
/etc/mail/sendmail.mc mencionadas arriba.

wget http://www.alcancelibre.org/linux/secrets/sendmail.mc \
-O /etc/mail/sendmail.mc

Enmascaramiento.

El enmascaramiento slo es necesario en casos donde el nombre de anfitrin del sistema es


distinto al del dominio(s) administrado(s) en el servidor.

Habilite las siguientes tres lneas resaltadas eliminando los dnl y los espacio sobrantes y
adapte el valor de MASQUERADE_AS para definir la mscara que utilizar el servidor
para enviar correo electrnico (es decir, define lo que va despus de la @ en la direccin de
correo):

dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
MASQUERADE_AS(`dominio1.com')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
FEATURE(masquerade_envelope)dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as
well
dnl #
FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl

En el ejemplo anterior dominio1.com es slo un ejemplo hipottico. Remplace por un


dominio real.

Si se van a administrar mltiples dominios, aada aquellos que considere deban conservar
su propia mscara. Utilice la opcin MASQUERADE_EXCEPTION para cada uno como
se muestra en el siguiente ejemplo:

dnl # specified domains appear to be sent from mydomain.com


dnl #
MASQUERADE_AS(`dominio1.com')dnl
MASQUERADE_EXCEPTION(`dominio2.net')dnl
MASQUERADE_EXCEPTION(`dominio3.org')dnl
MASQUERADE_EXCEPTION(`dominio4.com.mx')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #

En el ejemplo anterior dominio1.com, dominio2.net, dominio3.org y dominio4.com.mx


son slo ejemplos hipotticos. Remplace por dominios reales.

Control del correo chatarra (spam) a travs de DNSBLs.

Si se desea utilizar listas negras para mitigar el correo chatarra (spam), pueden aadir la
siguiente lnea para definir la lista negra de SpamCop.net, casi al final del archivo
/etc/mail/sendmail.mc y justo arriba de MAILER(smtp)dnl:

dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
FEATURE(`enhdnsbl', `bl.spamcop.net', `"Spam blocked see:
http://spamcop.net/bl.shtml?"$&{client_addr}', `t')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl

Iniciar, detener o reiniciar servicio.

Ejecute lo siguiente para aplicar cambios realizados a la configuracin:

service sendmail restart


Ejecute lo siguiente para iniciar por primera vez el servicio:

service sendmail start

Ejecute lo siguiente para detener el servicio:

service sendmail stop

Examine el contenido de /var/log/maillog ejecutando tail con la opcin -f para detectar


errores en la configuracin:

tail -f /var/log/maillog

Comprobaciones.

Realice una conexin con nc (netcat) o bien con telnet, hacia al puerto 25 del anfitrin
local:

telnet 127.0.0.1 25

Ejecute EHLO usando como argumento el nombre del dominio configurado y pulse la
tecla ENTER. La salida deber devolver todas las funciones del servidor y entre stas debe
devolver una lnea que indica STARTTLS. La salida puede ser similar a la siguiente:

220 dominio.com ESMTP Sendmail ; Sat, 19 Jun 2010 18:18:02 -


0500
ehlo dominio.com
250-dominio.dom Hello localhost.localdomain [127.0.0.1],
pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-STARTTLS
250-DELIVERBY
250 HELP
QUIT

Ejecute QUIT y pulse la tecla ENTER para salir.

Ejecute lo siguiente para verificar el soporte SSL/TLS estableciendo conexiones SSL y


TLS hacia los puertos 25, 465 y 587:

openssl s_client -crlf -connect 127.0.0.1:25 -starttls smtp


openssl s_client -connect 127.0.0.1:465
openssl s_client -crlf -connect 127.0.0.1:587 -starttls smtp
La salida de cualquiera de los anteriores ser muy extensa, mostrando la informacin del
certificado utilizado.

Ingrese EHLO con el dominio configurado. La salida deber devolver todas las funciones
del servidor y entre stas debe devolver una lnea que indica AUTH LOGIN PLAIN. La
salida despus del la informacin del certificado puede ser similar a la siguiente:

220 dominio.com ESMTP Sendmail ; Sat, 19 Jun 2010 18:18:02 -


0500
ehlo dominio.com
250-dominio.com Hello localhost.localdomain [127.0.0.1],
pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-DELIVERBY
250 HELP
QUIT

Realice el ejemplo de conexin para SMTP descrito en el documento titulado Introduccin


a los protocolos de correo electrnico para verificar el funcionamiento del envo de correo
a travs de SSL/TLS.

Modificaciones necesarias en el muro cortafuegos.


Como medida de seguridad siempre abra los puertos del cortafuegos slo hasta despus de
finalizar la configuracin del servidor de correo electrnico y que slo hasta que haya
comprobado las configuraciones.

El funcionamiento normal de un servicio de correo electrnico estndar requiere abrir los


puertos 25 (smtp), 465 (smtps) y 587 (submission), todos a travs de TCP.

Servicio iptables.

Ejecute lo siguiente:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT


iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT

Ejecute lo siguiente para guardar los cambios:

service iptables save


O bien edite el archivo /etc/sysconfig/iptables:

vi /etc/sysconfig/iptables

Aada lo siguiente:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT


-A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT

Reinicie el servicio:

service iptables restart

Shorewall.

Edite el archivo /etc/shorewall/rules:

vi /etc/shorewall/rules

Las reglas corresponderan a algo similar a lo siguiente:

#ACTION SOURCE DEST PROTO DEST SOURCE


# PORT PORT(S)1
ACCEPT all fw tcp 25,465,587

Reinicie el servicio para aplicar los cambios:

service shorewall restart

Equipamiento lgico para servicios de IMAP y POP3.


Dovecot es una ligera, rpida y transparente solucin de fcil administracin para los
servicios de IMAP y POP3. Slo es apropiado para servidores que sern accedido
preferentemente a travs de POP3, menos de 100 usuarios o bien a travs de IMAP con
buzones de menos de 50 MB y baja a mediana carga de trabajo. Si as fuesen las
circunstancias, por favor consulte el documento titulado Configuracin de Dovecot con
soporte SSL/TLS..

Cyrus IMAP es una compleja pero muy robusta y escalable solucin que permite acceder
hacia enormes cantidades de correo electrnico a travs de IMAP o POP3 con mediana a
elevada carga de trabajo. Si as fuesen las circunstancias, por favor consulte el documento
titulado Configuracin de Cyrus IMAP con soporte SSL/TLS.

Lecturas posteriores.
Se recomienda consultar los documentos titulados Configuracin de Cyrus IMAP con
soporte SSL/TLS, Configuracin de Dovecot con soporte SSL/TLS, Configuracin
avanzada de Sendmail, Cmo instalar y configurar Spamassassin y Configuracin
simple para Antivirus y Antispam.

También podría gustarte