Sendmail + Amavis + ClamAv - Como



1.- Sendmail ya funcionando.


2.- Obtener ClamAv de:


http://clamav.elektrapro.com/


http://www.konarski.edu.pl/~zolw/


o de

http://freshmeat.net


3.- Obtener Amavis perl 11>> de:


www.amavis.org




4.- Verificar si tenemos el siguiente software y en su caso instalarlo:

o perl (obviously)

o virus scanner software (obviously)

o file

A file command which understands the -b option is required, e.g. the

one from ftp://ftp.astron.com/pub/file/

o arc

o bunzip2 (part of the bzip2 package)

o lha (version 1.14g or later!)

o unarj

o uncompress (standard on Unix and Unix-like systems)

o unrar

o zoo


Para verificar:

-rpm -q paquete o -dpkg -s paquete o debconf, yast, linuxconf, etc.



Para instalar:

-rpm -i paquete o -dpkg -i paquete o debconf, yast, linuxconf, etc.


Para encontrarlos (si no los tiene tu distro) ver referencias en:


www.amavis.org


o usar

www.google.com/linux ;-)


*No es necesario pero si deseable instalar todos los compresores.


4.- Modulos de Perl para amavis-perl :-P.


IO-stringy

Syslog

MailTools

MIME-Base64

MIME-tools version 5.313 or better (!!)

Convert-UUlib

Convert-TNEF 0.06 or better (!!)

Compress-Zlib

Archive-Tar

Archive-Zip

libnet



Se pueden obtener todos de www.cpan.org


Si se tiene instalado el modulo CPAN la cosa es tan facil como:


perl -MCPAN -e shell


E irle indicando uno a uno:


install Unix::Syslog

install Convert::UUlib

install Convert::TNEF

install Compress::Zlib

install Archive::Tar

install Archive::Zip

install G/GB/GBARR/MailTools-1.15.tar.gz

install MIME::Tools

install Bundle::libnet


Ok Con esto tenemos lo necesario para comenzar.



5.- Instalar el Scanner de virus (el programa encargado de buscar y encontrar virus en archivos).

Usaremos el ClamAv por sus caracteristicas (GPL, C)

Las siguientes instrucciones fueron tomadas y tradcidas del manual incluido con el ClamAv.


Suponemos que tienes acceso root.


“Si estas instalando por primera vez, tienes que agregar a tu sistema un nuevo grupo y un nuevo usuario(clamav):


# groupadd clamav

# useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav


Por favor no le pongas contraseña a esta cuenta. Debe ser un usuario normal sin privilegios. No lo agreges a ningun grupo especial.


Despues de esto extrae los archivos, configura y compila:


$ tar zxpvf clamav-x.yz.tar.gz


$ cd clamav-x.yz $ ./configure; make


$ su -c "make install"


¡Eso es todo !


Prueba:

Ok. Hagamos algunas pruebas.

Intenta scanear recursivamente el directorio de las fuentes de clamAv:

$ clamscan -r -l scan.txt clam-x.yz


Deberiamos encontrar un virus en el archivo clam.x.yz/eicar.com.

Puedes checarlo en el archivo creado: scan.txt


Auto-Actualizacion con FreshClam:

*****pendiente******



Soporte para AmaViS-perl:


Lo primero que necesitas es amavis-perl-11.tar.gz, lo puedes obtener de http://amavis.org, luego:


$ tar zxpvf amavis-perl-11.tar.gz

$ cp clam-x.yz/support/amavis/clamavis.patch amavis-perl-11

$ cd amavis-perl-11

$ patch -p1 < clamavis.patch

$ find . -exec touch 01010000 {} \;


Ahora por favor efectua una instalación normal de Amavis.

Consejo: Amavis usara clamscan con las opciones tipicas, lo cual esta bien para la mayoria de los sistemas. Si quieres agregar otras opciones (ej. descompresion, limites) por favor edita el archivo /usr/sbin/amavis despues de la instalación).”


Por favor lee el manual del clam.


El autor de clamAv y del manual del cual traduje lo anterior es:

Tomasz Kojm <zolw@konarski.edu.pl>


6.- Instalación de Amavis-perl-11:

Suponemos que sendmail ya esta instalado y que existe /etc/sendmail.cf

(o /etc/mail/sendmail.cf)


Yo opte por la configuraciónmanual, pero existe también la via de m4.


Los pasos (sacados de los README de amavis-perl-11), son los siguientes:


1) Copia el archivo /etc/sendmail.cf a /etc/sendmail.orig.cf


2) Cambiar a mano sendmail.cf:


a) Abre /etc/sendmail.cf en tu editor favorito


b) Cambia el directorio de la cola (queue) a:

QueueDirectory=/var/spool/mqamavis


c) Cambia el archivo de estado (status) a:

StatusFile=/var/log/amavis.st


d) Cambia el conjunto de reglas 0 (rule set 0) a:


R$* $: $>Parse0 $1 initial parsing

R<@> $#local $: <@> special case error msgs

R$* $: $>98 $1 handle local hacks

R$* $#amavis $:$1

#R$* $: $>Parse1 $1 final parsing


Ten cuidado con los tabuladores. Aquí esta el codigo de nuevo, en lugar de [tab] prseiona la tecla tab :-)



R$*[tab][tab]$: $>Parse0 $1[tab][tab]initial parsing

R<@>[tab][tab]$#local $: <@>[tab][tab]special case error msgs

R$*[tab][tab]$: $>98 $1[tab][tab]handle local hacks

R$*[tab][tab]$#amavis $:$1

#R$*[tab][tab]$: $>Parse1 $1[tab][tab]final parsing


Agrega la nueva definicion de mailer:


Mamavis, P=/usr/sbin/amavis, F=mlsACDFMS5:/|@qhP, S=0, R=0

T=DNS/RFC822/X-Unix,

A=amavis $f $u


3)Ejecuta:

./configure --enable-relay --enable-sendmail,

make

make check

make install


*Nota: Puedes agregar mas opciones al ./configure. Lee el INSTALL de amavis.


4) Crea el directorio /var/spool/mqamavis con los mismos permisos que

/var/spool/mqueue pero el propietario y el grupo deben se amavis.

*Nota: Yo los deje con root : root y funciona.


5) Reinicia sendmail:

killall -HUP sendmail


o si usas SuSE Linux:

rcsendmail restart


Listo, sendmail ya tiene soporte de amavis y clamscan para detectar correos infectados.


Solo resta que hagas pruebas enviando y recibiendo correos con archivos adjuntos infectados.


Como prueba puedes usar el archivo /home/clamav-0.14/test/eicar.com que NO es un virus, y sirve para probar tu sistema antivirus.


Si todo funciona el postmaster y el usuario que envio el archivo con virus reciben un correo notificandoles VIRUS IN YOUR MAIL (VIRUS EN TU CORREO).

Con lo cual la alarma esta funcionando.


Erick Ivaán López Carreón

www.fsl.org.mx