En esta ocasión vamos a implementar un sistema de detección y bloqueo de virus para Sendmail, utilizando para esto el mejor antivirus del software libre "clamAv."
La instalación se puede dividir en cuatro etapas:
Vamos a instalarlo desde las fuentes, por lo tanto debemos descargar dichas fuentes desde la pagina de Clam Antivirus en la sección de stable versions(versiones estables).
En la fecha de última actualización de esta guía [2k31002] la versión estable más reciente es: clamav-0.60.tar.gz, del 29 de julio del 20003. Asi que usaremos ésta.
Como con todo lo que bajemos de internet, es una práctica saludable el verificar la integridad de lo que estamos descargando; en el mismo directório del cual descargamos las fuentes esta el archivo de firma clamav-0.60.tar.gz.sig, el cual también debemos de descargar y descomprimir.
Si es la primera vez que instalamos Clam entonces debemos crear un usuario y un grupo para él:
Para probarlo ejecutemos una busqueda de virus a traves del directorio de las fuentes:
clamscan -r -l scan.txt /usr/src/clamav-0.60/
Y el archivo resultante scan.txt debe contener algo así como:
--------------------------------------
Scan started: Thu Oct 2 18:42:28 2003
/usr/src/clamav-0.60//test/test1: ClamAV-Test-Signature FOUND
/usr/src/clamav-0.60//test/test1.bz2: ClamAV-Test-Signature FOUND
/usr/src/clamav-0.60//test/test2.zip: ClamAV-Test-Signature FOUND
/usr/src/clamav-0.60//test/test3.rar: ClamAV-Test-Signature FOUND
/usr/src/clamav-0.60//test/test2.badext: ClamAV-Test-Signature FOUND
-- summary --
Known viruses: 7846
Scanned directories: 38
Scanned files: 377
Infected files: 5
Data scanned: 6.19 Mb
I/O buffer size: 131072 bytes
Time: 9.945 sec (0 m 9 s)
Si vamos a usar clam em modo demonio devemos editar /etc/clamav.conf, mas informacion:
man 5 clamav.conf
Mecesitaremos que corra como demonio si vamos a usar clamav-milter.
Ahora que clam esta funcionando correctamente, procedemos a instalar el software
necesario para que sendmail envie los correos a clamscan para su revisión.
Tenemos varias opciones:
Si vamos a usar uno de los milter a continuación descritos, debemos tener los archivos de desarrollo libmilter.
Estos archivos de desarrollo
vienen con sendmail, pero sendmail debe estar compilado con soporte para milter.
El soporte oficial para el API milter es a partir de la versión 8.12 de sendmail, asi que vale la pena tener esto en cuenta.
En caso de que sendmail lo construyamos nosotros mismos debemos crear un archivo site.config.m4
que contenga :
APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
Y dicho archivo debe ir en: ~/sendmail-x.xx.x/devtools/Site
Los archivos de desarrollo tambien pueden existir como paquetes en rpm o dev, para
encontrar paquetes rpm podemos dar un vistazo en:
http://rpmfind.net buscando sendmail-devel.
Si usamos Debian tan facil como:
apt-cache search libmilter
Y sabremos que instalar.
Clamav-milter: Si tenemos las librerias libmilter instaladas la compilación sera exitosa, si no pués
obviamente fallará. AMaViS - "Next Generation":
Recomendados pero no indispensables:
Al parecer es una buena opción sobre todo teniendo en cuenta la integración con clamAv,
para usarlo necesitamos reconfigurar ClamAv con:
./configure --enable-milter
Ok, vamos al directorio de las fuentes de ClamAv.
cd ~/lamav-x.yz/
Y ejecutamos:
./configure --enable-milter --sysconfdir=/etc
make
make install
El programa quedará instalado en /usr/local/sbin/clamav-milter.
Ya esta listo el milter, ahora vayamos a configurar sendmail para clamav-milter.
Lo podemos descargar desde :
http://sourceforge.net/projects/amavis
Los descomprimimos: tar zxpvf amavis-ng_0.1.6.4.orig.tar.gz
Si queremos documentación de amavis-ng, tenemos que entar al subdirectorio doc/ y ejecutar:
make amavis-ng.info
O si tenemos instalado texi2html:
texi2html amavis-ng.texi
Que nos pruducira la documentación en html :)
Requisitos para amavis-ng:
Modulos Perl:
Si se tiene instalado el modulo CPAN la cosa es tan facil como:
perl -MCPAN -e shell
E irle indicando uno a uno:
install File::MMagic
etc...
Modulos perl:
Programas compresión/descompresión:
Para verificar si los tenemos ya instalados:
-rpm -q paquete o -dpkg -s paquete, yast, linuxconf, etc.
Para instalar:
-rpm -i paquete o -dpkg -i paquete, yast, linuxconf, etc.
AMaViS - New:
Aún no lo he utilizado, asi que se deja como ejercició al que lo quiera usar :)
Para probar el sistema solo hay que enviar algunos de los archivos con firmas de viruas que vienen en las fuentes del clam, para checar si el sistema esta detectando los virus en los correos.
VolverPara los que habian instalado clamav + amavisPerl + sendmail, esta secciòn les ayuda a deshacer los cambios de dicha instalacion, para poder instalar la nueva versión de Clam, con los milters.
Entrar al directorio donde esta nuestro código fuente y nuesto Makefile
y simplemente hacer:
make uninstall
Con lo anterior tendriamos desinstalado la versión antigua de clam.
Entrar al directorio donde esta nuestro código fuente y nuesto Makefile
y simplemente hacer:
make uninstall
Con lo anterior tendriamos desinstalado amavis perl-11.
Como recordaran aquellos que usaron amavis perl, se requeria hacer algunos cambios
a la configuración de Sendmail para habilitar amavis, es momento de deshacerlos.