Postfix
Instalar y configurar Postfix para CentOS es fácil. Postfix viene con una configuración muy
segura, asi que tratar...
ehlo mail
Debe salir algo como esto:
250-mail.bavrit.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDST...
Return-Path: <juan@mail.bavrit.com>
X-Original-To: juan
Delivered-To: juan@mail.bavrit.com
Received: from mail (localhost....
Dovecot
La instalación de Dovecot en CentOS o RHEL es fácil. Todo lo que necesitamos es decirle que
protocolos necesitamos...
for <juan>; Tue, 9 Oct 2007 20:00:58 -0500 (PET)
Message-Id: <20071010010105.D33AE10042@mail.bavrit.com>
Date: Tue, 9 Oct ...
smtpd_tls_key_file = /etc/postfix/ssl/mail.key
smtpd_tls_cert_file = /etc/postfix/ssl/mail.crt
smtpd_tls_CAfile = /etc/pos...
Postfix
Upcoming SlideShare
Loading in …5
×

Postfix

557 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
557
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Postfix

  1. 1. Postfix Instalar y configurar Postfix para CentOS es fácil. Postfix viene con una configuración muy segura, asi que trataremos de abrirla un poco. Si no instaló Postfix durante la fase de selección de paquetes puede instalarlo ahora mismo usando el siguiente comando: yum install postfix Ahora configuremos el archivo /etc/postfix/main.cf: nano -w /etc/postfix/main.cf Busque los siguientes parámetros y cámbielos según dice aqui: inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain home_mailbox = mail/ Con esto decimos que Postfix responda a los pedidos en la red y ademas que use el formato Maildir que es mejor que el que viene por defecto, llamado mbox. Las líneas que empiezan con # son comentarios. Una vez hechos los cambios guárdelos con Control+X (si usa nano como su editor de textos). Reinicie el servicio Postfix: service postfix restart Y agréguelo a los servicios que se iniciarán al cargar el sistema: chkconfig --levels 345 postfix on Ahora agregue un usuario al sistema de la siguiente manera: useradd juan Ahora, no olvide de ponerle como shell /bin/false, asi Ud. no le permite conectarse al servidor por medio de SSH. Además no olvide de asignarle una contraseña. Hágalo mediante el siguiente comando: usermod -s /bin/false juan passwd juan Ahora probaremos nuestra instalación de Postfix usando telnet. El punto después de test es un comando que debe ser escrito. Expliquemos paso a paso: [root@mail ~]# telnet localhost smtp Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.bavrit.com ESMTP Postfix Ahora tipee:
  2. 2. ehlo mail Debe salir algo como esto: 250-mail.bavrit.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN Ahora pruebe enviando un email. Debe escribir lo que dicen las líneas: ehlo su-host mail from: su-usuario (remitente) rcpt to: su-usuario (destinatario) data test (el cuerpo del mensaje, el punto es para finalizar la redacción) . quit (cerrar sesión) [root@mail ~]# telnet localhost smtp Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.bavrit.com ESMTP Postfix ehlo mail 250-mail.bavrit.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: juan 250 2.1.0 Ok rcpt to: juan 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> test . 250 2.0.0 Ok: queued as D33AE10042 quit 221 2.0.0 Bye Connection closed by foreign host. Verifique si el correo llegó: [root@mail ~]# cd /home/juan/mail/new [root@mail new]# ls 1191978078.V803I277e8M857132.mail.bavrit.com [root@mail new]# cat 1191978078.V803I277e8M857132.mail.bavrit.com No se preocupe, no tiene que tipear todo el nombre del archivo, basta con que escriba los dos primeros caracteres y presionar Tab para que se complete automáticamente.
  3. 3. Return-Path: <juan@mail.bavrit.com> X-Original-To: juan Delivered-To: juan@mail.bavrit.com Received: from mail (localhost.localdomain [127.0.0.1]) by mail.bavrit.com (Postfix) with ESMTP id D33AE10042 for <juan>; Tue, 9 Oct 2007 20:00:58 -0500 (PET) Message-Id: <20071010010105.D33AE10042@mail.bavrit.com> Date: Tue, 9 Oct 2007 20:00:58 -0500 (PET) From: juan@mail.bavrit.com To: undisclosed-recipients:; test Si todo sale bien sigamos con los siguientes pasos, sino, puede verificar algun error en el archivo /var/log/maillog. Ahora procedamos con la autenticación SMTP para esto abrimos el fichero /usr/lib/sasl2/smtpd.conf (/usr/lib64/sasl2/smtpd.conf para usuarios de 64-bits) y agregue la siguiente línea: mech_list: PLAIN LOGIN Inicie o reinicie el servicio saslauthd: service saslauthd restart Y agréguelo a los servicios que se iniciarán al cargar el sistema: chkconfig --levels 345 saslauthd on Ahora necesitamos reconfigurar Postfix: nano -w /etc/postfix/main.cf Busque los siguientes parámetros y cámbielos como dice aquí, si no encuentra algún parámetro agreguelo al final del archivo. mynetworks = 127.0.0.0/8 smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients = yes La primera línea dice que sólo se puede enviar desde localhost, esto es, que sólo localhost puede enviar correos al exterior. La última línea es para el soporte de clientes de correo antiguos como Microsoft Outlook Express 4.0 y Microsoft Exchange 5.0, sólo en caso alguien los siga usando. Reinicie Postfix: service postfix restart Ahora con esto ya tenemos nuestro servidor SMTP con autenticación funcionando. Sigamos con Dovecot nuestro servidor IMAP y POP3. Si todo sale bien sigamos con los siguientes pasos, sino, puede verificar algun error en el archivo /var/log/maillog.
  4. 4. Dovecot La instalación de Dovecot en CentOS o RHEL es fácil. Todo lo que necesitamos es decirle que protocolos necesitamos y ya, todo listo. Abrimos el archivo /etc/dovecot.conf: nano -w /etc/dovecot.conf Encuentre los siguientes parámetros y cámbielos según diga lo siguiente: protocols = pop3 pop3s imap imaps mail_location = maildir:~/mail/ passdb pam { session=yes } imap_client_workarounds = delay-newmail outlook-idle netscape-eoh pop3_client_workarounds = outlook-no-nuls oe-ns-eoh Guárdelo. Las líneas que empiezan con # son comentarios. Las dos últimas líneas son parámetros para no tener problemas con algunos clientes de correo, los cuales tienen algunos bugs. Reinicie o inicie Dovecot: service dovecot restart Y agréguelo a los servicios que se iniciarán al cargar el sistema: chkconfig --levels 345 dovecot on Ahora vamos a probar Dovecot uasndo telnet. Debe escribir lo que dicen las líneas: user su-usuario pass su-contraseña list (listar los mensajes recibidos) retr 1 (ver el primer mensaje) quit (salir) [root@mail ~]# telnet localhost pop3 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user juan +OK pass contraseña +OK Logged in. list +OK 1 messages: 1 427 . retr 1 +OK 427 octets Return-Path: <juan@mail.bavrit.com> X-Original-To: juan Delivered-To: juan@mail.bavrit.com Received: from mail (localhost.localdomain [127.0.0.1]) by mail.bavrit.com (Postfix) with ESMTP id D33AE10042
  5. 5. for <juan>; Tue, 9 Oct 2007 20:00:58 -0500 (PET) Message-Id: <20071010010105.D33AE10042@mail.bavrit.com> Date: Tue, 9 Oct 2007 20:00:58 -0500 (PET) From: juan@mail.bavrit.com To: undisclosed-recipients:; test . quit +OK Logging out. Connection closed by foreign host. Si todo sale bien sigamos con los siguientes pasos, sino, puede verificar algun error en el archivo /var/log/maillog. Implementación de SSL/TLS Ahora un punto muy importante es la seguridad. Ahora les mostraremos como lograrlo. Configuraremos nuestro servidor de correo para que utilice SSL/TLS para obtener conexiones seguras. Obtener un certificado digital Lo primero que se debe hacer es obtener un certificado digital ya sea gratuito, firmado por nosotros mismo o por alguna entidad comercial. En esta ocación usaremos CAcert.org para que firme nuestro certificado digital, primero debemos hacer una petición: cd ~ mkdir ssl cd ssl openssl genrsa -out mail.key 1024 openssl req -new -key mail.key -out mail.csr Ahora regístrese en www.cacert.org e ingrese el contenido del archivo mail.csr y en unos segundos tendrá ya su certificado firmado y listo para usarse. Nota: Para Postfix debe bajarse el certificado raíz que se encuentra aquí. Para descargar haga click derecho en el link y guárdelo como cacert.crt. Guarde el texto que sale al pedir un certificado en un archivo llamado mail.cert. Postfix + TLS Ahora procedamos a configurar Postfix para que haga uso de nuestro certificado digital. mkdir /etc/postfix/ssl cd ~/ssl cp mail.crt mail.key cacert.crt /etc/postfix/ssl Adjunte estas líneas al final del archivo /etc/postfix/main.cf: smtpd_use_tls = yes smtpd_tls_auth_only = yes
  6. 6. smtpd_tls_key_file = /etc/postfix/ssl/mail.key smtpd_tls_cert_file = /etc/postfix/ssl/mail.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.crt smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom Finalmente reinicie Postfix: service postfix restart Para comprobar si está bien su configuración ejecute: telnet localhost smtp La línea relevante es: 250-STARTTLS Si salió esto, entonces quiere decir que todo anda bien. Nota: Al configurar nuestro cliente de correo, use el método TLS, de lo contrario el servidor no enviará ningún correo, ya que se le especificó que si no se usa TLS que no se envie nada. Si no se quiere esto puede cambiar la variable smtpd_tls_auth_only a "no". Dovecot + SSL Ahora nos toca configurar Dovecot para que haga uso de nuestros certificados digitales. cd ~/ssl cp mail.crt /etc/pki/dovecot/certs/dovecot.pem cp mail.key /etc/pki/dovecot/private/dovecot.pem Ahora editamos el archivo /etc/dovecot.conf y quitamos el símbolo de comentario (#) a las siguientes variables: ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem ssl_key_file = /etc/pki/dovecot/private/dovecot.pem Finalmente reinicie Dovecot: service dovecot restart Y listo, configure su cliente de correo especificando que se quiere una conexión de tipo SSL. Conclusión Con esto terminamos la configuración de nuestro servidor de correos usando CentOS o RHEL. Si tiene alguna duda o comentario, por favor use los foros o envie un comentario, gracias. Nota: Al momento de configurar los clientes de correos use usuario en lugar deusuario@dominio.com.

×