jueves, 23 de septiembre de 2010

Filtro de Virus con ClamSMTP

Filtro de Virus con ClamSMTP

ClamSMTP es un filtro SMTP que permite escanear los correos en busca de virus empleando el software antivirus ClamAV. Acepta conexiones SMTP y reenvía los comandos SMTP y sus respuestas a otro servidor SMTP. Los datos -campo DATA- del correo electrónico se interceptan y escanean antes de proceder a su reenvio.
También se puede emplear como proxy transparente para filtrar todo el tráfico SMTP en el router.

Instalación de ClamSMTP y ClamAV

Necesitamos instalar el demonio ClamAV para que trabaje conjuntamente con ClamSMTP. Lo instalamos con los siguientes paquetes:
apt-get install clamav-daemon clamav clamsmtp
También podemos instalar algunas aplicaciones para comprimir/descomprimir con el objeto de poder
examinar ficheros comprimidos:
sudo apt-get install arj bzip2 cabextract cpio file gzip lha nomarch pax rar unrar unzip unzoo zip zoo

Configuración de Postfix para que use ClamSMTP

Postfix soporta el filtrado de correo a traves de un filtro que actúe como servidor SMTP. Debemos añadir las siguientes líneas al fichero /etc/postfix/main.cf para ello:
content_filter = scan:127.0.0.1:10026
receive_override_options = no_address_mappings
La línea content_filter le dice a Postfix que envíe todos los correos a través del servicio llamado “scan” que escucha en el puerto 10026.
A continuación añadimos las siguientes líneas al fichero /etc/postfix/master.cf:
# AV scan filter (used by content_filter)
scan unix - - n - 16 smtp
-o smtp_send_xforward_command=yes
# For injecting mail back into postfix from the filter
127.0.0.1:10025 inet n - n - 16 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
Debemos asegurarnos de que no hay espacios tras los símbolos de igual o las comas.
Las dos primeras líneas crean el servicio scan. El resto configura un servicio que acepta el correo de vuelta en Postfix.
Debemos asegurarnos de ejecutarlo con el mismo usuario con el que ejecutamos clamd, o tendrán problemas para acceder a los ficheros temporales del otro. Se puede usar el siguiente comando para asegurarnos de no tener problemas:
sudo adduser clamsmtp clamav
Tras esto reiniciamos Postfix, ClamSMTP y ClamAV para aplicar los cambios:
sudo /etc/init.d/postfix restart
sudo /etc/init.d/clamsmtp restart
sudo /etc/init.d/clamav-daemon restart

Comprobando ClamSMTP

Necesitamos testear el correo, la mejor manera es bajar el virus para test eicar , adjuntarlo a un e-mail y enviarlo. En primer lugar bajamos eicar:
wget http://eicar.org/download/eicar_com.zip
y lo envío desde uned@mczones.es a c3@mczones.es por ejemplo; tras esto chequeo el fichero /etc/log/mail.log dónde debería ver que ha sido eliminado:
cat /etc/log/mail.log
image
* vemos el mensaje 250 Virus Detected; Discarde Email y en la siguiente línea que ha detectado el virus Eicar.
Para asegurarnos e informar de que los correos han sido analizados en busca de virus podemos añadir un encabezado a nuestros correos, para ello editamos el fichero /etc/clamsmtpd.conf y descomentamos/añadimos la siguiente línea:
Header: X-AV-Checked: ClamAV using ClamSMTP .
Si vamos a la carpeta de ese usuario y le echamos un vistazo a los correos recibidos veremos que han pasado el análisis y observar la cabecera
image

 

para continuar viendo el resto de manuales Linux siga el enlace:administración de servidores con Linux

 

Bibliografía:

Manual de instalación y configuración del servidor de correo postfix bajo Ubuntu. Alex Zuluaga, Natalia Valencia, Fernanda Orozco, Roger Olarte,...

No hay comentarios: