open source antivirus y antispam - index-of.co.ukindex-of.co.uk/magazines/antivirus y antispam open...

7
seguridad Antivirus y antispam Open Source para Sun JavaES Messaging Server 62 Linux+ 6/2007 [email protected] Antivirus y antispam Open Source Jorge Moratilla E n este caso particular, lo que quería hacer era bastante simple: un servidor de correo electró- nico para un único dominio que integrase una solución antivirus y anti spam (AVAS a partir de ahora) barata y fácil de mantener. Al principio la idea era configurar un único servidor de correo que ya tenía virtualizado en un servidor VMware Server y configurar SpamAssassin y ClamAv. Esta solución es más compleja, ya que hay que tocar más los ficheros de configuración del servidor de correo electrónico, que no es una tarea fácil. Aparte, el mantenimiento de un conjunto de paquetes es más complicado debido a que son varios paquetes y cada uno cuenta con su propio ciclo de vida. La otra opción era montar un servidor intermediario que recibiera todo el correo, y una vez lo hubiese proce- sado lo enviaría hacia el servidor de mensajería. Pero esto implica configurar otro sistema de correo electrónico con SpamAssassin y ClamAv y por lo tanto representaba más trabajo y más direcciones IP para los servidores. No hace mucho tiempo contacté con la empresa Zitra- lia y me hablaron de una solución de servidores seguros que incluía cortafuegos, detección de intrusos y anti spam unificado en una consola gráfica. Me pareció buena idea y es la otra configuración que he probado. Así que al final se vuelve a tener una máquina frontal, pero más intuitiva y fácil de usar. En este artículo describo la configuración de ambos sistemas y analizaremos sus ventajas y desventajas. Preparando la instalación Para la instalación de SpamAssassin, ClamAv y Amavis es necesario disponer de una versión de perl 5.8.x o superior, que podemos comprobar ejecutando el comando perl -v | grep “This is perl”, que nos devuelve una salida de una línea: Jorge Moratilla realiza en la actualidad labores de con- sultoría y preventa en Zitralia Seguridad Informática. Proviene del mundo Sun Microsystems como experto en tecnología de mensajería electrónica y tiene los cer- tificados de seguridad CCSA y CCSE. Sobre el autor Este artículo resume las experiencias personales que tuve a la hora de configurar un servidor de correo electrónico, basado en la solución de Sun Microsystems JavaES Messaging Server (antiguo iPlanet), para que filtrara los correos y eliminase así el SPAM que inundaba los buzones de mis usuarios, empleando para ello dos soluciones de código abierto: una combinación de SpamAssassin y ClamAv, y un producto de seguridad denominado Zitralia Lime Server.

Upload: others

Post on 16-Mar-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

62 Linux+ 6/2007

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

63www.lpmagazine.org

linux

@so

ftwar

e.co

m.p

l

Antivirus y antispam Open SourceJorge Moratilla

En este caso particular, lo que quería hacer era bastante simple: un servidor de correo electró-nico para un único dominio que integrase una solución antivirus y anti spam (AVAS a partir

de ahora) barata y fácil de mantener.Al principio la idea era configurar un único servidor

de correo que ya tenía virtualizado en un servidor VMware Server y configurar SpamAssassin y ClamAv. Esta solución es más compleja, ya que hay que tocar más los ficheros de configuración del servidor de correo electrónico, que no es una tarea fácil. Aparte, el mantenimiento de un conjunto de paquetes es más complicado debido a que son varios paquetes y cada uno cuenta con su propio ciclo de vida.

La otra opción era montar un servidor intermediario que recibiera todo el correo, y una vez lo hubiese proce-sado lo enviaría hacia el servidor de mensajería. Pero esto implica configurar otro sistema de correo electrónico con SpamAssassin y ClamAv y por lo tanto representaba más trabajo y más direcciones IP para los servidores.

No hace mucho tiempo contacté con la empresa Zitra-lia y me hablaron de una solución de servidores seguros que incluía cortafuegos, detección de intrusos y anti spam

unificado en una consola gráfica. Me pareció buena idea y es la otra configuración que he probado. Así que al final se vuelve a tener una máquina frontal, pero más intuitiva y fácil de usar.

En este artículo describo la configuración de ambos sistemas y analizaremos sus ventajas y desventajas.

Preparando la instalaciónPara la instalación de SpamAssassin, ClamAv y Amavis es necesario disponer de una versión de perl 5.8.x o superior, que podemos comprobar ejecutando el comando perl -v | grep “This is perl”, que nos devuelve una salida de una línea:

Jorge Moratilla realiza en la actualidad labores de con-sultoría y preventa en Zitralia Seguridad Informática. Proviene del mundo Sun Microsystems como experto en tecnología de mensajería electrónica y tiene los cer-tificados de seguridad CCSA y CCSE.

Sobre el autor

Este artículo resume las experiencias personales que tuve a la hora de configurar un servidor de correo electrónico, basado en la solución de Sun Microsystems JavaES Messaging Server (antiguo iPlanet), para que filtrara los correos y eliminase así el SPAM que inundaba los buzones de mis usuarios, empleando para ello dos soluciones de código abierto: una combinación de SpamAssassin y ClamAv, y un producto de seguridad denominado Zitralia Lime Server.

Page 2: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

62 Linux+ 6/2007

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

63www.lpmagazine.org

[root@centos4 ~]# perl -v

This is perl, v5.8.5 built for i386-

linux-thread-multi

En caso de no disponer de una versión apro-piada de perl, y siempre que tengamos co-nexión a la red, es posible instalar el paquete con la utilidad de gestión yum:

[root@centos4 ~]# yum update perl

También es necesario que el sistema tenga un compilador GCC completamente fun-cional y que la utilidad GNU Make esté ins-talada en el sistema. Para evitar problemas de conflictos en caso de querer recompilar el kernel, si queremos obtener una versión que no nos vaya a dar problemas en el futuro con módulos del kernel podemos comprobar con qué versión de gcc se creó nuestro kernel. Para ello ejecutamos el comando cat /proc/version:

[root@centos4 ~]# yum install gcc.i386

make

Para la instalación de ClamAv necesitare-mos también los paquetes zlib y zlib-devel de compresión, así que los descargamos tam-bién.

[root@centos4 ~]# yum install zlib

zlib-devel

Una vez hecho esto, podemos empezar con la instalación de SpamAssassin. Este paquete de software tiene muchas dependencias, pero afortunadamente, contamos con la ayuda de perl y su instalador de módulos CPAN que nos facilitará la labor de descargar los paque-tes y dependencias de SpamAssassin.

Hay dos tipos de dependencias a resol-ver. Las requeridas, sin las cuales no se puede instalar SpamAssassin, y las opcionales, que añaden características a la instalación final. Es recomendable instalar todas. Por lo que hay que resolver las dependencias instalan-do a través de perl y CPAN los siguientes módulos:

Después de incluir todos los módulos po-demos instalar algún filtro como Razor que nos permita añadir listas de filtrado de spam de forma automática.

Una vez instaladas todas las dependen-cias, podemos proseguir la instalación de SpamAssassin a través de la interfaz CPAN

[root@centos4 ~]# perl-MCPAN -e

'install Mail::SpamAssassin'

Este proceso tardará un rato, pero generará finalmente un conjunto de ficheros de con-figuración y de ejecutables que se alojan en los directorios bin y share por defecto del directorio /usr/local/.

Instalación de ClamAvClamAv es un antivirus de código abierto muy popular entre los linuxeros y es de los que mejor respuesta dan en los entornos de servidores. Es actualizable por la red y tiene portings desarrollados a múltiples plata-formas, incluido MS Windows. Se puede configurar con multitud de servicios para añadir filtrado a servicios como FTP, POP, HTTP, etc. Este producto se puede descargar de la web tanto en paquetes binarios como en paquete tar.gz de código abierto.

Me descargué la versión estable del soft-ware y descomprimí el fichero de forma que pudiera comenzar con la instalación:

[root@centos4 software]# wget http://

freshmeat.net/redir/clamav/29355/

url_tgz/clamav-0.88.7.tar.gz

Esto crea un directorio llamado clamav-0.88.7. Dentro del directorio tenemos subdirectorios de documentación y los fuentes, junto con los scripts de configuración e instalación. Es obligatorio leer la documentación para poder resolver dudas acerca de la instalación. Entre otras cosas, es preciso crear un usuario y un grupo de usuario para que se pueda ejecutar clamav fuera de los permisos de root. Por de-fecto, el usuario que espera utilizar la futura instalación de clamav es el propio clamav del grupo amavis. Para crear el grupo y el usua-rio, los comandos son sencillos:

[root@centos4 software]# groupadd

amavis

[root@centos4 software]# useradd -g

amavis clamav

NOTA: La explicación de por qué crear el grupo amavis la veremos más adelante cuan-do veamos la instalación de amavis-new.

La configuración e instalación se realiza con los parámetros estándares de cualquier compilación, excepto si encontráis algún pro-blema con la librería zlib. En tal caso el confi-gurador os indicará que si queréis continuar,

Tabla 1: Módulos Perl Necesarios

Digest::SHA1 REQUERIDO

Net::DNS OPCIONAL

Mail::SPF::Query OPCIONAL

IP::Country OPCIONAL

Net::Ident OPCIONAL

Time::HiRes OPCIONAL

DBI OPCIONAL

Archive::Tar OPCIONAL

IO::Zlib OPCIONAL

MIME::Base64 REQUERIDO

Getopt::Long REQUERIDO

File::Copy REQUERIDO

URI::Escape REQUERIDO

Mail::ClamAV REQUERIDO

Listado 1. Salida comando clamscan

[root@centos4 bin]# ./clamscan

--------- SCAN SUMMARY ---------

Known viruses: 80498

Engine version: 0.88.7

Scanned directories: 1

Scanned files: 5

Infected files: 0

Data scanned: 0.36 MB

Time: 1.690 sec (0 m 1 s)

[root@centos4 bin]#

Listado 2. Parámetros configuración amavisd.conf

$daemon_user = 'amavis'; # (no default; customary: vscan or amavis), -u

$daemon_group = 'amavis'; # (no default; customary: vscan or amavis), -g

$mydomain = 'example.com'; # indicamos nuestro dominio por defecto

$MYHOME = '/var/amavis'; # a convenient default for other settings, -H

$TEMPBASE = "$MYHOME/tmp"; # working directory, needs to exist, -T

$ENV{TMPDIR} = $TEMPBASE; # environment variable TMPDIR

$QUARANTINEDIR = '/var/virusmails'; # -Q

$db_home = "$MYHOME/db";

Listado 3. amavisd.conf: activación ClamAv

['Clam Antivirus-clamd',

\&ask_daemon, ["CONTSCAN {}\n",

'127.0.0.1:3310'],

qr/\bOK$/, qr/\bFOUND$/,

qr/^.*?: (?!Infected Archive)(.*)

FOUND$/ ],

Page 3: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

64

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

Linux+ 6/2007 65www.lpmagazine.org

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

incluyáis el parámetro –disable-zlib-

vcheck.

[root@centos4 clamav-0.88.7]# ./

configure –disable-zlib-vcheck

ClamAv se instalará por defecto en /usr/local. Una vez hecho esto podemos probar a ejecu-tar clamscan manualmente para comprobar que funciona correctamente (ver. Listado 1).

Y para actualizarlo, necesitamos editar los ficheros de configuración clamd.conf y fresh-clam.conf que se encuentran en el directorio /usr/local/etc. Después hay que crear el direc-torio donde se almacenará la base de datos de firmas de virus y que será utilizada tanto por clamav como por freshclam.

[root@centos4 etc]# mkdir /var/lib/

clamav

[root@centos4 etc]# chown clamav:

amavis /var/lib/clamav

Para descargar la base de datos actual solo tenemos que ejecutar el comando freshclam que se encuentra en /usr/local/bin/freshclam.

Y si queremos que se actualice automá-ticamente, debemos configurar el demonio cron para que ejecute el comando añadiendo la siguiente línea:

# Actualización ClamAV

17 * * * * /opt/clamav/bin/

freshclam --quiet

Con esto tenemos el motor antivirus confi-gurado, pero ahora tenemos que establecer un canal de comunicación entre el MTA de

Messaging Server y ClamAv, y para eso uti-lizaremos Amavis.

Instalación de AmavisAmavis (A Mail Virus Scanner) es una interfaz de comunicaciones entre un MTA y un motor de antivirus, anti spam. Funciona como un demonio que abre sockets INET (puerto TCP por defecto: 3310) o UNIX (fichero unix por defecto: /var/run/clamav/clamd.sock), a través de las cuales recibe las peticiones de conte-nidos a filtrar y devuelve las respuestas. Está desarrollado íntegramente en Perl lo que le hace portable a varias arquitecturas.

La parte buena de Amavis es que puede funcionar instalado tanto en la máquina que realiza la labor de MTA, como en una máqui-na independiente realizando la tarea de filtrar todo el contenido que se le proporcione, lo cual lo convierte en un scanner genérico com-patible con múltiples aplicaciones.

Las instrucciones para la instalación de Amavis son muy sencillas, y hay versiones

tanto para usuarios de Debian como para usuarios de RedHat/Fedora. Os recomiendo las siguientes páginas:

• Debian: http://www200.pair.com/mecham/spam/clamav-amavisd-new.html,

• RedHat: http://www200.pair.com/mecham/spam/clamav-redhat-amavis.html.

Descargamos el paquete de amavis de la web oficial:

[root@centos4 software]# wget

http://www.ijs.si/software/amavisd/

amavisd-new.tar.gz

Ahora vamos a crear el usuario amavis perte-neciente al grupo amavis que creamos ante-riormente durante la instalación de ClamAv:

[root@centos4 software]# useradd -g

amavis -d /var/amavis -m amavis

La explicación de por qué emparentar ambos usuarios es la siguiente: entre Amavis-new y ClamAv se va a establecer una comunica-ción que permitirá a amavis saber el estado de clamav y comunicarse con él. Por lo tanto para evitar problemas de permisos (buscar en Google amavis clamav Can't connect to UNIX socket), establecemos los permisos a nivel de grupo. Otra opción pasaría por configurar en la instalación de ClamAv que el usuario y grupo de ejecución fueran los mismos que utiliza Amavis-new.

Listado 4. Definición canal imta.cnf

! -- Parte Dos --

!

! tcp_local

tcp_local smtp mx single_sys remotehost inner switchchannel

identnonenumeric subdirs 20 maxjobs 7 pool SMTP_POOL maytlsserver

maysaslserver saslswitchchannel tcp_auth missingrecipientpolicy 0

sourcespamfilteroptin spam aliasdetourhost tcp_scan-daemon

tcp-daemon

Listado 5. Definición fichero SpamAssassin

HOST=127.0.0.1

PORT=783

DEBUG=1

MODE=0

VERDICT=spam

Listado 6. imta.cnf: configuración canales amavis

! -- Parte Dos --

! tcp_local

tcp_local smtp mx single_sys remotehost inner switchchannel

identnonenumeric subdirs 20 maxjobs 7 pool SMTP_POOL maytlsserver

maysaslserver saslswitchchannel tcp_auth missingrecipientpolicy 0

sourcespamfilteroptin spam aliasdetourhost tcp_scan-daemon

tcp-daemon

! tcp_intranet

tcp_intranet smtp mx single_sys subdirs 20 dequeue_removeroute maxjobs 7

pool SMTP_POOL maytlsserver allowswitchchannel saslswitchchannel tcp_auth

missingrecipientpolicy 4 sourcespamfilteroptin spam aliasdetourhost tcp_

scan-daemon

tcp_intranet-daemon

! tcp_scan # parte nueva para el escaneo de virus

tcp_scan smtp single_sys subdirs 5 notices 1 backoff "pt8h" "pt24h"

dequeue_remo

veroute maxjobs 7 pool SMTP_POOL daemon [127.0.0.1] port 10024

tcp_scan-daemon

Page 4: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

64

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

Linux+ 6/2007 65www.lpmagazine.org

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

A continuación creamos los directorios que amavis necesita para su funcionamiento:

[root@centos4 software]# mkdir /var/

amavis/tmp /var/amavis/var /var/

amavis/db /var/amavis/home /var/

quarantine

[root@centos4 software]# chown -R

amavis:amavis /var/amavis /var/

quarantine

[root@centos4 software]# chmod -R 750

/var/amavis /var/quarantine

Desempaquetamos el software en un direc-torio temporal, ya sea el propio directorio /software o más habitualmente /var/tmp y nos trasladamos a ese directorio. Copiamos el fi-chero amavisd al directorio /usr/local/sbin y lo protegemos de modificaciones de otros usu-arios asignándole los permisos de lectura y ejecución correspondientes:

[root@centos4 amavisd-new-2.4.5]# cp

amavisd /usr/local/sbin/

[root@centos4 amavisd-new-2.4.5]#

chown root /usr/local/sbin/amavisd

[root@centos4 amavisd-new-2.4.5]#

chmod 755 /usr/local/sbin/amavisd

Copiamos ahora el fichero amavisd.conf al directorio /etc y le cambiamos los permisos para que sólo root pueda editarlo, pero que amavis pueda leerlo.

[root@centos4 amavisd-new-2.4.5]# cp

amavisd.conf /etc/

[root@centos4 amavisd-new-2.4.5]#

chown root:amavis /etc/amavisd.conf

[root@centos4 amavisd-new-2.4.5]#

chmod 640 /etc/amavisd.conf

NOTA: el fichero amavisd.conf puede ser copiado en otro directorio, como por ejemplo /usr/local/etc, pero el proceso en el arranque buscará el fichero de configuración en /etc/. En caso de querer emplear otro trayecto pa-ra el fichero, el proceso de arranque deberá tener el parámetro -c con el trayecto absoluto

al fichero amavisd.conf. Editamos ahora el fi-chero amavisd.conf y ajustamos las variables de usuario y grupo para que el proceso pueda arrancar con los permisos correctos (Listado 2).

Para activar el uso de ClamAv, necesi-taremos descomentar y cambiar la siguien-te sección para establecer la comunicación por TCP, ya que Messaging Server no acep-ta sockets de unix:

Con esto podríamos arrancar ya nues-tro servidor antivirus / anti spam sin ma-yores problemas. En los primeros intentos, puede que encontremos algún tipo de pro-blemas que podremos depurar fácilmente si en el arranque del proceso le pasamos el parámetro 'debug':

[root@centos4

amavisd-new-2.4.5]# /usr/local/

sbin/amavisd debug

Configuración de Messaging ServerUna vez configurado ClamAv y Amavis como solución antivirus, seguimos con la configuración necesaria que permita a Java ES Messaging Server enviar todos los correos a SpamAssassin para que los eva-lúe como SPAM o no, y a Amavis para que los filtre y limpie de todos los virus posib-les.

Figura 2. Ventana Principal Lime SandmailFigura 1. Configuración AVAS y Messaging

Listado 7. Instalación Lime Server

[root@zfc4 LimeServer]# ./lime_install.sh

Welcome to Lime installation service

Where is license file license.lic?/software/

Installing LF

I have detected you have Internet conection. I can Install dependencies

from CD or from Internet

Which one would you like to choose?

Please answer C for CD or I for Internet

Installing necessary dependencies from Internet

Do you want to proceed?(Yes,No):Yes

[...]

Enter private directory:

/crypt

Enter mount point :

/cryptpub

An xml configuration file should be created at /etc/lime/cryptofs.conf.

Check it if is necessary

Creating kadmin user...

[...]

Logical Encryption installation finished correctly

Physical Encryption installation

Do you want to install it now?(Yes,No):N

Administration Tool installation

Do you want to install it now?(Yes,No):Y

[...]

Webmin install complete. You can now login to https://zfc4:10000/

as admin with your root password.

[...]

You have to reboot your machine to start using Lime

[root@zfc4 LimeServer]#

Page 5: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

66

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

Linux+ 6/2007 67www.lpmagazine.org

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

Se ha escogido esta configuración en lu-gar de que todo vaya por Amavis para opti-mizar el funcionamiento del sistema, ya que una vez pasa por Amavis, el proceso continúa independientemente de si es un spam o no, y eso repercute finalmente en el proceso de envío de correos.

Las configuraciones son varias y las for-mas de implementarlas también. En los foros de Sun Microsystems hay bastante informa-ción y usuarios dispuestos a ayudar.

Integrando Messaging Server con SpamAssassinEn las páginas de documentación de Sun Mes-saging Server 6 hay información de cómo configurar SpamAssassin con el producto de varias formas. Todas dependen de un módu-lo especialmente preparado por la gente de Sun que permite configurar SpamAssassin de forma sencilla. El módulo se llama libspa-mass.so.

La configuración implica la configuración de dos políticas:

• Qué mensajes se filtrarán,• Qué se hace con los mensajes marcados

como SPAM.

En mi caso, quería establecer una política única para todos los usuarios que solamente afectara a la entrada del correo electrónico, y que envia-

ra todos los mensajes marcados como SPAM a una cuenta de correo específica donde poder analizarlos con mis propias herramientas.

El fichero de configuración imta.cnf con-tiene las definiciones de los canales. Es un fichero bastante complicado ya que defi-ne los flujos de información que sigue un correo electrónico tanto a la llegada como a la salida según se puede ver en la Figura 1. En principio hay dos partes, una primera parte que establece las condiciones y flujo de un correo por los canales hasta su entrega en un servidor externo o en el buzón del usua-rio, y una segunda parte que contiene las definiciones y las particularidades de cada canal.

Para filtrar todos los mensajes que vienen de Internet hay que añadir la palabra clave sourcespamfilteroption al canal tcp_local, defini-do en la parte dos del fichero imta.cnf.

El siguiente paso es configurar los pará-metros de SpamAssassin para que Messaging Server pueda contactar y enviar los mensajes a evaluar. Este fichero no tiene un nombre específico, por lo que hay que bautizarlo. Por ejemplo: mi fichero de configuración Spam-Assassin contiene los siguientes parámetros (Listado 5).

Que indican la dirección (HOST) y puerto (PORT) por el que el demonio spamd está escu-chando, el modo activo de debug (DEBUG=1), y que una cadena de texto (configurable en VERDICT) será devuelta al sistema en caso de detectar que el mensaje es SPAM (MODE=0).

Después hay que enlazar SpamAssassin a través de los ficheros de configuración de Messaging Server. Para ello hay que modifi-car el fichero option.dat:

!

SPAMFILTER_CONFIG_FILE=/opt/SUNWmsgsr/

msg-config/SpamAssassin

SPAMFILTER_LIBRARY=/opt/SUNWmsgsr/

lib/libspamass.so

SPAMFILTER_NULL_ACTION=data:, redirect

"[email protected]";

Este fichero contiene en SPAMFILTER_CON-FIG_FILE el nombre y el trayecto del fichero de configuración que hemos definido previa-mente.

SPAMFILTER_LIBRARY contiene el trayec-to hasta el módulo que se integra con Spam-Assassin, y SPAMFILTER_NULL_ACTION que establece el filtro Sieve necesario para en-viar el correo a una dirección específica. Para saber más acerca del lenguaje Sieve, acceda al siguiente enlace.

Integrando Amavis con Messaging ServerUna vez hemos terminado de configurar SpamAssassin, podemos terminar nuestra configuración de Amavis, esta vez integran-do nuestro Messaging Server con el filtro antivirus.

Para ello se ha definido un canal por el que pasará todo el correo entrante y será exa-minado por clamav antes de ser entregado al buzón del usuario. Este comportamiento se define en el fichero imta.cnf, por lo que tenemos que hacer dos cosas:

• Definir el routing y las reglas de rees-critura de un canal para que todo pase por él. Esto se hace creando una condi-ción que obliga al canal tcp_scan anali-zar todo lo que le llegue desde otros ca-nales:

! -- Parte Uno -- ! tcp_scan

[] $E$R${tcp_

scan,$L}$U%[$L]@tcp_scan-daemon

Figura 4. Lime Firewall regla entrada

Figura 3. +AntiSPAM (Listas Grises)

Figura 5. Lime Firewall regla salida

Page 6: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

66

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

Linux+ 6/2007 67www.lpmagazine.org

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

• Configurar los canales desde los que se recibe correo para que envíen todo correo que vaya hacia el buzón del usuario al ca-nal de filtrado que se comunica con Amavis.

Por último, debemos guardar y compilar la nueva configuración del sistema para que to-do funcione.

Para ello utilizamos la utilidad imsimta:

[root@centos4 sbin]# imsimta cnbuild

Recompila la configuración y genera los fi-cheros binarios que emplea el MTA para rea-lizar el routing de correo.

[root@centos4 sbin]# imsimta restart

Reinicia el servidor SMTP para que los cam-bios que hemos realizado tengan lugar.

Con esto el flujo queda establecido de la siguiente forma (Figura 1).

Instalación con Lime Server +AntiSPAM ProtectionEste otro método implica configurar una máquina como router de correo electrónico, con las ventajas de que no hay que tocar la configuración de Messaging Server y de que además puede funcionar como firewall y sis-tema de prevención de intrusos. El producto contiene un sencillo instalador en línea de comandos que permite instalar además del AntiSPAM, el módulo de firewall y el de detección de intrusos, más funcionalidades relacionadas con la protección del sistema operativo sobre el que corre, como un con-figurador de SELinux en formato web y un módulo de protección del kernel que impide que los programas puedan ejecutar código en la pila de ejecución del kernel.

El instalador se llama lime_installer.sh y se instala como root en una máquina con sistema operativo Fedora Core 4. Me llevó un tiempo en darme cuenta de que el instalador

no funcionaba sobre Fedora Core 6, pero fue porque no me leí el manual.

Respecto a qué productos utiliza, emplea sendmail, iptables, snort y snort-sam empaque-tados en formato RPM, con lo que la insta-lación y actualización de los diferentes pro-gramas es directa. La instalación es sencilla, pero requiere de una licencia. Solicité una mediante el programa de betatesting y me enviaron por correo electrónico una de prue-bas.

Después de reiniciar, se accede a la conso-la a través de un navegador en la URL: https://máquina:10000/.

El usuario admin es el equivalente a root y puede administrar todos los módulos de protección desde la consola, estilo Web-min.

Al acceder a la configuración de AntiS-pam, pone Configuración de Sendmail. Hay que configurarlo como router de correo para que reciba todo el que llegue de la red y lo envíe al servidor de Sun.

No vi opciones de Antivirus en la versión que tengo, seguramente porque la licencia no tenía esa capacidad, ni tampoco vi ninguna referencia a SpamAssassin. Leyendo de la página web veo que utiliza una combinación de listas Negras, Blancas y Grises.

Las Grey Listings es un sistema que per-mite filtrar el correo electrónico en función de que sea enviado desde un servidor de correo legítimo o una máquina víctima de un proce-so que envía spam.

La idea básica consiste en rechazar todo correo entrante en primer lugar con un có-digo 400 que indica que el servidor está ocu-pado y que lo vuelva a enviar pasados unos

Figura 6. +Antispam: Enrutamiento

P U B L I C I D A D

Page 7: Open Source Antivirus y antispam - index-of.co.ukindex-of.co.uk/Magazines/Antivirus y antispam Open Source.pdf · configuración del servidor de correo electrónico, que no es una

68

seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

Linux+ 6/2007

instantes. Aparte, se añade la dirección de origen en una lista de forma que si el correo vuelve a llegar según las políticas de reintento de los servidores MTA, se valida al servidor y el correo pasa. Si el correo no llega es porque el origen de la conexión no tiene capacidad de respuesta, lo cual es habitual en los sistemas que envían SPAM.

La ventana de configuración de Listas Gri-ses es bastante sencilla con las opciones bá-sicas de Habilitar listas grises y la posibilidad de cambiar el tiempo que se retiene en memo-ria las entradas de las listas. Respecto al fire-wall funciona sólo como firewall de host, por lo que realmente actúa como proxy de SMTP,

permitiendo configurar una regla de entraday salida de correo electrónico a través de la configuración gráfica.

Para configurar el reenvío del correo se utiliza un formulario que encapsula el fiche-ro /etc/mail/mailertable, de forma bastante có-moda se puede indicar qué dominios o má-quinas vamos a dejar pasar a través de la pa-sarela hacia el interior. Pero también hay que configurar en otra ventana la funcionalidad que permita enviar el correo hacia fuera para dominios internos.

Con estas tres ventanas se configura un dominio para que la entrada y la salida pue-dan atravesar el servidor anti spam.

ConclusiónAquí tenemos dos formas de controlar el SPAM desde el servidor de correo. Ambas so-luciones son viables para resolver el prob-lema, pero en el primer caso se invirtió mu-cho tiempo en la configuración del entorno, así como en el mantenimiento de las versio-nes, mientras que en el segundo caso la con-figuración fue más rápida, y más cómoda, ya que la mayoría de la documentación se encuentra en castellano y disponible en los formularios.

Otra de las ventajas de la segunda con-figuración es que se puede escalar horizon-talmente de forma más sencilla instalando otro servidor y copiando los ficheros de instalación una vez instalado el producto. De la primera forma, la instalación de la se-gunda máquina significaría repetir el mis-mo proceso de compilar, instalar, configu-rar y mantener todos los paquetes por se-parado.

Aparte de estas funcionalidades, Lime Server tiene otras utilidades como son el Cifrado Lógico (a nivel de ficheros) y el Ci-frado Físico (a nivel de discos duros) que se pueden instalar también desde el progra-ma de instalación y configurar desde el en-torno web.

Figura 7. Dominios de retransmisión

• Integrating Anti-spam and Anti-virus programs, Using SpamAssassin

http://docs.sun.com/source/817-6266/anti-spam.html#wp45386,

• Solaris Central – Sieve Language for Mail Filtering – Quick Guide

http://www.solariscentral.org/article.php/20061109114354313,

• Sendmail http://www.sendmail.org/,• +E-Mail Protection de Zitralia Lime

Server http://www.zitralia.com/es/content/

view/27/43/,• Black Listings http://stason.org/articles/technology/

email/junk-mail/black_listing.html,• White Listings http://stason.org/articles/

technology/email/junk-mail/white_listing.html,

• Grey Listings http://stason.org/articles/

technology/email/junk-mail/grey_listing.html.

En la red

Figura 8. Dominios de salida