Servidor de correo con Postfix + Spamassassin + Dovecot
Transcripción
Servidor de correo con Postfix + Spamassassin + Dovecot
Servidor casero V: Servidor de correo con Postfix + Spamassassin + Dovecot He estado tiempo utilizando qmail como servidor de correo. En mi servidor casero lo sigo haciendo por pereza a cambiarlo pero cualquier dia le echaré esos 10 minutos de tiempo que cuesta poner otro a funcionar. Pero tras muchos fallos con algunos proveedores y acabar aterrizando en un sitio totalmente decente (al menos hasta el momento) me he dado cuenta de que qmail seguia fallando como antes. Obviamente no era el culpable de que la máquina se parase casi cada dia o de que los dominios dejarán de funcionar, o de que el Plesk no hiciera lo que tenia que hacer. Pero si que es cierto que en el nuevo servidor, donde todo funciona a la perfección, qmail se sigue parando sin motivo aparente. Quizás sea una mala administración por mi parte pero sigo siendo tan malo como siempre y desde que he puesto postfix, sin mucho esfuerzo, todo funciona a la perfección. Funciona tan bien que el filtro anti-spam que utilizamos (spamassassin) se ha puesto a funcionar nada más instalarle como compañero al nuevo servidor de correo Postfix. Antes no hacia ni caso y nunca supe porqué. Instalación La instalación es sencilla, simplemente instalar el paquete postfix con apt: apt-get install postfix Configuración La configuración esta almacenada en /etc/postfix. No hace falta tocar mucho. Los ficheros importantes son: • /etc/postfix/main.cf: Almacena la configuración principal del servidor. • /etc/postfix/virtual: Almacena la información de los dominios virtuales Dentro del fichero main.cf (que ya contendrá algunas líneas) hay que asegurarse de añadir esta información: myhostname = midominio.com mydestination = midominio.com, midominio, localhost.localdomain, localhost, hash:/etc/postfix/virtual mynetworks = 127.0.0.1 mailbox_command = procmail -a "$EXTENSION" virtual_alias_maps = hash:/etc/postfix/virtual virtual_alias_domains = home_mailbox = Maildir/ Se presupone que midominio.com es el dominio asociado a la máquina donde has instalado el servidor de correo. Tal y como se puede ver en el ejemplo del fichero de configuración, estoy utilizando el formato Maildir para almacenar el correo en el disco duro. Me parece bastante más eficiente que mbox puesto que éste almacena todo en un mismo fichero de texto. Es de suponer que cuando se tenga un gran volumen de correo almacenado empezará a ser menos eficiente que Maildir. Para utilizarlo simplemente es necesario ejecutar el comando maildirmake Maildir en cada una de las carpetas de los usuarios que utilizarán el correo. También conviene ejecutarlo sobre /etc/skel de manera que cualquier nuevo usuario ya incorpore dicha carpeta en su “home” simplemente dándolo de alta en el sistema. El siguiente paso es configurar correctamente procmail, puesto que se ejecuta para procesar cada correo que llega a nuestro servidor postfix. Esta configuración se almacena en /etc/procmailrc y en mi caso tengo lo siguiente: DROPPRIVS=yes DEFAULT=$HOME/Maildir/ :0fw | /usr/bin/spamassassin :0 * ^X-Spam-Status: Yes $DEFAULT Indicando la carpeta donde cada usuario almacena su correo e indicando la ruta al filtro anti-spam que utilizado (spamassassin), el cual he de decir que funciona muy bien. Un poco más abajo comentaré como configurarlo. Direcciones de correo y usuarios Sólo queda indicar a postfix que hacer con las direcciones de correo que vayamos queriendo utilizar y a qué usuarios asociarlas. Existe la forma de crear usuarios en base de datos de manera que se independizan las direcciones de correo de los usuarios reales del sistema. Muy útil en entornos multidominio donde se puede necesitar el mismo usuario para más de un dominio: [email protected] y [email protected], donde los dos usuarios realmente no tienen nada que ver. Para esto debemos editar el fichero /etc/postfix/virtual, cuyo uso ya hemos indicado en el fichero de configuración inicial anteriormente. Si suponemos que tengo algunos usaurios y un par de dominios, quedaría asi: midominio.com otrodominio.com midominio otrodominio [email protected] astable [email protected] otrotio [email protected] astable-otro Se puede ver como asociar una dirección de correo a un usuario real del sistema. De esa manera cuando postfix reciba un correo para una dirección determinada lo depositará en el buzón del usuario del sistema que corresponda. Filtro Anti-Spam Actualmente uso spamassassin como filtro. No se entera de todos los correos no deseados pero está teniendo cerca de un 95% de eficiencia, lo que me parece dificil de superar. Apenas se le escapa algún correo spam sin marcarlo. En este caso tengo el filtro configurado para que me marque los correos no deseados añadiendome el texto [SPAM] al inicio del asunto de cada uno. Asi, puedo filtrarlo automaticamente según llega a mi bandeja de entrada y comprobar si todo lo marcado como spam lo es realmente. La opción borrarlo definitivamente me parece demasiado agresiva. Para ello he añadido la siguiente línea al fichero de configuración de spamassassin, en /etc/spamassassin/local.cf: rewrite_header subject [SPAM] Por lo demás, el filtro se las apaña muy bien sin tocar nada más. Cómo ver el correo Para poder ver el correo tenemos dos opciones. Una pasa por consultarlo a través de la web utilizando un sistema webmail o bien descargarlo a nuestro ordenador a través del protocolo POP. Para el primer caso utilizo squirrelmail. Solución gratuita, sencilla, quizás algo “fea” pero muy eficiente y sin demasiadas historias de esas que jamás llegas a usar nunca. Además, dispone de muchos plugins que permiten ampliar su funcionalidad. En este caso hay que instalar un servidor IMAP (en mi caso dovecot) y el sistema webmail: apt-get install dovecot-imapd Y para el caso de squirrelmail nos vamos a su página y lo instalamos en algún subdominio de nuestra máquina. Prácticamente nos apañaremos con la configuración por defecto que trae. Para el segundo caso, estoy utilizando dovecot como servidor POP y ya que cada uno utilice en su ordenador el cliente de correo que prefiera (Outlook, Mozilla Thunderbird, . . .): apt-get install dovecot-pop3d En definitiva, un sistema de correo con Postfix como servidor de correo, spamassasin como filtro antispam, dovecot como servidor IMAP y POP3, y Squirrelmail como sistema webmail. Software libre funcionando a la perfección, coste económico cero y coste de administración también cero. Como habéis podido ver no es díficil instalarlo y configurarlo y una vez puesto en marcha no hay que hacer nada. Funciona solo. Una solución que no sólo nos servirá para nuestro servidor casero. Es una solución totalmente operativa y muy recomendable para entornos más profesionales en servidores que necesiten un buen rendimiento en el sistema de correo y tengan un gran volumen de tráfico. http://blog.arkabytes.com/software-libre/servidor-casero-v-servidor-de-correo-con-postfix/