Академический Документы
Профессиональный Документы
Культура Документы
La suite de colaboracin Zimbra nos encanta y ya os hemos contado anteriormente cmo empezamos a usarla,
que tenemos desarrollos para ella, cmo crear certificados SSL con firma SHA256 o cmo gestionar el estado
free/busy o libre/ocupado de la agenda.
Hoy comienzo una serie de posts para explicar cmo realizar una instalacin y configuracin completa de
un sistema de correo electrnico profesional utilizando su edicin Open Source. Una vez finalizados,
tendremos nuestro sistema de correo con Zimbra funcionando y listo para produccin.
Dado que muchos de nosotros ya tenemos un sistema de correo electrnico, la idea es realizar esta instalacin
configurndolo en paralelo y, cuando la demos por terminada, hacer el cambio del DNS pblico para convertir
el nuevo sistema en el principal de produccin.
En este tipo de tutoriales es fcil siempre ir a copiar-pegar los pasos, pero creo que lo mejor es hacer una
primera lectura para entender los pasos y luego ponernos con ello.
Pasos previos
Para la instalacin utilizaremos la ltima versin estable en este momento, que es Zimbra 8.6. Para ello
necesitaremos un servidor con la instalacin de una de las distribuciones soportadas por Zimbra. En nuestro
caso vamos a utilizar la versin 64 bits de la LTS de Ubuntu 14.04 server edition.
En caso de que prefiris cualquiera de las otras distribuciones soportadas, los pasos sern parecidos, pero
tendris que adaptarlos a la distribucin elegida.
No entra en este tutorial explicar cmo realizar la instalacin de la distribucin elegida, pero nos tenemos que
asegurar de que cumple una serie de requisitos para que posteriormente la instalacin de Zimbra sea correcta.
Aparte de lo siguiente que exponemos, slo indicamos que se instale el servidor SSH durante la instalacin.
Hostname: Tenemos que tener en cuenta el nombre que le queremos dar al servidor, ya que Zimbra lo
tiene muy en cuenta durante su instalacin. Para nuestro ejemplo, durante la instalacin de Ubuntu, le
hemos dado el nombre de la mquina mail y al nombre de dominio irontec.com Tras la
instalacin:
El hostname mail.irontec.com ser el registro MX que tendr nuestro dominio irontec.com en el DNS, de ah la
importancia del mismo.
Lgicamente tendris que cambiar la IP 123.1.2.3 por la IP pblica donde vis a realizar la instalacin de
Zimbra.
Este paso nos lo podramos saltar e ir directamente a la instalacin de Zimbra, pero durante la instalacin nos
dara un aviso como el siguiente (fijaros en las lneas resaltadas):
Por lo tanto, para que no nos salte este error, y hagamos una instalacin de la mejor manera posible, lo que
tenemos que hacer es realizar la instalacin previa de las dependencias:
Comprobacin DNS
Tal como he explicado anteriormente, vamos a realizar la instalacin de Zimbra en paralelo con el sistema que
tenemos actualmente en produccin, por lo que vamos a tener que engaar a Zimbra para hacerle creer que el
servidor donde estamos realizando la instalacin es el servidor MX principal. Para ello tenemos dos opciones:
Modificacin de hostname: Esto quiere decir que el servidor que est actualmente en produccin y el
nuestro se llamen distinto. El actual podra ser correo.irontec.com y el nuevo mail.irontec.com . Esto
supondra tener que modificar la configuracin de todos los clientes de correo que usamos, lo que no es
muy efectivo.
Utilizacin de otro servidor DNS: Como vamos a utilizar el mismo hostname que el servidor actual en
produccin, cuando zimbra compruebe el DNS se dar cuenta que la IP del servidor no corresponde con
el registro MX principal. Para estos casos lo ideal es tener un DNS de pruebas donde podamos modificar
los registros que queramos sin que afecte a produccin, y modificar el fichero /etc/resolv.conf de
nuestro servidor Zimbra.
Como se puede ver, un DNS pblico (hemos usado el de Google) nos da la IP del servidor actual en produccin,
mientras que el servidor DNS de pruebas nos ha dado la IP de nuestro servidor donde estamos instalando
nuestro Zimbra.
NOTA: En versiones anteriores de Zimbra se sola hacer la instalacin del DNS en el propio servidor zimbra,
pero desde la inclusin de dnscache ya no es necesario. Podramos seguir haciendo la instalacin del DNS en
local y luego no elegir el paquete dnscache de Zimbra durante la instalacin. Pero, para realizar una
instalacin ms limpia, es mejor utilizar un DNS externo de pruebas que tengamos.
Descargar Zimbra
Desde aqu podremos descargar la versin de nuestra distribucin o coger el enlace. Nosotros lo descargamos
en el servidor de la siguiente manera:
Descargamos Zimbra
Shell
root@mail:~# w get https://files.z
--2016-01-18 13:59:55-- https:/
Resolving files.zimbra.com (files
Connecting to f iles.zimbra.com (
Instalacin de Zimbra
Con las dependencias ya instaladas del paso previo, y descargado el instalador, descomprimimos el fichero e
iniciamos la instalacin:
Tal como podemos ver en el log previo, hay varias cosas que podemos destacar.
1 [...]
2
3 Select the packages to install
4
5 Install zimbra-ldap [Y]
6
7 Install zimbra-logger [Y]
8
9 Install zimbra-mta [Y]
10
11 Install zimbra-dnscache [Y]
12
13 Install zimbra-snmp [Y]
14
15 Install zimbra-store [Y]
16
17 Install zimbra-apache [Y]
18
19 Install zimbra-spell [Y]
20
21 Install zimbra-memcached [Y]
22
23 Install zimbra-proxy [Y]
24 Checking required space for zimbra-core
25 Checking space for zimbra-store
26 Checking required packages for zimbra-store
27 zimbra-store package check complete.
28
29 Installing:
30 zimbra-core
31 zimbra-ldap
32 zimbra-logger
33 zimbra-mta
34 zimbra-dnscache
35 zimbra-snmp
36 zimbra-store
37 zimbra-apache
38 zimbra-spell
39 zimbra-memcached
40 zimbra-proxy
41
42 The system will be modified. Continue? [N] Y
43
44 Removing /opt/zimbra
45 Removing zimbra crontab entry...done.
46 Cleaning up zimbra init scripts...done.
47 Cleaning up /etc/ld.so.conf...done.
48 Cleaning up /etc/security/limits.conf...done.
49
50 Finished removing Zimbra Collaboration Server.
51
52 Installing packages
53 zimbra-core......zimbra-core_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
54 zimbra-ldap......zimbra-ldap_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
55 zimbra-logger......zimbra-logger_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
56 zimbra-mta......zimbra-mta_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
57 zimbra-dnscache......zimbra-dnscache_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
58 zimbra-snmp......zimbra-snmp_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
59 zimbra-store......zimbra-store_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
60 zimbra-apache......zimbra-apache_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
61 zimbra-spell......zimbra-spell_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
62 zimbra-memcached......zimbra-memcached_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
63 zimbra-proxy......zimbra-proxy_8.6.0.GA.1153.UBUNTU14.64_amd64.deb...done
64 Operations logged to /tmp/zmsetup01182016-171336.log
65 Installing LDAP configuration database...done.
66 Setting defaults...
67
68 [...]
Aceptamos todos los paquetes que nos sugiere que instalemos. Nos avisa que el sistema va a ser modificado y
comienza con la instalacin de los mismos. Hasta que nos aparece lo siguiente:
1 [...]
2
3 DNS ERROR resolving MX for mail.irontec.com
4 It is suggested that the domain name have an MX record configured in DNS
5 Change domain name? [Yes]
6 Create domain: [mail.irontec.com] irontec.com
7 MX: mail.irontec.com (123.1.2.3)
8
9 Interface: 123.1.2.3
10 Interface: 127.0.0.1
11 Interface: ::1
12 done.
13
14 [...]
Dado el hostname del servidor, el instalador de Zimbra nos intenta configurar como dominio principal dicho
hostname, mientras que lo que tenemos que hacer es modificar el Domain name en la instalacin tal como
podis ver en este apartado anterior para que sea simplemente irontec.com. Realiza la comprobacin DNS
contra nuetstro DNS de pruebas y sigue
1 [...]
2
3 Checking for port conflicts
4 Main menu
5
6 1) Common Configuration:
7 2) zimbra-ldap: Enabled
8 3) zimbra-logger: Enabled
9 4) zimbra-mta: Enabled
10 5) zimbra-dnscache: Enabled
11 6) zimbra-snmp: Enabled
12 7) zimbra-store: Enabled
13 +Create Admin User: yes
14 +Admin user to create: admin@irontec.com
15 ******* +Admin Password UNSET
16 +Anti-virus quarantine user: virus-quarantine.26cklotci@irontec.com
17 +Enable automated spam training: yes
18 +Spam training user: spam.2wieouplob@irontec.com
19 +Non-spam(Ham) training user: ham.wblgfqoxzf@irontec.com
20 +SMTP host: mail.irontec.com
21 +Web server HTTP port: 8080
22 +Web server HTTPS port: 8443
23 +Web server mode: https
24 +IMAP server port: 7143
25 +IMAP server SSL port: 7993
26 +POP server port: 7110
27 +POP server SSL port: 7995
28 +Use spell check server: yes
29 +Spell server URL: http://mail.irontec.com:7780/aspell.php
30 +Enable version update checks: TRUE
31 +Enable version update notifications: TRUE
32 +Version update notification email: admin@irontec.com
33 +Version update source email: admin@irontec.com
34 +Install mailstore (service webapp): yes
35 +Install UI (zimbra,zimbraAdmin webapps): yes
36
37 8) zimbra-spell: Enabled
38 9) zimbra-proxy: Enabled
39 10) Default Class of Service Configuration:
40 s) Save config to file
41 x) Expand menu
42 q) Quit
43
44 Address unconfigured (**) items (? - help)
45 [...]
El instalador comprueba si hay conflicto de puertos, y por ltimo nos muestra el men del instalador por si
queremos realizar alguna modificacin de la configuracin por defecto. Nosotros lo nico que vamos a hacer es
configurar la contrasea del usuario admin, para ello primero entramos en el men 7 y posteriormente al 4:
1 [...]
2 Password for admin@irontec.com (min 6 characters): [JZLSKGwjM] mipassword
3 [...]
Volvemos al men principal escribiendo r y pulsando intro, y posteriormente aplicamos los cambios:
Final de la instalacin
[...]
Main menu
1 [...]
2 Main menu
3
4 1) Common Configuration:
5 2) zimbra-ldap: Enabled
6 3) zimbra-logger: Enabled
7 4) zimbra-mta: Enabled
8 5) zimbra-dnscache: Enabled
9 6) zimbra-snmp: Enabled
10 7) zimbra-store: Enabled
11 8) zimbra-spell: Enabled
12 9) zimbra-proxy: Enabled
13 10) Default Class of Service Configuration:
14 s) Save config to file
15 x) Expand menu
16 q) Quit
17
18 *** CONFIGURATION COMPLETE - press 'a' to apply
19 Select from menu, or press 'a' to apply config (? - help) a
20 Save configuration data to a file? [Yes]
21 Save config in file: [/opt/zimbra/config.27371]
22 The system will be modified - continue? [No] Yes
23 Operations logged to /tmp/zmsetup01182016-171336.log
24 Setting local config values...
25
26 [...]
27
28 Finished installing common zimlets.
29 Restarting mailboxd...done.
30 Creating galsync account for default domain...done.
31
32 You have the option of notifying Zimbra of your installation.
33 This helps us to track the uptake of the Zimbra Collaboration Server.
34 The only information that will be transmitted is:
35 The VERSION of zcs installed (8.6.0_GA_1153_UBUNTU14_64)
36 The ADMIN EMAIL ADDRESS created (admin@irontec.com)
37
38 Notify Zimbra of your installation? [Yes] No
39 Notification skipped
40 Setting up zimbra crontab...done.
41
42
43 Moving /tmp/zmsetup01182016-171336.log to /opt/zimbra/log
Todava nos faltan muchos pasos para dejar nuestro Zimbra bien configurado, pero con esto ya podemos
empezar a familiarizarnos con l y ver las distintas opciones que tiene, como crear cuentas de correo, listas de
correo, recursos, investigar los logs
Como ya vimos en el anterior post de esta serie, Creando un sistema de correo profesional con Zimbra, ya
tenemos nuestro Zimbra funcionando, pero con la instalacin bsica no conseguimos que sea tan profesional
como nuestro ttulo pretende que sea :p
Por lo tanto, vamos a realizar una serie de configuraciones, no solo a nivel de Zimbra, que nos ayudarn para
conseguir ste propsito, as que vamos a por ello.
Comprobaciones DNS
Los sistemas de correo electrnico basan mucha de su seguridad en cmo est la configuracin DNS, como por
ejemplo la utilizacin de listas negras (RBL), la resolucin FQDN, si se cuenta con configuracin SPF Por
lo tanto, vamos a hacer que nuestro Zimbra realice estas comprobaciones.
Las listas negras es un intento de parar el spam en la jungla que es hoy da internet. Bsicamente su
funcionamiento es el de realizar un listado de IPs que son marcadas como spammers debido a distintos criterios.
Para la configuracin iremos a la consola de administracin de nuestro servidor Zimbra, yendo a travs del
navegador web a la direccin https://[SERVER]:7071 , donde SERVER es la IP o la resolucin DNS de nuestro
servidor
Lista RBL:
o zen.spamhaus.org
o bl.spamcop.net
o psbl.surriel.com
Lista de RHSBL del cliente:
o dbl.spamhaus.org
o multi.surbl.org
Lista de RHSBL del remitente:
o multi.surbl.org
Con esto ya tenemos varias listas configuradas para que la deteccin de emisores de spam sea mejor y haya
mails que sean rechazados automticamente.
Como os acordaris, en el primer post utilizamos un servidor temporal de DNS para la instalacin. Dado que es
temporal, tenemos que quitarlo de la configuracin de Zimbra y aadir un DNS primario real. Para comprobar
el DNS primario que usa:
Comprobar el DNS primario que usa Zimbra
2 # name mail.irontec.com
3 zimbraDNSMasterIP: 192.168.90.1
Por lo tanto, tenemos que modificarlo para que use un servidor real y en produccin. Vamos utilizar el de
Google:
6 # name mail.irontec.com
7 zimbraDNSMasterIP: 8.8.8.8
SPF
Para la comunicacin entre servidores de correo es muy habitual la utilizacin de SPF. Este sistema lo que hace
es tener en cuenta los registros DNS de nuestro dominio para asegurar que el emisor de un correo
electrnico est autorizado para ello.
Es decir, si alguien intenta mandar un mail utilizando nuestro dominio irontec.com el servidor de correo
receptor debera realizar una comprobacin de si el emisor est permitido para poder mandar mails en nuestro
nombre. En caso de que el emisor no est autorizado, el servidor receptor debera rechazar el mail ya que no
est autorizado para poder mandar mails en nuestro nombre.
Para realizar esta configuracin deberemos crear un registro nuevo de tipo TXT en nuestro servidor DNS.
Normalmente tendremos el servidor DNS en un proveedor que nos facilitar esta tarea mediante un panel de
control.
El formato del registro TXT debe ser: v=spf1 a mx a:www2.irontec.com ip4:123.4.5.6 -all
La explicacin del formato es sencilla, primero indicamos v=spf1 para indicar que se trata de un registro SPF, y
posteriormente quines estn autorizados a poder mandar mails en el que est configurado. En el caso de este
ejemplo:
+all pass Permite todo los mails, como si no hubiese nada configurado (No recomendable)
Todos los servidores que no coincidan con las reglas anteriores no estn permitidos para mandar
-all fail
mails.
~all softfail Permite mandar mails, pero si algo va mal ser marcado como softfail.
DKIM
El mtodo DKIM (DomainKeys Identified Mail) sirve para asociar el nombre del dominio y el email,
permitiendo a una persona asumir la responsabilidad de un email.
Bsicamente el sistema DKIM lo que hace es que el servidor emisor firma los mails de salida, y el servidor
receptor del correo realiza una comprobacin DNS para asegurar que el mail firmado es vlido contra la
clave pblica aadida como registro DNS.
Para ello, desde la consola de nuestro servidor Zimbra ejecutaremos, como usuario zimbra, el siguiente
comando:
root@mail:~# su - zimbra
zimbra@mail:~$ /opt/zimbra/libe
DKIM Data added to LDAP for do
root@mail:~# su - zimbra
1
2
zimbra@mail:~$ /opt/zimbra/libexec/zmdkimkeyutil -a -d irontec.com
3
DKIM Data added to LDAP for domain irontec.com with selector 0F12345-C5DB-35E1-134A-7EEE12C2BA47
4
Public signature to enter into DNS:
5
0F12345-C5DB-35E1-134A-7EEE12C2BA47._domainkey IN TXT ( "v=DKIM1; k=rsa; "
6
"p=M1234567890GC123456789Ib3DQEBAQU123456789BiQKBgQCyyhoer123456789ts4/oj064WpCi+wPo0g
7vWwhS12345678927yAbHy9+V3gt123456789jOBz123456789m0DE1jheVY3KqB4u/OGU123456789d4tid123456789YeJ
KQhSbLFjZe/IZq123456789XDNLLEQIDAQAB" ) ; ----- DKIM key 0F12345-C5DB-35E1-134A-7EEE12C2BA47 for
irontec.com
Ya hemos generado la clave, y lo que nos ha sacado como resultado del comando es la clave pblica que ahora
tendremos que aadir en nuestro DNS. Si os fijis en la salida del comando, nos pone Public signature to
enter into DNS, es decir, tenemos que crear un registro de tipo TXT como, como dominio que sea 0F12345-
C5DB-35E1-134A-7EEE12C2BA47._domainkey.irontec.com y que el valor que contenga sea lo que nos ha
sacado el comando:
v=DKIM1; k=rsa;
p=M1234567890GC123456789Ib3DQEBAQU123456789BiQKBgQCyyhoer123456789ts4/oj064WpCi+wPo0gvWwhS123
1
45678927yAbHy9+V3gt123456789jOBz123456789m0DE1jheVY3KqB4u/OGU123456789d4tid123456789YeJKQhSbLFjZe
/IZq123456789XDNLLEQIDAQAB
root@mail:# su - zimbra
1 root@mail:# su - zimbra
4 Host mail.irontec.com
5 Stopping vmware-ha...skipped.
6 [...]
7
8 zimbra@mail:~$ zmlocalconfig -e ldap_db_maxsize=67108864
11
13 Host mail.irontec.com
14 Starting ldap...Done.
15 [...]
Certificado SSL
No voy a profundizar en este apartado, ya que en este blog ya hemos hablado de qu son los certificados SSL
realmente seguros (SHA-2) y cmo crearlos para Zimbra. Por lo tanto utilizo ste apartado a modo de
recordatorio para que no os olvidis de generar vuestro certificado e instalarlo en Zimbra.
Aparte de la generacin del certificado, para que nuestra instalacin tenga la mayor puntuacin de securizacin
en el SSL Labs test tenemos que hacer una pequea modificacin en nuestra instalacin de Zimbra.
Ejecutaremos:
root@mail:~# cd /opt/zimbra/con
root@mail:/opt/zimbra/conf # ope
Generating DH parameters, 204
1 root@mail:~# cd /opt/zimbra/conf
6 [...]
server
{
[...]
1 server
2 {
3 [...]
5 ssl_dhparam /opt/zimbra/conf/dhparams.pem;
7 ssl_session_cache shared:SSL:50m;
8 ssl_session_timeout 5m;
9 include ${core.includes}/${core.cprefix}.web.https.mode-${web.mailmode};
10
11 [...]
Y por ltimo, realizaremos la modificacin de los tipos de cifrado que nuestro servidor utilizar para
comunicarse a travs del navegador web:
5 SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4'
Stopping nginx...done.
Starting nginx...done.
Tamao de adjuntos
Zimbra por defecto limita el tamao de los adjuntos a 10000KB, que en algunos casos puede ser un poco
limitado. Si queremos modificar este tamao deberemos ir a Configurar Configuracin General MTA y
modificar el apartado Tamao mximo del mensaje. Al modificar este tamao, tambin deberemos
modificar el de Tamao mximo de un archivo cargado desde el escritorio cuya directiva se encuentra
en Configurar Configuracin General Informacin General
Clase de servicio
Las clase de servicio, o COS a partir de ahora, es una manera sencilla de realizar la configuracin de
caractersticas a las cuentas de forma sencilla. Como ejemplo, si queremos limitar a varias cuentas para que el
tamao de su buzn sea de 1GB (en lugar de ilimitado), podemos crear un COS nuevo llamado limitado y en el
apartado avanzado modificar la opcin espacio de almacenamiento disponible para la cuenta (MB) y
limitarlo a 1024.
Por supuesto, la limitacin del tamao del buzn slo es una muestra de todo lo que se puede realizar. Podemos
limitar para que no haya acceso POP, que la cuenta no pueda tener maletn, el acceso a ciertos zimlets
Conclusin
Tras estos pasos ya podemos decir que tenemos un sistema de correo profesional utilizando Zimbra, que
puede ser puesto en produccin y utilizado por nuestros usuarios. Hay que tener en cuenta que existen muchas
ms posibilidades de configuracin, y que stas deberan ser las mnimas a tener en cuenta. Iremos actualizando
este post con configuraciones y mejoras extra cada cierto tiempo.
El otro da hablbamos sobre la importancia de utilizar un hash en la firma de certificados de al menos 256bits.
Hoy veremos cmo implementarlo en Zimbra.
Zimbra ha mejorado la seguridad de los CSR cambiado el comportamiento por defecto a partir de la versin 8.6.
Solo es necesario realizar esta tarea si la versin de Zimbra es inferior a 8.6.
Antes (SHA-1):
${openssl} req -new -nodes -ou
Ahora (SHA-2):
Una vez guardes los cambios, todos las nuevas Solicitudes de Firma de Certificado (CSR) se generarn
firmadas con SHA256.
Si quieres validar si todo ha ido bien, puedes consultar la herramienta online de verificacin de CSR de
Symantec.
Otra opcin es utilizar el interfaz grfico para hacerlo, y escoger manualmente la opcin SHA256
A partir de la versin 8.6 de Zimbra la opcin por defecto en la interfaz web tambin es SHA256.
Nota: es importante que los certificados intermedios tambin estn firmados con SHA256 o superior.
Desde Irontec recomendamos instalar o actualizar versiones anteriores a Zimbra 8.6 ya que solventa y mejora
varios problemas de seguridad como:
Heartbleed bug
Poodle SSLv3
FREAK Attack
En este post veremos cmo realizar la instalacin del sistema de seguridad para servidores de correo
electrnico MailScanner. MailScanner nos va a ayudar a protegernos contra spam, virus, phising y malware
dado que va a analizar cada correo electrnico que pasa por l.
Teniendo en cuenta el principio KISS, muy habitual en el mundo del Software Libre, MailScanner no reinventa
la rueda y hace uso de otras herramientas especficas para cada uno de los anlisis que realiza sobre los mails.
Por ejemplo, Spamassassin para la deteccin del spam, ClamAV para los virus
Este post pretende ser la continuacin de otros dos anteriores en los que instalamos Zimbra como servidor de
correo (Creando un sistema de correo profesional con Zimbra 1 y Creando un sistema de correo profesional con
Zimbra 2), ya que vamos a centrar la instalacin en un servidor con Zimbra 8.6 Open Source Edition. Tened
en cuenta que MailScanner se puede utilizar con cualquier otro MTA, como Postfix o Exim.
Qu hace MailScanner?
Tal como se suele decir, una imagen vale ms que mil palabras, as que vamos con ella:
Workflow de MailScanner
He querido dejar en grande esta imagen dada su importancia, ya que es la mejor manera de ver cmo funciona y
Instalacin de MailScanner
Tal como hemos puesto en la introduccin, MailScanner hace uso de otras herramientas muy conocidas, por lo
que ser necesario que estn instaladas, pero el instalador nos facilitar esta tarea.
Descargar MailScanner
Desde la pgina de descargas de Mailscanner podemos elegir el paquete para la distribucin de nuestro
servidor. Como recordaris, el servidor donde instalamos Zimbra es una Ubuntu 14.04 LTS, por lo que
elegimos el enlace Debian / Ubuntu:
Shell
9 100%[======================================================================>]
826.212 702KB/s in 1,1s
10
11
2016-01-19 11:33:15 (702 KB/s) - MailScanner-4.85.2-3.deb.tar.gz saved [826212/826212]
12
13
root@mail:~# tar -xzf MailScanner-4.85.2-3.deb.tar.gz
14
root@mail:~# cd MailScanner-4.85.2-3
15
root@mail:~/MailScanner-4.85.2-3# ls
16
ChangeLog COPYING install.sh mailscanner-4.85.2-3-noarch.deb README UPGRADE
Como podeis ver, una vez descomprimido el fichero descargado, tenemos el tpico fichero README (al que no
Instalacin de MailScanner
Comenzamos la instalacin
root@mail:~/MailScanner-4.85.2
1 root@mail:~/MailScanner-4.85.2-3# ./install.sh
6 This will INSTALL or UPGRADE the required software for MailScanner on Debian based systems
7 via the Apt package manager. Supported distributions are Debian 6,7 and associated variants
8 such as Ubuntu. Internet connectivity is required for this installation script to execute.
10
11
12 You may press CTRL + C at any time to abort the installation. Note that you may see
13 some errors during the perl module installation. You may safely ignore errors regarding
15
Tal como podemos leer, nos dice que va a realizar la instalacin de las dependencias que necesita
MailScanner y que, si queremos, podemos cancelar la instalacin en cualquier momento. Para la instalacin de
las dependencias nos har una serie de preguntas. As que pulsamos intro para continuar.
3 I can install an MTA via the apt package manager to save you the trouble of having to do
4 this later. If you plan on using an MTA that is not listed below, you will have install
7 1 - sendmail
8 2 - postfix
9 3 - exim
10 N - Do not install
11
12 Recommended: 1 (sendmail)
13
Como en nuestro servidor ya tenemos instalado Zimbra, que es nuestro servidor de correo (MTA), le decimos
que NO queremos instalar ninguno.
Instalamos Spamassassin
3 This package is recommended unless you have your own spam detection solution.
5 Recommended: Y (yes)
Confirmamos que queremos instalar Spamassassin, que va a ser el encargado de realizar la deteccin de spam,
dndole a los mails una puntuacin segn las reglas heursticas de las que dispone.
Instalamos ClamAV
3 This package is recommended unless you plan on using a different virus scanner.
4 Note that you may use more than one virus scanner at once with MailScanner.
6 Even if you already have Clam AV installed you should select this option so I
9 Recommended: Y (yes)
10
De nuevo, confirmamos la instalacin de Clam AV, que es el antivirus utilizado por Mailscanner.
3 I will attempt to install Perl modules via apt, but some may not be unavailable during the
6 Recommended: Y (yes)
Dado que MailScanner est escrito en el lenguaje Perl, se necesitan varias dependencias. Por defecto, se
intentar realizar la instalacin a travs del sistema de paquetes apt, pero en caso de no tenerlas, las instalar a
travs del sistema CPAN.
NO queremos ignorar las dependencias
3 This will force install the MailScanner .deb package regardless of missing
5 are debugging.
7 Recommended: N (no)
Confirmamos que NO queremos ignorar las dependencias. Tras este paso, comenzar la instalacin como tal:
Log de la instalacin
[...]
3 [...]
21
22 ----------------------------------------------------------
23 Installation Complete
24
Cuando la instalacin comienza nos empieza a sacar por pantalla todo lo que va haciendo. Afortunadamente, si
nos fijamos, nos indica que todo lo que va a hacer se va a loguear en el fichero mailscanner-install.log, dentro
del directorio donde estamos ejecutando el instalador. Si abrs el fichero tras la instalacin podris ver ms
tranquilamente qu es lo que ha ido pasando. El resumen es:
Configurar Zimbra
Tal como hemos dicho, Zimbra es el que deja los mails en su cola HOLD para que posteriormente sean
recogidos por MailScanner, por lo que tenemos que realizar la siguiente configuracin.
qmgr fifo n - n 30
1 qmgr fifo n - n 300 1 qmgr
Tras esto, hay que realizar una parada del zimbra y volver a levantarlo, esta vez como usuario zimbra:
Reiniciamos zimbra
root@mail:~# su - zimbra
zimbra@mail:~$ zmcontrol resta
Host mail.irontec.com
Stopping vmw are-ha...skip
1 root@mail:~# su - zimbra
3 Host mail.irontec.com
4 Stopping vmware-ha...skipped.
6 Stopping zmconfigd...Done.
11 Stopping stats...Done.
12 Stopping mta...Done.
13 Stopping spell...Done.
14 Stopping snmp...Done.
15 Stopping cbpolicyd...Done.
16 Stopping archiving...Done.
17 Stopping opendkim...Done.
18 Stopping amavis...Done.
19 Stopping antivirus...Done.
20 Stopping antispam...Done.
21 Stopping proxy...Done.
22 Stopping memcached...Done.
23 Stopping mailbox...Done.
24 Stopping logger...Done.
25 Stopping dnscache...Done.
26 Stopping ldap...Done.
27 Host mail.irontec.com
28 Starting ldap...Done.
29 Starting zmconfigd...Done.
30 Starting dnscache...Done.
31 Starting logger...Done.
32 Starting mailbox...Done.
33 Starting memcached...Done.
34 Starting proxy...Done.
35 Starting amavis...Done.
36 Starting antispam...Done.
37 Starting antivirus...Done.
38 Starting opendkim...Done.
39 Starting snmp...Done.
40 Starting spell...Done.
41 Starting mta...Done.
42 Starting stats...Done.
Ya hemos conseguido lo que queramos, todos los mails que llegan al Zimbra se queden en la cola HOLD,
siendo el directorio: /opt/zimbra/data/postfix/spool/hold
Configurar MailScanner
Ahora tenemos que hacer que MailScanner vaya a por los mails, cogindolos
de/opt/zimbra/data/postfix/spool/hold, los analice y los deje en la cola correspondiente del Zimbra para que
luego vaya a su destino final. Teniendo en cuenta la extensin del fichero de configuracin de MailScanner, an
a pesar de venir bien documentado, es buena idea tener abierta en otra pestaa la documentacin de
MailScanner.
%org-name% = Irontec
%org-long-name% = Irontec S.L
%w eb-site% = w w w .irontec.co
%report-dir% = /etc/MailScanne
1 %org-name% = Irontec
5 %web-site% = www.irontec.com
7 %report-dir% = /etc/MailScanner/reports/es
9 Max Children = 1
14 MTA = postfix
28 Notify Senders = no
29 Notices To = admin@irontec.com
Nota: De estas modificaciones, ms adelante cambiaremos Max Children ponindolo a 10, pero durante la
fase de pruebas es mejor tener slo un hijo para ver mejor los logs.
Debido a la funcionalidad apparmor de Ubuntu, hay que hacer una modificacin para evitar el siguiente error
que nos puede aparecer ms adelante:
Jan 20 11:30:50 mail MailScanner[18516]: Clamd::ERROR:: UNKNOWN CLAMD RETURN ./lstat() failed: Permission
1
denied. ERROR :: /var/spool/MailScanner/incoming/18516
1 /var/spool/MailScanner/** rw,
2 /var/spool/MailScanner/incoming/** rw,
Reiniciamos apparmor
4 ...done.
Para hacer que MailScanner arranque, hay que modificar el fichero /etc/default/mailscanner y asegurar que
aparece la siguiente lnea descomentada:
run_mailscanner=1
1 run_mailscanner=1
Arrancamos el servicio
root@mail:/etc/MailScanner# /et
* Starting ClamAV daemon clam
...done.
1 root@mail:/etc/MailScanner# /etc/init.d/clamav-daemon start
3 ...done.
1 Jan 20 12:59:24 mail MailScanner[13669]: MailScanner E-Mail Virus Scanner version 4.85.2 starting...
4 Jan 20 12:59:24 mail MailScanner[13669]: Read 868 hostnames from the phishing whitelist
5 Jan 20 12:59:24 mail MailScanner[13669]: Read 5807 hostnames from the phishing blacklists
8 Jan 20 12:59:25 mail MailScanner[13669]: Expired 14 records from the SpamAssassin cache
10 Jan 20 12:59:26 mail MailScanner[13669]: Found 0 messages in the Processing Attempts Database
11
12
Jan 20 13:00:14 mail MailScanner[13669]: New Batch: Scanning 1 messages, 1863 bytes
13
Jan 20 13:00:14 mail MailScanner[13669]: Virus and Content Scanning: Starting
14
Jan 20 13:00:15 mail MailScanner[13669]: Requeue: 210F0261C9D.AFE5C to CDCFE261CA1
15
Jan 20 13:00:15 mail MailScanner[13669]: Uninfected: Delivered 1 messages
16
Jan 20 13:00:15 mail MailScanner[13669]: Deleted 1 messages from processing-database
17
18
19
Jan 20 13:00:15 mail postfix/qmgr[29083]: CDCFE261CA1: from=<admin@irontec.com>, size=1124, nrcpt=1 (queue
20
active)
21
Jan 20 13:00:15 mail postfix/dkimmilter/smtpd[14616]: connect from localhost[127.0.0.1]
22
Jan 20 13:00:15 mail postfix/dkimmilter/smtpd[14616]: 537AA261C9D: client=localhost[127.0.0.1]
23
Jan 20 13:00:15 mail postfix/smtp[14613]: CDCFE261CA1: to=<ruben@irontec.com>,
24 relay=127.0.0.1[127.0.0.1]:10026, delay=3.3, delays=3.1/0.01/0/0.14, dsn=2.0.0, status=sent (250 2.0.0 from
MTA(smtp:[127.0.0.1]:10030): 250 2.0.0 Ok: queued as 537AA261C9D)
25
Jan 20 13:00:15 mail postfix/cleanup[14606]: 537AA261C9D: hold: header Received: from localhost (localhost
26 [127.0.0.1])??by mail.irontec.com (Postfix) with ESMTP id 537AA261C9D??for <ruben@irontec.com>; Wed, 20 Jan
2016 13:00:15 +0100 (CET) from localhost[127.0.0.1]; from=<admin@irontec.com> to=<ruben@irontec.com>
27
proto=ESMTP helo=<localhost>
28
Jan 20 13:00:15 mail postfix/cleanup[14606]: 537AA261C9D: message-
29 id=<1454317676.81.1453291212065.JavaMail.zimbra@irontec.com>
32
33
34 Jan 20 13:00:21 mail MailScanner[13669]: New Batch: Scanning 1 messages, 3036 bytes
39
40
Analizando el log, he hecho unos saltos de lnea para verlo mejor, se puede resumir en:
Recepcin del mail por parte del Postfix (proceso smtpd) de Zimbra y deajdo en la cola HOLD
MailScanner comprueba que existe un mensaje (de salida), lo analiza y lo deja en la cola correspondiente de
Zimbra
Postfix (proceso qmgr) recoge el mail de la cola, y se lo entrega al proceso encargado de firmar y comprobar la
firma DKIM
Postfix recibe de nuevo el correo y lo deja en el buzn del usuario correspondiente
He querido mostraros cmo funciona en el caso de un mail local, cmo es recibido, analizado y entregado
posteriormente. En caso de que fuese un mail a un servidor externo, el mail sera analizado, y entregado al
servidor remoto correspondiente. El servidor receptor del correo, si tiene MailScanner (o un sistema similar)
analizara el mail de nuevo y lo entregara a su buzn correspondiente.
opciones que no hemos aadido, no dudis en dejarnos vuestras mejoras en los comentarios
Configuracin spamassassin
La configuracin de Spamassassin podemos realizarla en sus ficheros de configuracin (local.cf por ejemplo),
pero MailScanner nos facilita el fichero /etc/MailScanner/spam.assassin.prefs.conf para ello. Realizamos un
enlace simblico del fichero en el directorio donde est la configuracin de Spamassassin para que nos
aseguremos que luego ser cargada:
root@mail:/etc/MailScanner# ln
bayes_ignore_header X-Irontec
1 bayes_path /etc/MailScanner/bayes/bayes
2 bayes_file_mode 0777
4 bayes_ignore_header X-Irontec-MailScanner
5 bayes_ignore_header X-Irontec-MailScanner-SpamCheck
6 bayes_ignore_header X-Irontec-MailScanner-SpamScore
7 bayes_ignore_header X-Irontec-MailScanner-Information
9 ifplugin Mail::SpamAssassin::Plugin::Pyzor
10 pyzor_path /usr/bin/pyzor
11 endif
12
13 use_razor2 1
14 use_pyzor 1
15
16 # reglas propias
17 score SPF_FAIL 4
18 score SPF_SOFTFAIL 3
19 score SPF_NEUTRAL 2
20
21 envelope_sender_header X-Irontec-MailScanner-From
22
24 ok_locales en
25 loadplugin Mail::SpamAssassin::Plugin::TextCat
26 ok_languages es eu
27
32
34 loadplugin Mail::SpamAssassin::Plugin::RelayCountry
36 include Relay_Countries.cf
Tenemos que crear el directorio donde se guardar la base de datos Bayes, y podemos aprovechar la base de
datos de Zimbra para utilizar lo aprendido hasta ahora por l:
root@mail:/etc/MailScanner# mk
root@mail:/etc/MailScanner# cp
[...]
3 [...]
Y por ltimo, si os fijis, hemos hecho un include del fichero Relay_Countries.cf Esto es un fichero, que os
podis descargar de aqu y moverlo a /etc/spamassassin/Relay_Countries.cf .
root@mail:~# cd /etc/spamassa
root@mail:/etc/spamassassin#
1 root@mail:~# cd /etc/spamassassin/
Este fichero lo que hace es puntuar a los mails que vienen desde ciertos pases con ms puntuacin o menos,
dependiendo de nuestro gusto:
header RELAYCOUNTRY_
describe RELAYCOUNTRY
score RELAYCOUNTRY_
1 header RELAYCOUNTRY_CN X-Relay-Countries =~/\bCN\b/
Para la configuracin de Pyzor, tenemos que crear un directorio en la home del usuario Postfix (que es el que lo
arranca), y posteriormente lanzar Pyzor para actualizarlo:
root@mail:/etc/spamassassin#
root@mail:/etc/spamassassin#
5 root@mail:/etc/spamassassin# su - postfix
6 $ pwd
7 /opt/zimbra/postfix
Whitelist y blacklist
A travs de MailScanner, y su configuracin, podemos forzar a que unos mails sean siempre considerados como
lcitos o como spam. Estas son las configuraciones a modificar en /etc/MailScanner/MailScanner.conf:
Con esta configuracin lo que estamos indicando es que para que un mail sea considerado directamente
como whitelisted (es decir, que siempre va a ser considerado lcito) mire las reglas del fichero dentro del
path %rules-dir%, que al principio del fichero vemos que es /etc/MailScanner/rules , es
decir, /etc/MailScanner/rules/spam.whitelist.rules . Y para considerar que un mail sea directamente Spam que
mire el fichero /etc/MailScanner/rules/spam.blacklist.rules
7 FromOrTo: default no
Y aqu os dejo un ejemplo para reglas que siempre sean considerado Spam:
6 FromOrTo: default no
Para ver todos los tipos de reglas que podemos crear y para ms opciones condicionales de este estilo lo mejor
es echar un ojo al fichero que MailScanner nos proporciona: /etc/MailScanner/rules/EXAMPLES
Resumen
En este post hemos instalado y configurado un servicio extra de seguridad para nuestro entorno Zimbra
que nos ayudar en la jungla que es hoy da internet en lo que respecta a los sistemas de correo electrnico
como el spam, el phising
En nuestra serie de posts donde explicamos cmo tener un sistema de correo electrnico seguro y profesional,
ya vimos cmo instalar Zimbra 8.6, cmo configurarlo, y por ltimo cmo instalar MailScanner. Hoy toca
mejorar el post anterior para poder hacerlo ms visible y usable. Para ello vamos a realizar la instalacin de
MailWatch, que es un interfaz web para MailScanner.
En este post modificaremos parte de la configuracin de MailScanner, por lo que es importante haber
seguido el post anterior y tenerlo bien instalado. Os recordamos que nuestro servidor es Ubuntu 14.04 LTS,
pero los pasos son similares en el resto de distribuciones.
Tal como he dicho en la entrada, para la instalacin y configuracin de MailWatch vamos a realizar
modificaciones en la configuracin de MailScanner, por lo que hay que estar un poco atento sobre qu ficheros
estamos modificando; pero, sobre todo, ver para qu son dichas modificaciones. As que al lo
Qu hace MailWatch?
Ya he comentado que MailWatch es un interfaz web para MailScanner. Pero, para que funcione, tenemos
que hacer que MailScanner guarde informacin en una base de datos. Es decir, tras los anlisis realizados a
los mails, vamos a indicar a MailScanner que sus conclusiones las meta en una base de datos MySQL y
MailWatch ser el encargado de visualizarnos estas conclusiones, haciendo un anlisis de los resultados
globales.
Pasos previos
Dado que MailWatch es un interfaz web, vamos a necesitar de un servidor web (usaremos Apache), junto con
las dependencias PHP que necesita, as como de una base de datos MySQL. Como Zimbra cuenta con su
propio servidor web, tenemos que tener cuidado a la hora de instalar otro, para que no haya conflicto de puertos.
Para ello, modificaremos el puerto del Apache que vamos a instalar. Para evitar cualquier problema durante la
instalacin de las dependencias, vamos a hacer una parada de Zimbra y despus lo volveremos a levantar.
root@mail:~# su - zimbra
zimbra@mail:~$ zmcontrol stop
Host mail.irontec.com
Stopping vmw are-ha...skip
1 root@mail:~# su - zimbra
3 Host mail.irontec.com
4 Stopping vmware-ha...skipped.
6 Stopping zmconfigd...Done.
11 Stopping stats...Done.
12 Stopping mta...Done.
13 Stopping spell...Done.
14 Stopping snmp...Done.
15 Stopping cbpolicyd...Done.
16 Stopping archiving...Done.
17 Stopping opendkim...Done.
18 Stopping amavis...Done.
19 Stopping antivirus...Done.
20 Stopping antispam...Done.
21 Stopping proxy...Done.
22 Stopping memcached...Done.
23 Stopping mailbox...Done.
24 Stopping logger...Done.
25 Stopping dnscache...Done.
26 Stopping ldap...Done.
Tal como hemos dicho, vamos a realizar la instalacin del servidor web Apache, junto con la base de
datos MySQL (en Ubuntu podemos instalar la versin 5.5 o la 5.6, por lo que cogemos la ltima) y el lenguaje
de programacin PHP junto con los mdulos para Apache y MySQL:
7 [...]
8
9 Desea continuar? [S/n] S
10
11 [...]
Durante la instalacin nos va a pedir que introduzcamos una contrasea de administracin de MySQL.
Vamos a modificar Apache para que en lugar de que escuche en el puerto 80, pase a escuchar en el puerto 81.
Los ficheros de configuracin a modificar son /etc/apache2/ports.conf y /etc/apache2/sites-available/000-
default.conf , y en ellos buscamos donde pone 80 para substituirlo por 81.
Tras esto, realizamos un reinicio del servicio y nos aseguramos que ya est escuchando en el puerto 81:
root@mail:/etc/apache2# servic
* Restarting w eb server apach
...done.
3 ...done.
Configuracin MySQL
Vamos a crear una base de datos junto con un usuario para uso exclusivo de MailScanner y MailWatch:
MySQL
root@mail:~# mysql -u root -p
Enter passw ord:
Welcome to the MySQL monitor.
Your MySQL connection id is 45
2 Enter password:
7 Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
11 owners.
12
13 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL
Instalacin de MailWatch
Durante la instalacin de MailWatch vamos a realizar una serie de hacks para mejorar el rendimiento del
mismo, ya que, por defecto, no vienen aplicados. Tal como hemos dicho al principio, haremos varios saltos
entre la configuracin de MailWatch y MailScanner, por lo que tenemos que estar atentos a qu ficheros vamos
tocando y con qu finalidad.
Descargar MailWatch
Descargamos MailWatch
14
16
18
20 [...]
21
22 root@mail:~# cd 1.2.0-master/
23
24 root@mail:~/1.2.0-master# ls
Hemos descargado el cdigo, descomprimido el fichero y, por ltimo, podemos ver los ficheros que contiene.
Tal como se puede ver, existe un fichero INSTALL que nos indica los pasos a dar
Instalacin de MailWatch
MailWatch nos provee de un fichero para la creacin de tablas de la base de datos, pero que vamos a modificar
para que las tablas sean creadas con el motor InnoDB de MySQL en lugar del antiguo MyISAM:
root@mail:~/1.2.0-master# mysq
Enter passw ord:
4 Enter password:
Con esto ya tenemos el esquema de la base de datos creado y ahora vamos a generar un usuario admin para
poder acceder posteriormente con l a travs del navegador web. Fijaros que ahora vamos a conectarnos a la
base de datos con el usuario mailwatch que hemos creado ms arriba. El usuario admin y la contrasea que
pongo a continuacin lo guardaremos para acceder a travs del navegador:
[...]
2 Enter password:
4 [...]
6 mysql> INSERT INTO users SET username = 'admin', password = md5('webpassword'), fullname = 'Admin', type ='A';
[...]
1 root@mail:~# cpan -i Encoding::FixLatin
2 Reading '/root/.cpan/Metadata
4 [...]
7 GRANTM/Encoding-FixLatin-1.04.tar.gz
8 /usr/bin/make install -- OK
Perl
2 my($db_name) = 'mailscanner';
3 my($db_host) = 'localhost';
4 my($db_user) = 'mailwatch';
5 my($db_pass) = 'password';
root@mail:~/1.2.0-master# mv M
root@mail:~/1.2.0-master# ls -lh
lrw xrw xrw x 1 root root 51 ene
root@mail:~/1.2.0-master# mv MailScanner_perl_scripts/MailWatch.pm /etc/MailScanner/custom/
1
2
root@mail:~/1.2.0-master# ls -lh /etc/MailScanner/custom
3
lrwxrwxrwx 1 root root 51 ene 19 12:34 /etc/MailScanner/custom ->
4
/usr/share/MailScanner/MailScanner/CustomFunctions/
Hasta ahora hemos estado con la base de datos, pero todava falta de instalar la parte del cdigo web al que
posteriormente accederemos va navegador. El interfaz propiamente dicho est en el directorio mailscanner,
dentro del fichero descargado de mailwatch, y lo vamos a dejar en el directorio correspondiente al que Apache
accede por defecto, en el caso de Ubuntu 14.04 es /var/www/html/ . Tambin tenemos que asegurar que el
usuario de apache (www-data) tiene permisos para acceder a unos directorios:
root@mail:~/1.2.0-master# mv m
root@mail:~/1.2.0-master# cd /v
3 root@mail:~/1.2.0-master# cd /var/www/html/mailscanner/
10
12
root@mail:/var/w w w /html/mails
Y nos aseguramos que modificamos en el fichero las variables para que queden tal que:
PHP
1 define('DB_USER', 'mailwatch');
2 define('DB_PASS', 'password');
3 define('DB_HOST', 'localhost');
4 define('DB_NAME', 'mailscanner');
6 define('TIME_ZONE', 'Europe/Madrid');
8 define('QUARANTINE_FROM_ADDR', 'admin@irontec.com');
Configurar MailScanner
Como ya hemos visto, tenemos el interfaz web funcionando y, del post anterior, el MailScanner tambin; pero
ahora falta realizar la integracin entre ambos. Vamos a realizar modificaciones en el fichero de configuracin
de MailScanner /etc/MailScanner/MailScanner.conf y nos aseguramos que las siguientes directivas estn
como os mostramos ahora:
Modificamos /etc/MailScanner/MailScanner.conf
Perl
11
13
16
Las ltimas dos lneas son para poder tener las whitelist y blacklist en la base de datos, en lugar de tenerlo en
fichero, como os enseamos en el post anterior. Para ello, en el directorio descargado de mailscanner
modificamos el fichero MailScanner_perl_scripts/SQLBlackWhiteList.pm para modificar los acceso a la
base de datos, buscamos y dejamos las lneas as:
modificamos MailScanner_perl_scripts/SQLBlackWhiteList.pm
Perl
my($db_name) = 'mailscanner'
my($db_host) = 'localhost';
my($db_user) = 'mailw atch';
my($db_pass) = 'passw ord';
1 my($db_name) = 'mailscanner';
2 my($db_host) = 'localhost';
3 my($db_user) = 'mailwatch';
4 my($db_pass) = 'password';
root@mail:~/1.2.0-master# mv M
Reiniciamos Mailscanner:
Reiniciamos MailScanner
root@mail:~# /etc/init.d/mailscan
* Restarting mail spam/virus sc
...done.
4 ...done.
5 root@mail:~#
Iniciamos Zimbra
root@mail:~# su - zimbra
zimbra@mail:~$ zmcontrol start
Host mail.irontec.com
Starting ldap...Done.
1 root@mail:~# su - zimbra
3 Host mail.irontec.com
4 Starting ldap...Done.
5 Starting zmconfigd...Done.
6 Starting dnscache...Done.
7 Starting logger...Done.
8 Starting mailbox...Done.
9 Starting memcached...Done.
10 Starting proxy...Done.
11 Starting amavis...Done.
12 Starting antispam...Done.
13 Starting antivirus...Done.
14 Starting opendkim...Done.
15 Starting snmp...Done.
16 Starting spell...Done.
17 Starting mta...Done.
18 Starting stats...Done.
Y si nos mandamos un mail de una cuenta a otra ya veremos cmo aparece en el MailWatch:
Si hacemos click en el # de la izquierda de cada mail veremos toda la informacin del mail, sus cabeceras, la
puntuacin del SpamAssassin
Configuracin final
Tras los pasos dados hasta ahora, ya tendramos MailScanner y MailWatch integrados y funcionando, pero
vamos a realizar una serie de configuracin extra para poder mejorarlo.
CRONs de mantenimiento
Dado que actualmente estamos metiendo informacin de los correos electrnicos a la base de datos, en caso de
tener mucho trfico, nuestra base de datos ir cogiendo cierto tamao, lo que puede repercutir en el espacio
utilizado en el servidor, as como en la velocidad de carga del interfaz web MailWatch. En el fichero INSTALL
de MailWatch recomiendan la instalacin de varios scripts que nos facilitan, para que sean ejecutados por el
dominio CRON. Estos scripts se encuentran en el directorio tools/Cron_jobs del directorio descomprimido al
principio de este post.
Os dejo un resumen de los scripts que pueden ser de utilidad, pero os dejamos a vuestro criterio la instalacin
de cada uno de ellos:
db_clean.php : Borra de la base de datos de los mails anteriores a una fecha. Para ello, tiene en cuenta un par
de variables del fichero de configuracin de MailWatch conf.php , que por defecto son 60 das.
quarantine_maint.sh : Dado que los mails en cuarentena son guardados en disco, llegar un momento en el que
estemos ocupando espacio con mails no liberados que es absurdo seguir manteniendo. Este script borra de la
base de datos y de disco los correos que llevan en cuarentena ms de 30 das.
quarantine_report.php : Tiene en cuenta varias variables de conf.php para la generacin y envo de un correo
electrnico con la informacin recopilada de la base de datos. Este correo nos informa de los mails que han
llegado al servidor que son spam, virus, phishing,
Configuracin GeoIP
Para conocer los pases de los servidores emisores necesitamos contar con una base de datos en la que se
relacione IP con pas. Para ello vamos a la pestaa Tools/Links, pinchamos en el enlace Update GeoIP
Database y hacer click en el botn Run now. Este proceso se descargar dos ficheros (GeoIP.dat y
GeoIPv6.dat) que son guardados en /var/www/html/mailscanner/temp y que contienen una base de datos
interna. Con estos ficheros, al ir a visualizar las cabeceras de un correo procesado nos informar del pas
procedente del correo.
Actualizamos reglas SpamAssassin
Dado que cada cierto tiempo SpamAssassin crea nuevas reglas, para que MailWatch las conozca hay que
realizar una actualizacin de las mismas. Para ello vamos a la pestaa Tools/Links, pinchamos en el enlace
Update SpamAssassin Rule Descriptions y hacemos click sobre el botn Run now. Veremos el nombre y
la descripcin de las reglas que son usadas por SpamAssassin.
Listas blancas/negras
En el post anterior os explicamos cmo generar ficheros para la creacin de listas blancas y negras para
MailScanner. Con MailWatch, y la configuracin que hemos realizado en el MailScanner, la creacin de listas
blancas y negras va a travs del interfaz web. Por lo tanto, esta informacin estar guardada en la base de datos.
Si os fijis, hay una pestaa que se llama B/W LISTS. Pinchando sobre ella, nos muestra un formulario para
aadir direcciones de correo electrnico, o un dominio completo como lista blanca o negra.
MailWatch puede mostrarnos cuantos mails hay en la cola de correos, pero debido a los permisos de los
directorios (creados por Zimbra), el usuario www-data no tiene permisos para acceder a ellos, y por tanto esta
informacin no nos la muestra. El usuario www-data es el encargado de ejecutar Apache en nuestro servidor.
Vamos a dar permisos para que pueda acceder cualquier usuario a los directorios de las colas:
Modificamos /var/www/html/mailscanner/postfix.inc
function postfixinq()
{
$handle = opendir('/opt/zimbr
1 function postfixinq()
2{
3 $handle = opendir('/opt/zimbra/data/postfix/spool/hold/');
5 [...]
Con esto ya podramos ver la informacin del estado de las colas, que tal como se puede ver en la imagen, ahora
mismo es de cero mails en las colas.
Resumen
Tras este post, podramos dar por terminado la instalacin y la configuracin del servidor de correo
electrnico donde podemos ver y controlar los mails que llegan y se envan, controlar las listas blancas y
negras, obtener estadsticas