Configurar un Servidor de Correo Interno con Sendmail y Dovecot en FEDORA 13 Este artículo pretende explicar cómo configurar un servidor de correo interno con Sendmail y Dovecot, usando configuraciones básicas; en el que no se aplica ninguna configuración adicional como antispamo aspectos de seguridad. Pero si lo que necesita es configurar un servidor de correo público próximamente escribiremos un artículo sobre como configurarlo. En el ejemplo se ha utilizado como Sistema Operativo Fedora 13
Sobre Sendmail: Sendmail es un popular "agente de transporte de correo" (MTA - Mail Transport Agent) en Internet, cuya tarea consiste en "encaminar" los mensajes 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.(Fuente Wikipedia)
Instalación de Sendmail, Dovecot y Cyrus Se procederá a la instalación de los paquetes sendmail sendmail.cf dovecot cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 make m4. Utilizaremos la siguiente línea de comando: [SHELL]#yum install -y sendmail sendmail.cf dovecot cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 make m4 Configuración básica Ahora procederemos a modificar los ficheros que se instalan por defecto:
1
Configuración del fichero /etc/mail/access [SHELL]# gedit /etc/mail/access En fichero se define el dominio y dirección IP que podra hacer uso del servidor de correo. Debe modificarlo de la siguiente manera: Connect: 192.168.3.15
RELAY
Connect: dominio.local
RELAY
Configuración del fichero /etc/mail/local-host-names [SHELL]# gedit /etc/mail/local-host-names Se utilizar para definir el dominio y equipo del cual sendmail va a recibir correo. nombreequipo.dominio.local dominio.local
Creación y configurarción dell fichero /etc/mail/relay-domains [SHELL]# gedit /etc/mail/relay-domains En este fichero se agregará el dominio y nombre de equipo desde o hacia las que podemos hacer transmisión de correo. dominio.local nombreequipo.dominio.local
Configuración del fichero /etc/mail/sendmail.mc [SHELL]# gedit /etc/mail/sendmail.mc
Este fichero contiene la configuración completa del servidor de correo.
2
Activando interface de red Por defecto sendmail está configurado para enviar correos desde la interfaz loopback 127.0.0.1,esto quiere decir que unicamente el servidor envia correos a sí mismo, para cambiar este comportamiento solo deberas ubicar la siguiente linea: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl Cambiarla por DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
Enmascarar el dominio En esta linea definimos que todos los correos salientes desde el servidor con el nombre del dominio. dnl MASQUERADE_AS(`mydomain.com')dnl Cambiarla por MASQUERADE_AS(`dominio.local')dnl
Especificando que es un dominio local, agregando esta linea al final del archivo Cwdominio.local
Sustituyendo los parametros del fichero /etc/mail/sendmail.cf con los agregados en el archivo /etc/mail/sendmail.mc [SHELL]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf Este comando toma un archivo input y sustituye las cadenas dentro de él con los parámetros transmitidos, lo cual es similar a sustituirlas por variables desde el archivo sendmail.mc.
3
Configuración del fichero /etc/dovecot.conf [SHELL]# gedit /etc/dovecot.conf Por defecto,el servidor dovecot están deshabilitados los protocolos pop e imap lo cuales son necesarios para la entrega de correo, busque la linea: #protocols = imap imaps pop3 pop3s y sustituyala por protocols = imap pop3
También debe habilitar el puerto que escuchará en el protocolo imap, para ello busque las lineas: #protocol imap { #listen = *:10143 #ssl_listen = *:10943 #.. #} y sustituyalas por protocol imap { listen = *:143 }
Además debe habilitar el puerto que escuchará en el protocolo pop3, para ello busque las lineas: #protocol pop3 { #listen = *:10100 #.. #} y sustituyalas por protocol pop3 { listen = *:110 4
}
Asignando el direcotorio de entrega de mensajes #mail_location = mbox:~/mail:INBOX=/var/mail/%u Sustituyala por mail_location = mbox:~/mail:INBOX=/var/mail/%u
Reiniciando el servicio sendmail e iniciando el servicio dovecot [SHELL]#service sendmail restart [SHELL]#service dovecot start
Otras variantes [SHELL]#service sendmail [status | restart | start | stop | reload] [SHELL]#service dovecot [status | restart | start | stop | reload]
Agregar al inicio del sistema el servicio dovecot Para que cada vez que iniciemos nuestro servidor inicie automáticamente el servicio dovecot, debemos ejecutar el siguiente comando [SHELL]#chkconfig dovecot on
Modificar el archivo /etc/hosts [SHELL]#gedit /etc/hosts Para que resuelva el dominio local en nuestro servidor local. 192.168.3.15
dominio.local
intranet
5
Creando cuentas de usuario de correo [SHELL]#useradd -s /sbin/nologin nombreusuario1 [SHELL]#passwd nombreusuario1
(Digitar la clave) Creamos otra cuenta para hacer pruebas de envío y recepción de mensajes. [SHELL]#useradd -s /sbin/nologin nombreusuario2 [SHELL]#passwd nombreusuario2
(Digitar la clave) Probando
nuestro servidor de correo
Haciendo pruebas con el protocolo SMT P (correo saliente) [SHELL]#telnet 127.0.0.1 25 Luego digitar los siguientes comandos HELO dominio.local 250 dominio.local Hello your.host [127.0.0.1], pleased to meet you
MAIL FROM:
[email protected] 250 2.1.0 ... Sender ok
RCPT TO:
[email protected] 250 2.1.5 ... Recipient ok
DATA
Esta es una prueba desde telnet
250 2.0.0 k2IM2RjA0053987 Message accepted for delivery QUIT
6
221 2.0.0 dominio.local closing connection C onnection
closed by foreign host.
Haciendo pruebas con el protocolo
POP3
(correo entrante)
[SHELL]#telnet 127.0.0.1 110 T rying
127.0.0.1...
C onnected
to dominio.local (127.0.0.1).
Escape character is '^]'. +OK dovecot ready.
USER nombreusuario2 +OK
PASS claveasignada +OK Logged in.
LIST +OK 1 messages: 1 128
RETR 1
7