antivirus y antispam open source

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: cennio-di-gerardo-castro

Post on 19-Oct-2015

50 views

Category:

Documents


5 download

TRANSCRIPT

  • 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 quera hacer era

    bastante simple: un servidor de correo electr-

    nico para un nico dominio que integrase una

    solucin antivirus y anti spam (AVAS a partir

    de ahora) barata y fcil de mantener.

    Al principio la idea era configurar un nico servidor

    de correo que ya tena virtualizado en un servidor VMware

    Server y configurar SpamAssassin y ClamAv. Esta solucin

    es ms compleja, ya que hay que tocar ms los ficheros de

    configuracin del servidor de correo electrnico, que no es

    una tarea fcil. Aparte, el mantenimiento de un conjunto

    de paquetes es ms complicado debido a que son varios

    paquetes y cada uno cuenta con su propio ciclo de vida.

    La otra opcin era montar un servidor intermediario

    que recibiera todo el correo, y una vez lo hubiese proce-

    sado lo enviara hacia el servidor de mensajera. Pero esto

    implica configurar otro sistema de correo electrnico con

    SpamAssassin y ClamAv y por lo tanto representaba ms

    trabajo y ms direcciones IP para los servidores.

    No hace mucho tiempo contact con la empresa Zitra-

    lia y me hablaron de una solucin de servidores seguros

    que inclua cortafuegos, deteccin de intrusos y anti spam

    unificado en una consola grfica. Me pareci buena idea

    y es la otra configuracin que he probado. As que al final

    se vuelve a tener una mquina frontal, pero ms intuitiva

    y fcil de usar.

    En este artculo describo la configuracin de ambos

    sistemas y analizaremos sus ventajas y desventajas.

    Preparando la instalacinPara la instalacin de SpamAssassin, ClamAv y Amavis es

    necesario disponer de una versin 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 lnea:

    Jorge Moratilla realiza en la actualidad labores de con-sultora y preventa en Zitralia Seguridad Informtica. Proviene del mundo Sun Microsystems como experto en tecnologa de mensajera electrnica y tiene los cer-tificados de seguridad CCSA y CCSE.

    Sobre el autor

    Este artculo resume las experiencias personales que tuve a la hora de configurar un servidor de correo electrnico, basado en la solucin 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 cdigo abierto: una combinacin de SpamAssassin y ClamAv, y un producto de seguridad denominado Zitralia Lime Server.

  • 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 versin apro-

    piada de perl, y siempre que tengamos co-

    nexin a la red, es posible instalar el paquete

    con la utilidad de gestin yum:

    [root@centos4 ~]# yum update perl

    Tambin 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 versin que

    no nos vaya a dar problemas en el futuro con

    mdulos del kernel podemos comprobar con

    qu versin de gcc se cre nuestro kernel.

    Para ello ejecutamos el comando cat /proc/

    version:

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

    make

    Para la instalacin de ClamAv necesitare-

    mos tambin los paquetes zlib y zlib-devel de

    compresin, as que los descargamos tam-

    bin.

    [root@centos4 ~]# yum install zlib

    zlib-devel

    Una vez hecho esto, podemos empezar con

    la instalacin de SpamAssassin. Este paquete

    de software tiene muchas dependencias, pero

    afortunadamente, contamos con la ayuda de

    perl y su instalador de mdulos 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

    aaden caractersticas a la instalacin final.

    Es recomendable instalar todas. Por lo que

    hay que resolver las dependencias instalan-

    do a travs de perl y CPAN los siguientes

    mdulos:

    Despus de incluir todos los mdulos po-

    demos instalar algn filtro como Razor que

    nos permita aadir listas de filtrado de spam

    de forma automtica.

    Una vez instaladas todas las dependen-

    cias, podemos proseguir la instalacin de

    SpamAssassin a travs 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-

    figuracin y de ejecutables que se alojan en

    los directorios bin y share por defecto del

    directorio /usr/local/.

    Instalacin de ClamAvClamAv es un antivirus de cdigo 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 mltiples plata-

    formas, incluido MS Windows. Se puede

    configurar con multitud de servicios para

    aadir 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 cdigo abierto.

    Me descargu la versin estable del soft-

    ware y descomprim el fichero de forma que

    pudiera comenzar con la instalacin:

    [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 documentacin y los fuentes, junto con

    los scripts de configuracin e instalacin. Es

    obligatorio leer la documentacin para poder

    resolver dudas acerca de la instalacin. 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

    instalacin 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 explicacin de por qu crear el

    grupo amavis la veremos ms adelante cuan-

    do veamos la instalacin de amavis-new.

    La configuracin e instalacin se realiza

    con los parmetros estndares de cualquier

    compilacin, excepto si encontris algn pro-

    blema con la librera zlib. En tal caso el confi-

    gurador os indicar que si queris continuar,

    Tabla 1: Mdulos 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. Parmetros configuracin 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: activacin ClamAv

    ['Clam Antivirus-clamd',

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

    '127.0.0.1:3310'],

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

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

    FOUND$/ ],

  • 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

    incluyis el parmetro 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 configuracin clamd.conf y fresh-

    clam.conf que se encuentran en el directorio

    /usr/local/etc. Despus 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 aadiendo

    la siguiente lnea:

    # Actualizacin ClamAV

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

    freshclam --quiet

    Con esto tenemos el motor antivirus confi-

    gurado, pero ahora tenemos que establecer

    un canal de comunicacin entre el MTA de

    Messaging Server y ClamAv, y para eso uti-

    lizaremos Amavis.

    Instalacin 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 travs

    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 mquina que

    realiza la labor de MTA, como en una mqui-

    na independiente realizando la tarea de filtrar

    todo el contenido que se le proporcione, lo

    cual lo convierte en un scanner genrico com-

    patible con mltiples aplicaciones.

    Las instrucciones para la instalacin de

    Amavis son muy sencillas, y hay versiones

    tanto para usuarios de Debian como para

    usuarios de RedHat/Fedora. Os recomiendo

    las siguientes pginas:

    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 instalacin de ClamAv:

    [root@centos4 software]# useradd -g

    amavis -d /var/amavis -m amavis

    La explicacin de por qu emparentar ambos

    usuarios es la siguiente: entre Amavis-new

    y ClamAv se va a establecer una comunica-

    cin 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 opcin pasara por configurar

    en la instalacin de ClamAv que el usuario

    y grupo de ejecucin fueran los mismos que

    utiliza Amavis-new.

    Listado 4. Definicin 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. Definicin fichero SpamAssassin

    HOST=127.0.0.1

    PORT=783

    DEBUG=1

    MODE=0

    VERDICT=spam

    Listado 6. imta.cnf: configuracin 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

  • 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 continuacin 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 ms 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 asignndole los permisos de lectura

    y ejecucin 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 slo 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 configuracin en /etc/.

    En caso de querer emplear otro trayecto pa-

    ra el fichero, el proceso de arranque deber

    tener el parmetro -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 seccin para establecer la comunicacin

    por TCP, ya que Messaging Server no acep-

    ta sockets de unix:

    Con esto podramos arrancar ya nues-

    tro servidor antivirus / anti spam sin ma-

    yores problemas. En los primeros intentos,

    puede que encontremos algn tipo de pro-

    blemas que podremos depurar fcilmente

    si en el arranque del proceso le pasamos el

    parmetro 'debug':

    [root@centos4

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

    sbin/amavisd debug

    Configuracin de Messaging ServerUna vez configurado ClamAv y Amavis

    como solucin antivirus, seguimos con

    la configuracin necesaria que permita

    a Java ES Messaging Server enviar todos los

    correos a SpamAssassin para que los eva-

    le 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. Configuracin AVAS y Messaging

    Listado 7. Instalacin 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]#

  • 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 configuracin 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 contina

    independientemente de si es un spam o no,

    y eso repercute finalmente en el proceso de

    envo de correos.

    Las configuraciones son varias y las for-

    mas de implementarlas tambin. En los foros

    de Sun Microsystems hay bastante informa-

    cin y usuarios dispuestos a ayudar.

    Integrando Messaging Server con SpamAssassinEn las pginas de documentacin de Sun Mes-

    saging Server 6 hay informacin de cmo

    configurar SpamAssassin con el producto de

    varias formas. Todas dependen de un mdu-

    lo especialmente preparado por la gente de

    Sun que permite configurar SpamAssassin

    de forma sencilla. El mdulo se llama libspa-

    mass.so.

    La configuracin implica la configuracin

    de dos polticas:

    Qu mensajes se filtrarn,

    Qu se hace con los mensajes marcados

    como SPAM.

    En mi caso, quera establecer una poltica nica

    para todos los usuarios que solamente afectara

    a la entrada del correo electrnico, y que envia-

    ra todos los mensajes marcados como SPAM

    a una cuenta de correo especfica donde poder

    analizarlos con mis propias herramientas.

    El fichero de configuracin imta.cnf con-

    tiene las definiciones de los canales. Es un

    fichero bastante complicado ya que defi-

    ne los flujos de informacin que sigue un

    correo electrnico tanto a la llegada como

    a la salida segn 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 buzn 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 aadir 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

    especfico, por lo que hay que bautizarlo. Por

    ejemplo: mi fichero de configuracin Spam-

    Assassin contiene los siguientes parmetros

    (Listado 5).

    Que indican la direccin (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).

    Despus hay que enlazar SpamAssassin

    a travs de los ficheros de configuracin 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 configuracin que hemos definido previa-

    mente.

    SPAMFILTER_LIBRARY contiene el trayec-

    to hasta el mdulo que se integra con Spam-

    Assassin, y SPAMFILTER_NULL_ACTION que

    establece el filtro Sieve necesario para en-

    viar el correo a una direccin especfica. Para

    saber ms acerca del lenguaje Sieve, acceda

    al siguiente enlace.

    Integrando Amavis con Messaging ServerUna vez hemos terminado de configurar

    SpamAssassin, podemos terminar nuestra

    configuracin 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 buzn 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-

    cin 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

  • 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 enven todo correo

    que vaya hacia el buzn del usuario al ca-

    nal de filtrado que se comunica con Amavis.

    Por ltimo, debemos guardar y compilar la

    nueva configuracin del sistema para que to-

    do funcione.

    Para ello utilizamos la utilidad imsimta:

    [root@centos4 sbin]# imsimta cnbuild

    Recompila la configuracin 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).

    Instalacin con Lime Server +AntiSPAM ProtectionEste otro mtodo implica configurar una

    mquina como router de correo electrnico,

    con las ventajas de que no hay que tocar la

    configuracin de Messaging Server y de que

    adems puede funcionar como firewall y sis-

    tema de prevencin de intrusos. El producto

    contiene un sencillo instalador en lnea de

    comandos que permite instalar adems del

    AntiSPAM, el mdulo de firewall y el de

    deteccin de intrusos, ms funcionalidades

    relacionadas con la proteccin del sistema

    operativo sobre el que corre, como un con-

    figurador de SELinux en formato web y un

    mdulo de proteccin del kernel que impide

    que los programas puedan ejecutar cdigo

    en la pila de ejecucin del kernel.

    El instalador se llama lime_installer.sh

    y se instala como root en una mquina 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-

    lacin y actualizacin de los diferentes pro-

    gramas es directa. La instalacin es sencilla,

    pero requiere de una licencia. Solicit una

    mediante el programa de betatesting y me

    enviaron por correo electrnico una de prue-

    bas.

    Despus de reiniciar, se accede a la conso-

    la a travs de un navegador en la URL: https://

    mquina:10000/.

    El usuario admin es el equivalente

    a root y puede administrar todos los mdulos

    de proteccin desde la consola, estilo Web-

    min.

    Al acceder a la configuracin de AntiS-

    pam, pone Configuracin de Sendmail. Hay que

    configurarlo como router de correo para que

    reciba todo el que llegue de la red y lo enve

    al servidor de Sun.

    No vi opciones de Antivirus en la versin

    que tengo, seguramente porque la licencia no

    tena esa capacidad, ni tampoco vi ninguna

    referencia a SpamAssassin. Leyendo de la

    pgina web veo que utiliza una combinacin

    de listas Negras, Blancas y Grises.

    Las Grey Listings es un sistema que per-

    mite filtrar el correo electrnico en funcin de

    que sea enviado desde un servidor de correo

    legtimo o una mquina vctima de un proce-

    so que enva spam.

    La idea bsica 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

  • 68

    seguridadAntivirus y antispam Open Source para Sun JavaES Messaging Server

    Linux+ 6/2007

    instantes. Aparte, se aade la direccin de

    origen en una lista de forma que si el correo

    vuelve a llegar segn las polticas 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 conexin no tiene capacidad de

    respuesta, lo cual es habitual en los sistemas

    que envan SPAM.

    La ventana de configuracin 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 slo como firewall de host, por

    lo que realmente acta como proxy de SMTP,

    permitiendo configurar una regla de entrada

    y salida de correo electrnico a travs de la

    configuracin grfica.

    Para configurar el reenvo 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 travs de la pa-

    sarela hacia el interior. Pero tambin 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.

    ConclusinAqu 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 configuracin del entorno,

    as como en el mantenimiento de las versio-

    nes, mientras que en el segundo caso la con-

    figuracin fue ms rpida, y ms cmoda,

    ya que la mayora de la documentacin se

    encuentra en castellano y disponible en los

    formularios.

    Otra de las ventajas de la segunda con-

    figuracin es que se puede escalar horizon-

    talmente de forma ms sencilla instalando

    otro servidor y copiando los ficheros de

    instalacin una vez instalado el producto.

    De la primera forma, la instalacin de la se-

    gunda mquina significara 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 Lgico (a nivel de ficheros) y el Ci-

    frado Fsico (a nivel de discos duros) que

    se pueden instalar tambin desde el progra-

    ma de instalacin y configurar desde el en-

    torno web.

    Figura 7. Dominios de retransmisin

    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