You are on page 1of 11

Configuracin de MailScanner y ClamAV con Sendmail.

Autor: Joel Barrios Dueas


Correo electrnico: jbarrios arroba linuxparatodos punto net
Sitio de Red: http://www.linuxparatodos.net/
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

1999-2006 Linux Para Todos. Algunos Derechos Reservados 2007 Factor Evolucin
SA de CV. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer
obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor
original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o
transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada
bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien
claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no
aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos
derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior.
Licencia completa en castellano. La informacin contenida en este documento y los
derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad
alguna si el usuario o lector hace mal uso de stos.

Introduccin.
Acerca de MailScanner.
MailScanner, un robusto servicio que se encarga de examinar el correo electrnico e
identificar y etiquetar correo masivo no solicitado (Spam), as como tambin los
fraudes electrnicos (Phishing). Combinado con ClamAV, un poderoso y verstil antivirus libre para GNU/Linux y otros sabores de Unix, resultan una de las soluciones ms
robustas para la proteccin contra correo masivo no solicitado, fraudes electrnicos,
virus, gusanos y troyanos desde el servidor de correo electrnico.
MailScanner tiene las siguiente caractersticas:
Distribuido bajo los trminos de la Licencia Publica General GNU
versin 2.
Revisa el correo electrnico en busca de virus utilizando cualquier
combinacin de entre ms de una docena de distintos programas antivirus.
Automticamente actualiza todo los anti-virus instalados cada hora.
Identifica alrededor del 95% del correo masivo no solicitado (Spam)
utilizando diferentes tcnicas, incluyendo altamente avanzadas tcnicas
de heurstica (capacidad de un sistema para realizar de forma inmediata
innovaciones positivas para sus fines).
El correo identificado como peligroso puede ser etiquetado, rechazado,
descartado, archivado o reenviado hacia otras direcciones para su
inspeccin por los administradores.
Puede eliminar el contenido grfico de correo masivo no solicitado
(Spam) de tipo pornogrfico protegiendo a los usuarios de contenido

obsceno.
Verifica el coreo electrnico en busca de conocidas vulnerabilidades
para las ms populares aplicaciones de correo electrnico y corrige
automticamente los mensajes durante el proceso cuando sea posible
poniendo en cuarentena las secciones peligrosas de contenidas en los
mensajes.
Es altamente escalable. Un servidor puede procesar ms de milln y
medio de mensajes de correo por da.
Es robusto. Se protege a si mismo contra ataques de Denegacin de
Servicio (DoS) y fuga de recursos del sistema operativo.
Es altamente configurable, proporciona a los Proveedores de Servicios
de Internet (ISP o Internet Service Provider y Proveedores de Servicios
de Aplicaciones (ASP o Application Service Provider) la posibilidad de
utilizar miles de diferentes reglas y configuraciones para cualquier
combinacin de usuarios y dominios.
Es fcil de instalar y configurar puesto que sus opciones predefinidas
permiten trabajar al servicio de correo sin complicaciones.
URL: http://www.mailscanner.info/.

Acerca de ClamAV.
ClamAV tiene las siguiente caractersticas:
Distribuido bajo los trminos de la Licencia Publica General GNU
versin 2.
Cumple con las especificaciones de familia de estndares POSIX
(Portable Operating System Interface for UNIX o interfaz portable de
sistema operativo para Unix).
Exploracin rpida.
Detecta ms de 44 mil virus, gusanos y troyanos, incluyendo virus para
MS Office.
Capacidad para examinar contenido de ficheros ZIP, RAR, Tar, Gzip,
Bzip2, MS OLE2, MS Cabinet, MS CHM y MS SZDD.
Soporte para explorar ficheros comprimidos con UPX, FSG y Petite.
Avanzada herramienta de actualizacin con soporte para firmas digitales
y consultas basadas sobre DNS.
URL: http://www.clamav.net/

Acerca de SpamAssassin.
SpamAssassin es un sustento lgico que utiliza un sistema de puntuacin, basado sobre
algoritmos de tipo gentico, para identificar mensajes que pudieran ser sospechosos de
ser correo masivo no solicitado, aadiendo cabeceras a los mensajes de modo que pueda
ser filtrados por el cliente de correo electrnico o MUA (Mail User Agent).

URL: http://spamassassin.apache.org/

Procedimientos.
Sustento lgico necesario.
mailscanner >= 4.50
perl-Convert-BinHex
perl-IO-stringy
perl-Compress-Zlib
tnef

clamav >= 0.88


perl-MailTools
perl-TimeDate
perl-Convert-ASN1

spamAssassin >= 3.0.4


perl-MIME-tools
perl-Net-CIDR
perl-Archive-Zip

Si dispone de un sistema con Red Hat Enterprise Linux 4, CentOS 4 o White Box
Enterprise Linux 4, puede utilizar el siguiente depsito yum:
[mailscanner-lpt]
name=MailScanner Linux Para Todos para Enterprise Linux 4
baseurl=http://www.linuxparatodos.net/lpt/whitebox/4.0/mailscanner/
gpgkey=http://www.linuxparatodos.net/lpt/LPT-RPM-KEY

Una vez configurado lo anterior, solo bastar utilizar:


yum -y install mailscanner clamav

Lo anterior instalar mailscanner y clamav junto con todas las dependencias que seas
necesarias.
Tambin podr instalar MailScanner descargando la ms reciente versin desde
http://www.mailscanner.info/ en donde encontrar un paquete *.tar.gz en cuyo interior
hay paquetes SRPM que podr compilar e instalar en el orden indicado siguiendo las
instrucciones del fichero README. De igual modo podr proceder con clamav desde
http://clamav.net/

Configuracin de MailScanner.
Utilice el editor de texto de su predileccin y disponga a modificar
/etc/MailScanner/MailScanner.conf con la finalidad de configurar los siguiente
parmetros:
Lenguaje de los mensajes de sistema.
Puede configurar MailScanner para que devuelva los mensajes de sistema en espaol.
Localice lo siguiente:
%report-dir% = /etc/MailScanner/reports/en

Cambie por:
%report-dir% = /etc/MailScanner/reports/es

Identificacin de la organizacin.
Solo es de carcter informativo y sirve para identificar si un mensaje infectado
pertenece a un servidor u otro. Localice lo siguiente:
%org-name% = yoursite

Cambie por:
%org-name% = empresa

El parmetro %org-long-name% es utilizado para definir que mostrar en la firma


localizada al final de los reportes enviados por MailScanner. Puede incluir cuanto texto
sea necesario, e incluso definir varias lneas utilizando secuencias \n.
%org-long-name% = Empresa Imaginaria S.A. de C.V.

El parmetro %web-site% se utiliza para definir el URL de la empresa, mismo que


tambin se incluye en la firma al final de los reportes que enva MailScannmer. Se
recomienda se utilice una URL hacia un documento que explique el porque se han
rechazado/filtrado mensajes o bien informacin de contacto.
%web-site% = http://www.empresa-imaginaria.com.mx/infocorreo.html

Adjuntos en formato de texto enriquecido.


Algunas versiones de Microsoft Outlook generan adjuntos en formato de Texto
Enriquecido (Rich Text Format) que no pueden ser examinados. El valor predefinido es
no ya que de otro modo habra un alto riesgo de permitir la entrada de virus a travs de
este tipo de mensajes. Sin embargo muchos usuarios de Outlook pueden protestar al
respecto por carecer una enfoque apropiado acerca de la seguridad. Realmente vale la
pena el riesgo? Si los usuarios estn de acuerdo en que recibir un mensaje con colores y
letras bonitos es ms importante que la seguridad, puede cambiarse el valor a yes.
Deliver Unparsable TNEF = no

Adicionalmente puede, aunque no se recomienda, cambiar el valor de deny por allowen


la lnea de configuracin correspondiente para adjuntos con extensin *.dat en el
fichero /etc/MailScanner/filename.rules.conf. En este fichero se define lo que se
quiera denegar si los mensajes incluyen ciertos tipos de ficheros adjuntos que se
consideran de alto riesgo. El formato de este fichero consiste en definir una regla (que
puede ser allow, deny o deny+delete), una expresin regular a filtrar, texto a incluir en
la bitcora del sistema y el texto a utilizar en el reporte para el usuario, todo separado
por tabuladores y en una sola lnea por cada regla.
deny
winmail\.dat$
Windows security
vulnerability
No Outlook Rich Text Format messages due
to security hole, use HTML instead

Lo anterior rechaza los mensajes que incluyan adjuntos *.dat, es decir mensajes de
Outlook en Formato de Texto Enriquecido (Outlook Rich Text Format), devolviendo un
mensaje de error en ingls que dira: No Outlook Rich Text Format messages due to
security hole, use HTML instead. Se puede poner el mensaje al espaol:
deny
winmail\.dat$
Windows security
vulnerability
No aceptamos mensajes en Formato de Texto
Enriquecido de Outlook, por favor utilice HTML.

Lo anterior rechaza los mensajes que incluyan adjuntos *.dat, es decir mensajes de
Outlook en Formato de Texto Enriquecido (Outlook Rich Text Format), devolviendo un
mensaje de error en ingls que dira: No aceptamos mensajes en Formato de Texto
Enriquecido de Outlook, por favor utilice HTML..
Definir anti-virus a utilizar.
MailScanner puede detectar automticamente los anti-virus a utilizar dejando el valor
auto en el parmetro Virus Scanners, de modo que detectar cualquiera de los
siguientes:
Sophos.
Bitdefender.
eTrust.
Nod32.
Panda.
ClamAV.
Css.

Mcafee.
DRweb.
Inoculate.
F-Secure.
Rav.
Trend.
AVG.

Command.
Kaspersky.
Inoculan.
F-Prot.
Antivir.
Norman.
Vexira.

Para agilizar el inicio de MailScanner se pueden definir los anti-virus necesarios.


ClamAV es el anti-virus recomendado por tratarse de un sustento lgico libre.
Localice lo siguiente en el fichero /etc/MailScanner/MailScanner.conf:
Virus Scanners = none

Cambie por:
Virus Scanners = clamav

Puede utilizar ms de un anti-virus si as lo considera conveniente. Solo necesitar


instalar las versiones apropiadas para el sistema operativo que utilice y aadirlos en
MailScanner como lista horizontal separada por espacios. Ejemplo:
Virus Scanners = clamav mcafee sophos trend

Poner en cuarentena los mensajes infectados o no?


Si decide no poner en cuarentena los elementos adjuntos infectados en los mensajes de
correo electrnico y prefiere eliminar estos adjuntos inmediatamente despus de ser
procesados, localice lo siguiente:

Quarantine Infections = yes

Cambie por:
Quarantine Infections = no

Permitir mensajes con etiqueta Iframe, Form y Script.


Las etiquetas iframe se utilizan para cargar una pgina empotrada dentro de un marco.
Lamentablemente esto representa un riesgo muy alto e innecesario debido a que un
mensaje de correo electrnico podra no contener material daino, pero tal vez el la
pgina que cargue el marco que si lo contenga. Actualmente se considera el enviar
correo electrnico utilizando etiquetas iframe como poco tico por todos los riesgos
que conlleva.
Las opciones permitidas son:
yes: Permite la etiqueta en el mensaje.
no: elimina los mensajes que contengan la etiqueta.
disarm: Permite las etiquetas pero impide que stas funcionen.
El valor predeterminado es disarm.
Allow IFrame Tags = disarm

Lo mismo aplica para las etiquetas form, que pueden permitir la recoleccin de datos
desde el mensaje de correo electrnico con ayuda de la ingenuidad del usuario, o bien la
ejecucin de cdigo peligroso a travs de guiones escritos en JavaScript a travs de la
etiqueta script.
Allow Form Tags = disarm
Allow Script Tags = disarm

Control de Spam.
De modo predefinido est activo el soporte de exploracin de correo en bsqueda de
correo masivo no solicitado (Spam).
Spam Checks = yes

Quienes se dedican al envo de correo masivo no solicitado han aprendido que pueden
hacer que su mensaje pase los filtros enviando un mensaje con muchos destinatarios,
uno de los cuales podra tener configurado tener todo en lista blanca en las opciones de
SpamAssassin en el directorio de inicio del usuario. De este modo, si un mensaje llega
con ms de un nmero determinado de destinatarios (20 de modo predefinido), ste se
ser tratado como cualquier otro mensaje sin an si el destinatario ha decidido poner
todo en lista blanca o si el remitente est en la lista blanca en el fichero
/etc/MailScanner/rules/spam.whitelist.rules.

Ignore Spam Whitelist If Recipients Exceed = 20

A travs de DNSBL o listas negras.


MailScanner permite tambin realizar filtrado de correo contra listas negras como
SpamCop y Spamhaus. Si ya utiliza los DNSBL o listas negras desde Sendmail, no
active esta funcionalidad en MailScanner para no duplicar las consultas hacia los
DNSBL.
Modifique el fichero /etc/MailScanner/spam.lists.conf y defina o confirme las listas
negras a utilizar
ORDB-RBL relays.ordb.org.
#
# spamhaus.org sbl.spamhaus.org.
# spamhaus-XBL xbl.spamhaus.org.
# combinacin de las dos anteriores:
SBL+XBL sbl-xbl.spamhaus.org.
#
spamcop.net bl.spamcop.net.
NJABL dnsbl.njabl.org.
SORBS dnsbl.sorbs.net.

Localice en el fichero /etc/MailScanner/MailScanner.conf lo siguiente:


Spam List = ORDB-RBL SBL+XBL # MAPS-RBL+ costs money (except
.ac.uk)

Cambie por:
Spam List = ORDB-RBL SBL+XBL spamcop.net NJABL SORBS

A travs de SpamAssassin.
MailScanner puede echar mano de SpamAssassin para una ms eficiente deteccin de
correo masivo no solicitado. Puede activarse o desactivarse esta funcionalidad a travs
del parmetro Use SpamAssassin asignando yes o no.
Use SpamAssassin = yes

SpamAssassin utiliza un sistema de calificacin para etiquetar o no como correo masivo


no solicitado. Se asigna un valor numrico a partir de 1 (valor recomendado es 6), con o
sin decimales, para el parmetro Required SpamAssassin Score. Cada vez que se
identifica en un mensaje contiene alguna caracterstica que pudiera clasificarlo como
correo masivo no solicitado, se asignan fracciones de punto que se van sumando.
Cuando un mensaje rebasa el valor asignado para Required SpamAssassin Score ste
es etiquetado de inmediato como correo masivo no solicitado.
Required SpamAssassin Score = 6

Puede especificarse tambin a travs del parmetro High SpamAssassin Score que los
mensajes que rebasen la puntuacin establecido como valor de este se eliminen
directamente en lugar de solo etiquetarlos como correo masivo no solicitado. El valor
prefinido (y recomendado) es 10.
High SpamAssassin Score = 10

El parmetro Spam Actions define que poltica a aplicar para el correo electrnico que
se clasifica como Spam, calificado a partir del valor definido en Required
SpamAssassin Score, pero inferior al valor definido a High SpamAssassin Score. El
parmetro High Scoring Spam Actions se utiliza para definir la poltica a aplicar para
el correo electrnico que se clasifica como Spam, calificado a partir del valor definido
en High SpamAssassin Score. Pueden utilizarse combinaciones de los siguientes
valores:
deliver

Entrega del mensaje de modo normal.

delete

Eliminar el Mensaje.

bounce

Enva un masaje de rechazo al remitente.


Este valor solo puede utilizarse con el
parmetro Spam Actions, no puede
utilizarse con el parmetro High Scoring
Spam Actions.

store

Almacenar el mensaje en el directorio de


cuarentena.

forward
usuario@dominio.com

Reenviar copia del mensaje a


usuario@dominio.com

striphtml

Convierte el contenido HTML a texto


simple. Se requiere especificar el valor
deliver para que tenga efecto.

attachment

Convierte el mensaje a adjunto, de modo que


el usuario tendr que realizar un paso
adicional para mirar el contenido.

notify

Se enva una breve notificacin al usuario


que le indica que no le fue entregado un
mensaje por haber sido clasificado como
correo masivo no solicitado, permitiendo
solicitar recuperar el mensaje si acaso ste
fuese un mensaje esperado.

header "nombre: valor"

Aade la cabecera con cualquier nombre (sin


espacios) con el valor especificado.

Suponiendo se aplicarn las siguientes polticas:


Si el mensaje es calificado al menos el valor definido en Required
SpamAssassin Score, pero inferior al valor definido en High

SpamAssassin Score, se entregar al usuario como mensaje adjunto y


aadir la cabecera "X-Spam-Status: Yes".
Si el mensaje es calificado al menos con el valor definido en High
SpamAssassin Score, se eliminar automticamente.
Los valores para Required SpamAssassin Score y High SpamAssassin Score
coresponderan del siguiente modo:
Spam Actions = deliver attachment header "X-Spam-Status:
Yes"
High Scoring Spam Actions = delete

Listas Blancas.
Pueden especificarse listas blancas de direcciones o nombres de dominio que no se
desee etiqueten como correo masivo no solicitado (Spam) en el fichero
/etc/MailScanner/rules/spam.whitelist.rules del siguiente modo, donde yes signficar
que el correo proveniente de dichas direcciones nunca se etiquetar como correo masivo
no solicitado (Spam):
# This is where you can build a Spam WhiteList
# Addresses matching in here, with the value
# "yes" will never be marked as spam.
#From:
152.78.
yes
#From:
130.246.
yes
FromOrTo:
default
no
From:
200.76.185.250 yes
From:
192.168.0.
yes

En el ejemplo anterior, todo el correo proveniente de 200.76.185.250 y cualquier


direccin IP de la red 192.168.0.0/24 quedar exento de etiquetarse como correo masivo
no solicitado (Spam).

Configuracin de servicios.
Necesitar inicializar los servicios clamd y freshclam. El segundo, particularmente, se
encarga de contactar los servidores que hospedan las bases de datos actualizadas con las
ms recientes firmas de los ms recientes virus, gusanos, troyanos y otros tipos de
sustento lgico maligno.
chkconfig clamd on
chkconfig freshclam on
service clamd start
service freshclam start

De ser necesario puede actualizar manualmente y de manera inmediata la base de datos


de firmas ejecutando simplemente freshclam desde cualquier terminal como root.
Se debe desactivar y detener el servicio de sendmail, el cual ser controlado en adelante
por el servicio MailScanner:

chkconfig sendmail off


chkconfig MailScanner on
service sendmail stop
service MailScanner start

Comprobaciones.
Utilice cualquier cliente de correo electrnico y enve ste como adjunto hacia una
cuenta de correo loca el fichero test2.zip, incluido en el directorio de MailScanner del
disco de extras de curso de Linux Para Todos. El procedimiento deber entregar el
mensaje al destinatario con el ttulo alterado indicando que el mensaje contena un virus
y en el interior un texto que indica que el adjunto fue removido y eliminado.
Si quiere hacer una prueba rpida, utilice mutt para enviar un mensaje de prueba
ejecutando lo siguiente, suponiendo que hay un usuario denominado como fulano en
el sistema:
echo "Prueba Anti-virus" | mutt -a test2.zip -s "Prueba
Anti-virus" fulano

Lo anterior deber devolver al destinatario el siguiente mensaje de correo electrnico:


Asunto: {Virus?} Prueba Anti-virus
De: "Fulano" <fulano@localhost.localdomain >
Fecha: Mie, 18 de Agosto de 2004, 10:31 pm
Para: "Fulano" <fulano@localhost.localdomain >
Atencin: Este mensaje contena uno o ms anexos
que han sido eliminados
Atencin: (test2.zip, clamtest).
Atencin: Por favor, lea el(los) anexo(s) "empresaAttachment-Warning.txt"
para ms informacin.
Prueba Anti-virus

El administrador del servidor de correo recibir en cambio lo siguiente:


Asunto: Virus Detected
De: "MailScanner" <postmaster@localhost.localdomain>
Fecha: Mie, 18 de Agosto de 2004, 10:31 pm
Para: postmaster@localhost.localdomain
The following e-mails were found to have:Virus Detected
Sender: root@localhost.localdomain
IP Address: 127.0.0.1
Recipient: fulano@localhost.localdomain
Subject: Prueba Anti-virus
MessageID: i7J3VTXF004487
Informe: ClamAV: clamtest contains ClamAV-Test-Signature
Informe: ClamAV: test2.zip contains ClamAV-Test-Signature
ClamAV: clamtest contains ClamAV-Test-Signature -MailScanner
Email Virus Scanner
www.mailscanner.info

Si todos los procedimientos de comprobacin por algn motivo no funcionan, por favor
verifique la sintaxis en todas las lneas modificadas en el fichero
/etc/MailScanner/MailScanner.conf, como seguramente podr leer se indica en la
bitcora localizada en el fichero /var/log/maillog.y que tambin puede mostrar
informacin de utilidad.
tail -f /var/log/maillog

Modificaciones necesarias en el muro cortafuegos.


Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es
importante que MailScanner pueda realizar conexiones hacia el exterior hacia los
siguientes servicios:
SMTP, puerto 25 a travs de TCP (entrada y salida).
DNS, puerto 53 a travs de TCP y UDP (salida).
Razor23, puerto 2703 a travs de TCP y puerto 7 a travs de UDP
(salida).
DCC, puerto 6277 a travs de UDP (salida).
Pyzor, puerto 24441 a travs de UDP (salida).
ClamAV necesita adems poder realizar conexiones hacia HTTP (puerto 80) en el
exterior para sincronizar la base de datos de firmas.
Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondera a algo
similar a esto:
#ACTION SOURCE DEST
#
ACCEPT fw
net
ACCEPT fw
net
ACCEPT net
fw
#LAST LINE -- ADD YOUR
REMOVE

PROTO

DEST
SOURCE
PORT
PORT(S)
tcp
25,53,80,2703
udp
7,53,6277,24441
tcp
25
ENTRIES BEFORE THIS ONE -- DO NOT

You might also like