5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
Publicado en VozToVoice (http://voztovoice.org)
Inicio > PDF para impresora > PDF para impresora
Instalar y configurar un servidor SMTP/POP3/IMAen CentOS con acceso TSL/SSL y SASL
Mar, 13/10/2009 - 11:24 ? admin
Desde hace mucho quería escribir esta guía. Más como recordatorio personal que otra cosa. Veremos
instalar un servidor SMTP (Sendmail) y un servidor POP3/IMAP (Dovecot) en CentOS. Este escrito
complementa y completa un precedente articulo [1]. Al terminar la configuración de los dos servidores ve
como filtrar el correo electrónico en entrada con Spamassassin y como configurar nuestro cliente de coelectrónico (en mi caso Outlook Express) para enviar y recibir correos electrónico usando conexiones s
autenticadas.
La instalación se hizo en un VPS con distribución CentOS 5.3 La presente guía usa como referencia un
registrado que denominaremos ejemplo.org. Para la configuración de los registros DNS de un dominio
hacer referencia a este articulo. [2]
Primero instalamos los paquetes necesarios:
yum install sendmail*
yum install cyrus-sasl*
yum install dovecot
yum install procmail
yum install spamassassin
Sendmail
Hacemos una copia de la configuración inicial de Sendmail:
cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.orig
Empezamos a configurar Sendmail (modificando/añadiendo las siguientes líneas):
nano /etc/mail/sendmail.mc
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
dnl # Definimos un valor de ?verbosidad? para los registros de Sendmail
define(`confLOG_LEVEL', `20')dnl
dnl # Deshabilita la autenticación en "plain text"cuando la conexión no es TLS
define(`confAUTH_OPTIONS', `A p')dnl
dnl # Definimos los mecanismos de autenticación permitidos
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', ̀ EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl # Configuramos la carpeta y los nombres de los certificados que usaremos para la autenticación TLS/SSL
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnldefine(`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 # Definimos los puertos donde Sendamil se pondrá a la escucha (25(smtp, 465(smtps) y 587(submission)
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl # No aceptamos correos desde dominios cuya dirección no se pueda resolver
dnl FEATURE(`accept_unresolvable_domains')dnl
dnl # Filtramos todos los correos en entrada con spamassassin-milter
INPUT_MAIL_FILTER(`spamassassin', ̀ S=unix:/var/run/spamassassin/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m
define(`confMILTER_MACROS_CONNECT',`t, b, j, _, {daemon_name}, {if_name}, {if_addr}')dnl
define(`confMILTER_MACROS_HELO',`s, {tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}')dnl
Guardamos los cambios y creamos el archivo de configuración de Sendmail:
cd /etc/mail
make -C /etc/mail
Ahora podemos crear un usuario de prueba para luego utilizarlo en la configuracion de Outlook Express
useradd -c "fulano" -s /sbin/nologin fulano
Le asignamos una contraseña:
passwd fulano
Changing password for user fulano.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Para la autenticación conSASL [3] tenemos que crear un archivo con las siguientes líneas:
cd /usr/lib/sasl2
nano Sendmail.conf
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
pwcheck_method:saslauthd
mech_list: LOGIN PLAIN
Con la primera línea escogemos el método de autorización (controlo de contraseña) y con la segundae
mecanismo. Guardamos los cambios y configuramos sasl2 para que arranque en automático:
chkconfig saslauthd on
Ahora le decimos a Sendmail desde cuales dominios pueden salir los correos:
nano /etc/mail/local-host-names
localhost
localhost.localdomain
ejemplo.org
Guardamos los cambios y pasamos a la creación del certificado como lo hemos definido en la configura
Sendmail. El certificado creado en esta forma
cd /etc/pki/tls/certs
make sendmail.pem
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:1024 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -ss
; \
cat $PEM1 > sendmail.pem ; \
echo "" >> sendmail.pem ; \
cat $PEM2 >> sendmail.pem ; \
rm -f $PEM1 $PEM2
Generating a 1024 bit RSA private key
........++++++
...........................++++++
writing new private key to '/tmp/openssl.l23974'
-----
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]:CO
State or Province Name (full name) [Berkshire]:Magdalena
Locality Name (eg, city) [Newbury]:Santa Marta
Organization Name (eg, company) [My Company Ltd]:Ejemplo
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
Organizational Unit Name (eg, section) []:Mail
Common Name (eg, your name or your server's hostname) []:mail.ejemplo.org
Email Address []:[email protected]
Importante definir en Common Name el registro MX [4] que usaremos para conectarnos al servidor Send
Dovecot
Una vez que tengamos el server POP3/IMAP instalado modificamos el archivo de configuracion:
nano /etc/dovecot.conf
Añadimos/modificamos las siguientes líneas:
# activamos los protocolos que vamos a utilizar
protocols = imap imaps pop3 pop3s
# carpeta y nombres de los certificados (los mismos que Sendmail)
ssl_cert_file = /etc/pki/tls/certs/sendmail.pem
ssl_key_file = /etc/pki/tls/certs/sendmail.pem
ssl_ca_file = /etc/pki/tls/certs/sendmail.pem
# Registramos los eventuales errores al utilizar SSL
verbose_ssl = yes
Gurdamos los cambios y configuramos Dovecot para que arranque en automático:
chkconfig dovecot on
SpamAssassin
Ahora podemos pasar a la configuracion de Spamassassin:
cd /etc/mail/spamassassin
mv local.cf local.cf.orig
nano local.cf
Añadimos:
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
required_score 5.0
rewrite_header subject [SPAM]
report_safe 1
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
skip_rbl_checks 0
Guardamos los cambios y configuramos Spamassassin para que arranque en automático:
chkconfig spamassassin on
Ahora pasamos a la instalación y configuracion de spamass-milter.Spamass-milter [5] es un component
adicional para la biblioteca de filtros de correo (libmilter) de Sendmail, que se encarga de hacer pasar
el correo entrante a través de SpamAssassin.
cd /usr/src
wget http://www.voztovoice.org/tmp/spamass-milter-0.3.1.tar.gz
tar -xf spamass-milter-0.3.1.tar.gz
cd spamass-milter-0.3.1
Si no tenemos instalados los programas y la librería para compilar las fuentes tenemos que instalar los
siguientes paquetes:
yum install gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel
./configure
make
make install
Instalamos el script para arrancarlo en automático como demonio:
cd contrib
nano spamass-milter-redhat.rc
Modificamos las siguientes líneas:
SM_SOCKET=/var/run/spamassassin/spamass-milter.sock
[ -x /usr/local/sbin/spamass-milter ] || exit 0
PATH=$PATH:/usr/local/sbin
Guardamos los cambios y copiamos el archivo en la carpeta de los demonios:
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
cp spamass-milter-redhat.rc /etc/init.d/spamass-milter
cd /etc/init.d
chmod +x spamass-milter
chkconfig --level 2345 spamass-milter on
Ahora creamos el archivo de configuracion para spamass-milter:
nano /etc/sysconfig/spamass-milter
Añadimos:
SOCKET=/var/run/spamassassin/spamass-milter.sock
EXTRA_FLAGS="-r 15"
Guardamos los cambios y hacemos un reboot del sistema:
reboot
LOGs y Prueba SPAM
Volvemos a entrar en nuestro servidor y echamos una mirada a los registros para ver si hay algún error
nano /var/log/maillog
Si todo está bien seguimos conectándonos al servidor Sendmail y miramos si efectivamente el protoco
SSL/TSL esté activados como también el PLAIN LOGIN de SASL:
yum install telnet
telnet
telnet> o localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.
220 ejemplo.org ESMTP Sendmail 8.13.8/8.13.8; Tue, 13 Oct 2009 15:20:59 GMT
ehlo fulano.com
250-ejemplo.org Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5
250-STARTTLS
250-DELIVERBY
250 HELP
Primero nos conectamos a el servidor de correo electrónico (Sendmail) en el puerto 25. Nos presentam
escribiendo el comando ?ehlo fulano.com? y luego nos aseguramos que las dos líneas en negrita apare
en la lista que el servidor nos presenta. En la línea 250-AUTH no aparecen los mecanismos de autentic
PLAIN y LOGIN porque en la configuracion de Sendmail hemos definido que se pueden usar solamente
dentro de una conexión segura (protocolo TLS)
Para salir escribimos:
quit
Ahora hacemos una prueba para ver si SpamAssassin detecta los correos no deseados (SPAM). Prime
un correo de ejemplo que no contiene SPAM y luego con un correo de ejemplo que si es un SPAM:
spamassassin -t < /usr/share/doc/spamassassin-3.2.5/sample-nonspam.txt | grep X-Spam
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on ejemplo.org
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=no version=3.2.5
spamassassin -t < /usr/share/doc/spamassassin-3.2.5/sample-spam.txt | grep X-Spam
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on astercurso.com X-Spam-Level: **************************************************
X-Spam-Status: Yes, score=1000.0 required=5.0 tests=GTUBE,NO_RECEIVED,
¿Vieron la diferencia?
Outlook Express
Llegados a este punto podemos configurar nuestro clientes de correo electrónico (en mi caso Outlook
Express). Lo abrimos y escogemos el menú:
Herramientas > Cuentas > Agregar > Cuenta de correo electrónico
Primero ponemos el nombre:
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
[6]
Luego la dirección de correo electrónico:
[7]
Direccion del servidor de entrada y salida de los correos electronicos (seleccionamos tambien la casilla
aparece en la imagen):
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
[8]
Nombre de usuario y contraseña (como lo hemos creado con el comando adduser en Linux):
[9]
Terminamos dando click en el botón ?Finalizar?
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
[10]
Ahora escribimos nuestro primer correo electrónico usando la cuenta recién creada. Cuando intentarem
enviar el correo nos saldrá este error:
[11]
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
Esto sucede porque, como hemos visto anteriormente el mecanismo de autenticación PLAIN LOGIN so
funciona dentro de una conexión segura. Tenemos que volver a la configuracion de la cuenta y en la eti
?Opciones avanzadas? hacer estas modificaciones:
[12]
Le damos Aplicar y Aceptar y volvemos a enviar el correo electrónico. Aparecerá una ventanita
preguntandonos si queremos aceptar el certificado del servidor. Le demos Sí
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
[13]
Este es el resultado:
[14]
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
De esta forma tendremos un servidor de correo electrónico configurado de manera segura, bloqueando
correo no deseado y que no permite el envío de correos electrónicos, a través del server, a clientes que
estén autenticados y que usen una conexión segura (SSL/TLS).
Cortafuego
Si tenemos instalado un cortafuego (tipo IPtables) estos son los puertos que tenemos que abrir:
25 TCP
465 TCP
587 TCP
110 TCP
995 TCP
143 TCP
993 TCP
Sugerencias?
Comentarios
Lun, 19/10/2009 - 14:16 ? admin
Test Antispam
Para probar que efectivamente Sendmail no está aceptando correo no deseado desde la linea de coma
de Linux podemos utilizar este comando:
telnet relay-test.mail-abuse.org
Al terminar las varias pruebas miramos los resultados:
Tested host banner: 220 voztovoice.com ESMTP Sendmail 8.13.8/8.13.8; Mon, 19 Oct 2009 14:13
0500
System appeared to reject relay attempts
Connection closed by foreign host.
Mié, 05/05/2010 - 23:45 ? Anónimo (no verificado)
Prueba con telnet no superada
5/11/2018 Instalar y Configurar Un Servidor SMTP_POP3_IMAP en CentOS - slidepdf.com
http://slidepdf.com/reader/full/instalar-y-configurar-un-servidor-smtppop3imap-en-centos
Buenos días
Después de completar el tutorial, al hacer pruebas, no aparece la línea:
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5
De todas maneras, las demás pruebas fueron exitosas. Excelente guía.
Gracias
Dovecot [15] Outlook Express [16] SASL [17] Sendmail [18] Spamass-milter [19] SpamAssassin [20] SSL [21] TLS
URL de origen (Obtenido en 01/11/2011 - 17:46 ): http://voztovoice.org/?q=node/219
Enlaces:
[1] http://www.voztovoice.org/?q=node/159
[2] http://www.voztovoice.org/?q=node/141
[3] http://es.wikipedia.org/wiki/SASL
[4] http://es.wikipedia.org/wiki/MX_%28registro%29
[5] http://savannah.nongnu.org/projects/spamass-milt/ [6] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE1.jpg
[7] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE2.jpg
[8] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE3.jpg
[9] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE4.jpg
[10] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE5.jpg
[11] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE6.jpg
[12] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE7.jpg
[13] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE8.jpg
[14] http://www.voztovoice.org/tmp/InstalaryconfigurarunservidorSMTPPOP3IMA_8E4A/OE9.jpg
[15] http://voztovoice.org/?q=taxonomy/term/185[16] http://voztovoice.org/?q=taxonomy/term/246
[17] http://voztovoice.org/?q=taxonomy/term/243
[18] http://voztovoice.org/?q=taxonomy/term/186
[19] http://voztovoice.org/?q=taxonomy/term/245
[20] http://voztovoice.org/?q=taxonomy/term/244
[21] http://voztovoice.org/?q=taxonomy/term/187
[22] http://voztovoice.org/?q=taxonomy/term/188
Top Related