servidor de correos con sendmail + dovecot + saslauthd ... · una nueva versión de bind (bind 9)...

10
Servidor de Correos con Sendmail + Dovecot + Saslauthd +Bind9 Por: Jairo Mora William López Instituto Tecnológico del Putumayo - ITP Se utilizaran estas herramientas adicionales ya que prestan una mejor forma para la utilización del servidor ya que Sendmail por sí solo no cuenta con Autenticación ni servicio de revisión de correos como es IMAP y POP3. ¿Qué es Sendmail? Es un popular "agente de transporte de correo" (MTA - Mail Transport Agent) en Internet, cuya tarea consiste en "encaminar" los mensajes correos de forma que estos lleguen a su destino. Se afirma que es el más popular MTA, compatible con sistemas Unix y el responsable de la mayoría de envío del correo de internet, aunque se le critica su alto número de alertas de seguridad (la mayoría de ellas parcheadas a las pocas horas), además de no ser sencillo de configurar. ¿Qué es Dovecot? Es un servidor de IMAP y POP3 de código abierto para sistemas GNU/Linux / UNIX-like, escrito fundamentalmente pensando en seguridad. Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del año 2002. Dovecot apunta fundamentalmente a ser un servidor de correo de código abierto ligero, rápido, fácil de instalar y por sobre todo seguro. ¿Qué es Saslauthd? Un proceso demonio que maneja las peticiones de autenticación de texto plano, en nombre de la biblioteca SASL ¿Qué es Bind9? (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC. Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux. Preparación Inicial: Nota: la instalación es en Distros derivadas de Debian Para las Distros basadas en rpm podría cambiar los nombres de los paquetes no así los archivos de configuración. Esta instalación se llevara a cabo en Ubuntu Lucid.

Upload: buitu

Post on 04-Nov-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Servidor de Correos con Sendmail + Dovecot + Saslauthd +Bind9 Por: Jairo Mora William López

Instituto Tecnológico del Putumayo - ITP

Se utilizaran estas herramientas adicionales ya que prestan una mejor forma para la utilización del servidor ya que Sendmail por sí solo no cuenta con Autenticación ni servicio de revisión de correos como es IMAP y POP3.

¿Qué es Sendmail?

Es un popular "agente de transporte de correo" (MTA - Mail Transport Agent) en Internet, cuya tarea consiste en "encaminar" los mensajes correos de forma que estos lleguen a su destino. Se afirma que es el más popular MTA, compatible con sistemas Unix y el responsable de la mayoría de envío del correo de internet, aunque se le critica su alto número de alertas de seguridad (la mayoría de ellas parcheadas a las pocas horas), además de no ser sencillo de configurar.

¿Qué es Dovecot? Es un servidor de IMAP y POP3 de código abierto para sistemas GNU/Linux / UNIX-like, escrito fundamentalmente pensando en seguridad. Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del año 2002. Dovecot apunta fundamentalmente a ser un servidor de correo de código abierto ligero, rápido, fácil de instalar y por sobre todo seguro.

¿Qué es Saslauthd?

Un proceso demonio que maneja las peticiones de autenticación de texto plano, en nombre de la biblioteca SASL

¿Qué es Bind9? (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC. Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux.

Preparación Inicial: Nota: la instalación es en Distros derivadas de Debian Para las Distros basadas en rpm podría cambiar los nombres de los paquetes no así los archivos de configuración. Esta instalación se llevara a cabo en Ubuntu Lucid.

Page 2: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Instalar los paquetes necesarios: $ sudo apt-get install sendmail dovecot-pop3d dovecot-imapd sasl2-bin bind9

Configuración del Servidor Bind9 Crearemos un dominio Llamado para este ejemplo. correo1.esto para ello modificamos el siguiente archivo named.conf.default-zones. Le agregamos las siguientes líneas al final del archivo

zone "correo1.esto"{ type master; file "/etc/bind/correo1.esto"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.103"; }; Explicación de las líneas anteriores

zone "correo1.esto" // esta parte es donde se pone el dominio que crearemos

type master; // Esta área nos dice que el nombre de dominio es principal o maestro

file "/etc/bind/correo1.esto"; // en esta pare se declara el archivo que crearemos para la configuración de nuestro nombre de dominio

Parte 2

zone "1.168.192.in-addr.arpa" { // En esta parte declaramos la zona inversa como se puede ver se declara la ip del servidor de forma inversa. La ip inversa que ponemos es la de la pc donde instalamos bind

Creando los archivos de configuración para el dominio

Utilizaremos los archivos db.local y db.127 Crearemos copia de estos dos archivos que usaremos como plantillas Renombrando con los nombres de la parte anterior

db.local lo cambiamos a correo1.esto

Contenido de correo1.esto Cambiamos todos los localhost por la dirección del ejemplo o sea correo1.esto

; ; BIND data file for local loopback interface

; $TTL 604800

@ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh

86400 ; Retry

2419200 ; Expire

Page 3: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

604800 ) ; Negative Cache TTL

; @ IN NS localhost. @ IN A 127.0.0.1

@ IN AAAA ::1

Quedará de la siguiente forma

; ; BIND data file for local loopback interface

; $TTL 604800

@ IN SOA correo1.esto. root.correo1.esto. ( 2 ; Serial 604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

; @ IN NS correo1.esto. @ IN A 192.168.0.103 // o la ip de nuestro server @ IN MX 0 correo1.esto // Esta línea es la que nos permitirá recibir // correos del exterior

Cambiando el nombre al archivo db.127 por db.103 nos aparecerá algo como

; ; BIND reverse data file for local loopback interface

; $TTL 604800

@ IN SOA localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

; @ IN NS localhost. 1.0.0 IN PTR localhost.

Debe de quedar algo así: ; ; BIND reverse data file for local loopback interface

; $TTL 604800

@ IN SOA correo1.esto. root.correo1.esto. ( 1 ; Serial 604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

Page 4: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

@ IN NS correo1.esto. 103 IN PTR correo1.esto.

Habilitamos el puerto 25 con el siguiente comando

Sendmail –bd –q15m

Configuración del hostname de la maquina

1° Reemplazamos el contenido de el archivo /etc/hostname , con el nombre de dominio que usaremos . En el ejemplo correo1.esto

2° lanzamos el comando sudo hostname correo1.esto

3° Reiniciar la pc.

Configuración de Sendmail

Necesitamos Modificar unas líneas en /etc/mail/sendmail.mc. Esto sirve para poder recibir correo desde otras pc y del exterior DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea')dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea', Addr=127.0.0.1')dnl

Debe de quedar asi: dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea')dnl dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea')dnl

se deben agregar estas 2 lineas para que los correos lleguen a la entrada poderse loguear en el protocolo pop3

Ejecutamos el comando en la ruta /etc/mail# m4 sendmail.mc > etc/mail/sendmail.cf

Configurar el archivo local-host-names Como nuestras direcciones son "[email protected]", nuestro servidor debe asumir como SUYOS todos los mensajes dirigidos a "@correo1.esto". Esto se consigue escribiendo "correo1.esto" en el archivo /etc/mail/local-host-

names: Borramos todo lo que contenga el archivo y escribimos correo1.esto

Configurar: /etc/hosts Se coloca en 127.0.1.1 servidor.local (nombre del dominio local) 192.168.1.27 JAIRO-PC (clientes que se conectaran)

Page 5: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Permitir Clientes esto lo hacemos agregando las siguientes lineas e el archivo /etc/mail/access Connect:192.168.1.103 OK GreetPause:192.168.1.103 0 ClientRate:192.168.1.103 30 ClientConn:192.168.1.103 0

Configurar e Iniciar DOVECOT Nano /etc/dovecot/dovecot.conf Añadimos la línea de protocolos Protocols = imap pop3 pop3s imaps También la línea de la localización del mail Mail_location=mbox:~/mail:INBOX=/var/mail/%u

sudo service dovecor restart

INICIAR SASLAUTHD

Modificar el archivo /etc/default/saslauthd START= yes #Cambiamos en mechanisms MECHANISMS=”sasldb”

LUEGO

sudo service saslauthd

AGREGAR USUARIOS Primero al sistema: Adduser pepe Pass: admin Re-pass: admin Ahora entrar con ese usuario y crear el directorio para el correo: Su pepe Mkdir –p /home/pepe/Maildir/{cur,new,tmp}

sudo saslpasswd2 nombre_de_usuario

Nota: El usuario debe existir en el sistema Descargar el squirrelmail: Apt-get install squirrelmail Luego configurarlos: Squirrelmail-configure Escogemos la opcion d Y escribimos dovecot y enter

Page 6: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Luego escogemos la opción 2 Server Settings: Luego la opción 1: Domain: Y escribimos nuestro dominio: servidor.local y enter Luego nos dirigimos a la opción 3 escogemos Opción 1 sendmail enter Guardamos y salimos Ahora para poder correrlo en el navegador escribimos el siguiente código. Nos dirigimos a la siguiente ruta: cd /var/www/html Sudo ln –s /usr/share/squirrelmail webmail Ahora vamos a descargar el squirremail y configurar

Ahora nos dirigimos a squirremail-configure

Y le damos la letra D y enter

Escribimos Dovecot

Page 7: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Elegimos el número 2 para el dominio, luego el numero 1

En mi caso servidor.local, enter

Y le damos q, y confirmamos con “y” para salir

Page 8: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Ahora para poder aceder al navegador accedemos a la siguiente ruta:

Cd /var/www/html

Y ahora escribimos aquí el siguiente código:

Page 9: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Listo entramos al navegador Firefox y escribimos en la barra de direcciones localhost/webmail

Entramos con root para crear usuarios:

Sudo su

Para poder agregar un usuario es con el comando adduser y el nombre del usuario, nos pregunta

unas cosas y los rellenamos o si no le damos solo enter

Page 10: Servidor de Correos con Sendmail + Dovecot + Saslauthd ... · Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes

Ahora entramos como usuario fulano

Y le creamos un directorio para que recepciones los correos de esa cuenta.