Acerca de MailScanner
MailScanner, un robusto servicio que se encarga de examinar el correo electrónico e identificar y etiquetar correo masivo no solicitado (Spam), así como también los fraudes electrónicos (Phishing). Combinado con ClamAV, un poderoso y versátil anti-virus libre para GNU/Linux y otros sabores de Unix, resultan una de las soluciones más robustas para la protección contra correo masivo no solicitado, fraudes electrónicos, virus, gusanos y troyanos desde el servidor de correo electrónico.
MailScanner tiene las siguiente características:
SpamAssassin es un sustento lógico que utiliza un sistema de puntuación, basado sobre algoritmos de tipo genético, para identificar mensajes que pudieran ser sospechosos de ser correo masivo no solicitado, añadiendo cabeceras a los mensajes de modo que pueda ser filtrados por el cliente de correo electrónico o MUA (Mail User Agent).
URL: http://spamassassin.apache.org/
También podrá instalar MailScanner descargando la más reciente versión 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/
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 inglés que diría: «No Outlook Rich Text Format messages due to security hole, use HTML instead». Se puede poner el mensaje al español:
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 inglés que diría: «No aceptamos mensajes en Formato de Texto Enriquecido de Outlook, por favor utilice HTML.».
Para agilizar el inicio de MailScanner se pueden definir los anti-virus necesarios. ClamAV es el anti-virus recomendado por tratarse de un sustento lógico libre. Localice lo siguiente en el fichero /etc/MailScanner/MailScanner.conf:
Las opciones permitidas son:
El valor predeterminado es disarm.
De modo predefinido está activo el soporte de exploración de correo en búsqueda de correo masivo no solicitado (Spam).
Modifique el fichero /etc/MailScanner/spam.lists.conf y defina o confirme las listas negras a utilizar
Suponiendo se aplicarán las siguientes políticas:
Los valores para Required SpamAssassin Score y High SpamAssassin Score coresponderían del siguiente modo:
• SMTP, puerto 25 a través de TCP (entrada y salida). • DNS, puerto 53 a través de TCP y UDP (salida). • Razor23, puerto 2703 a través de TCP y puerto 7 a través de UDP (salida). • DCC, puerto 6277 a través de UDP (salida). • Pyzor, puerto 24441 a través de UDP (salida).
ClamAV necesita además 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 correspondería a algo similar a esto:
MailScanner, un robusto servicio que se encarga de examinar el correo electrónico e identificar y etiquetar correo masivo no solicitado (Spam), así como también los fraudes electrónicos (Phishing). Combinado con ClamAV, un poderoso y versátil anti-virus libre para GNU/Linux y otros sabores de Unix, resultan una de las soluciones más robustas para la protección contra correo masivo no solicitado, fraudes electrónicos, virus, gusanos y troyanos desde el servidor de correo electrónico.
MailScanner tiene las siguiente características:
- Distribuido bajo los términos de la Licencia Publica General GNU versión 2.
- Revisa el correo electrónico en busca de virus utilizando cualquier combinación de entre más de una docena de distintos programas anti-virus.
- Automáticamente actualiza todo los anti-virus instalados cada hora.
- Identifica alrededor del 95% del correo masivo no solicitado (Spam) utilizando diferentes técnicas, incluyendo altamente avanzadas técnicas de heurística (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 inspección por los administradores.
- Puede eliminar el contenido gráfico de correo masivo no solicitado (Spam) de tipo pornográfico protegiendo a los usuarios de contenido obsceno.
- Verifica el coreo electrónico en busca de conocidas vulnerabilidades para las más populares aplicaciones de correo electrónico y corrige automáticamente 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 más de millón y medio de mensajes de correo por día.
- Es robusto. Se protege a si mismo contra ataques de Denegación 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 combinación de usuarios y dominios.
- Es fácil de instalar y configurar puesto que sus opciones predefinidas permiten trabajar al servicio de correo sin complicaciones.
- Distribuido bajo los términos de la Licencia Publica General GNU versión 2.
- Cumple con las especificaciones de familia de estándares POSIX (Portable Operating System Interface for UNIX o interfaz portable de sistema operativo para Unix).
- Exploración rápida.
- Detecta más 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 actualización con soporte para firmas digitales y consultas basadas sobre DNS.
SpamAssassin es un sustento lógico que utiliza un sistema de puntuación, basado sobre algoritmos de tipo genético, para identificar mensajes que pudieran ser sospechosos de ser correo masivo no solicitado, añadiendo cabeceras a los mensajes de modo que pueda ser filtrados por el cliente de correo electrónico o MUA (Mail User Agent).
URL: http://spamassassin.apache.org/
Procedimientos.
Sustento lógico necesario.- mailscanner >= 4.50
- clamav >= 0.88
- spamAssassin >= 3.0.4
- perl-Convert-BinHex
- perl-MailTools
- perl-MIME-tools
- perl-IO-stringy
- perl-TimeDate
- perl-Net-CIDR
- perl-Compress-Zlib
- perl-Convert-ASN1
- perl-Archive-Zip
- tnef
También podrá instalar MailScanner descargando la más reciente versión 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/
wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.78.17-1.rpm.tar.gz tar xzvf MailScanner-4.78.17-1.rpm.tar.gz cd MailScanner-4.78.17-1 ./install.shUna vez configurado lo anterior, solo bastará utilizar:
yum -y install clamav libclamav clamtk clamdLo anterior instalará mailscanner y clamav junto con todas las dependencias que seas necesarias. Configuración de MailScanner Utilice el editor de texto de su predilección y disponga a modificar /etc/MailScanner/MailScanner.conf con la finalidad de configurar los siguiente parámetros: Lenguaje de los mensajes de sistema. Puede configurar MailScanner para que devuelva los mensajes de sistema en español. Localice lo siguiente:
%report-dir% = /etc/MailScanner/reports/enCambie por:
%report-dir% = /etc/MailScanner/reports/esIdentificación de la organización. Solo es de carácter informativo y sirve para identificar si un mensaje infectado pertenece a un servidor u otro. Localice lo siguiente:
%org-name% = yoursiteCambie por:
%org-name% = Mi empresaEl parámetro %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 líneas utilizando secuencias \n.
%org-long-name% = Empresa Imaginaria S.A. de C.V.El parámetro %web-site% se utiliza para definir el URL de la empresa, mismo que también se incluye en la firma al final de los reportes que envía MailScannmer. Se recomienda se utilice una URL hacia un documento que explique el porque se han rechazado/filtrado mensajes o bien información de contacto.
%web-site% = http://www.empresa-imaginaria.com.mx/info-correo.htmlAdjuntos 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 habría un alto riesgo de permitir la entrada de virus a través 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 están de acuerdo en que recibir un mensaje con colores y letras bonitos es más importante que la seguridad, puede cambiarse el valor a yes.
Deliver Unparsable TNEF = noAdicionalmente puede, aunque no se recomienda, cambiar el valor de deny por allowen la línea de configuración correspondiente para adjuntos con extensión *.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 expresión regular a filtrar, texto a incluir en la bitácora del sistema y el texto a utilizar en el reporte para el usuario, todo separado por tabuladores y en una sola línea por cada regla.
deny winmail\.dat$ Windows security vulnerability No Outlook Rich Text Format messages due to security hole, use HTML instead |
deny winmail\.dat$ Windows security vulnerability No aceptamos mensajes en Formato de Texto Enriquecido de Outlook, por favor utilice HTML. |
Definir anti-virus a utilizar.
MailScanner puede detectar automáticamente los anti-virus a utilizar dejando el valor auto en el parámetro Virus Scanners, de modo que detectará cualquiera de los siguientes:• Sophos. | • Mcafee. | • Command. |
• Bitdefender. | • DRweb. | • Kaspersky. |
• eTrust. | • Inoculate. | • Inoculan. |
• Nod32. | • F-Secure. | • F-Prot. |
• Panda. | • Rav. | • Antivir. |
• ClamAV. | • Trend. | • Norman. |
• Css. | • AVG. | • Vexira. |
Virus Scanners = noneCambie por:
Virus Scanners = clamavPuede utilizar más de un anti-virus si así lo considera conveniente. Solo necesitará instalar las versiones apropiadas para el sistema operativo que utilice y añadirlos 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 electrónico y prefiere eliminar estos adjuntos inmediatamente después de ser procesados, localice lo siguiente:
Quarantine Infections = yesCambie por:
Quarantine Infections = noPermitir mensajes con etiqueta Iframe, Form y Script. Las etiquetas iframe se utilizan para cargar una página empotrada dentro de un marco. Lamentablemente esto representa un riesgo muy alto e innecesario debido a que un mensaje de correo electrónico podría no contener material dañino, pero tal vez el la página que cargue el marco que si lo contenga. Actualmente se considera el enviar correo electrónico 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. |
Allow IFrame Tags = disarmLo mismo aplica para las etiquetas form, que pueden permitir la recolección de datos desde el mensaje de correo electrónico con ayuda de la ingenuidad del usuario, o bien la ejecución de código peligroso a través de guiones escritos en JavaScript a través de la etiqueta script.
Allow Form Tags = disarmAllow Script Tags = disarmControl de Spam
De modo predefinido está activo el soporte de exploración de correo en búsqueda de correo masivo no solicitado (Spam).
Spam Checks = yesQuienes se dedican al envío 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 podría 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 más de un número determinado de destinatarios (20 de modo predefinido), éste se será tratado como cualquier otro mensaje sin aún 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 = 20A través de DNSBL o listas negras. MailScanner permite también 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.# combinación 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 SORBSA través de SpamAssassin. MailScanner puede echar mano de SpamAssassin para una más eficiente detección de correo masivo no solicitado. Puede activarse o desactivarse esta funcionalidad a través del parámetro Use SpamAssassin asignando yes o no.
Use SpamAssassin = yesSpamAssassin utiliza un sistema de calificación para etiquetar o no como correo masivo no solicitado. Se asigna un valor numérico a partir de 1 (valor recomendado es 6), con o sin decimales, para el parámetro Required SpamAssassin Score. Cada vez que se identifica en un mensaje contiene alguna característica 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 = 6Puede especificarse también a través del parámetro High SpamAssassin Score que los mensajes que rebasen la puntuación 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 = 10El parámetro Spam Actions define que política a aplicar para el correo electrónico 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 parámetro High Scoring Spam Actions se utiliza para definir la política a aplicar para el correo electrónico 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 | Envía un masaje de rechazo al remitente. Este valor solo puede utilizarse con el parámetro Spam Actions, no puede utilizarse con el parámetro 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 envía una breve notificación 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" | Añade la cabecera con cualquier nombre (sin espacios) con el valor especificado. |
• 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 añadirá la cabecera "X-Spam-Status: Yes". |
• Si el mensaje es calificado al menos con el valor definido en High SpamAssassin Score, se eliminará automáticamente. |
Spam Actions = deliver attachment header "X-Spam-Status: Yes"High Scoring Spam Actions = deleteListas 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. yesEn el ejemplo anterior, todo el correo proveniente de 200.76.185.250 y cualquier dirección IP de la red 192.168.0.0/24 quedará exento de etiquetarse como correo masivo no solicitado (Spam). Configuración 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 más recientes firmas de los más recientes virus, gusanos, troyanos y otros tipos de sustento lógico maligno.
chkconfig clamd on chkconfig freshclam on service clamd start service freshclam startDe 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 startComprobaciones. Utilice cualquier cliente de correo electrónico y envíe como adjunto hacia una cuenta de correo local el fichero test2.zip conteniendo un virus, El procedimiento deberá entregar el mensaje al destinatario con el título alterado indicando que el mensaje contenía un virus y en el interior un texto que indica que el adjunto fue removido y eliminado. Si quiere hacer una prueba rápida, 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" fulanoLo anterior deberá devolver al destinatario el siguiente mensaje de correo electrónico:
Asunto: {Virus?} Prueba Anti-virus De: "Fulano"El administrador del servidor de correo recibirá en cambio lo siguiente:Fecha: Mie, 18 de Agosto de 2004, 10:31 pm Para: "Fulano" Atención: Este mensaje contenía uno o más anexos que han sido eliminados Atención: (test2.zip, clamtest). Atención: Por favor, lea el(los) anexo(s) "empresa-Attachment-Warning.txt" para más información. Prueba Anti-virus</fulano@localhost.localdomain></fulano@localhost.localdomain>
Asunto: Virus Detected De: "MailScanner"Si todos los procedimientos de comprobación por algún motivo no funcionan, por favor verifique la sintaxis en todas las líneas modificadas en el fichero /etc/MailScanner/MailScanner.conf, como seguramente podrá leer se indica en la bitácora localizada en el fichero /var/log/maillog.y que también puede mostrar información de utilidad.Fecha: Mie, 18 de Agosto de 2004, 10:31 pm Para: postmaster@localhost.localdomain The following e-mails were found to have: Virus DetectedSender: 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</postmaster@localhost.localdomain>
tail -f /var/log/maillogModificaciones necesarias en el muro cortafuegos. Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es importante que MailScanner pueda realizar conexiones hacia el exterior hacia los siguientes servicios:
• SMTP, puerto 25 a través de TCP (entrada y salida). • DNS, puerto 53 a través de TCP y UDP (salida). • Razor23, puerto 2703 a través de TCP y puerto 7 a través de UDP (salida). • DCC, puerto 6277 a través de UDP (salida). • Pyzor, puerto 24441 a través de UDP (salida).
ClamAV necesita además 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 correspondería a algo similar a esto:
#ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S) ACCEPT fw net tcp 25,53,80,2703 ACCEPT fw net udp 7,53,6277,24441 ACCEPT net fw tcp 25 #LAST LINE #-- ADD YOUR ENTRIES BEFORE THIS ONE #-- DO NOT REMOVE
Muy bueno este Articulo
ResponderBorrarEs de comentar que estan muy explicados las opciones del archivo .conf
Sabes de algun how to donde se explique con detalle cada entrada?