Actualizamos las fuentes:
aptitude updateInstalamos ClamAV. Necesitamos instalar tanto la posibilidad de ejecución explícita, a través de la librería compartida, como la versión demonio, con comunicacióbn TCP/IP. Para instalarlo:
aptitude install clamav clamav-daemon libclamav-dev unrar-free arj gzip unzipEn las últimas versiones de ClamAV, la configuración por defecto está establecida muy de acorde con nuestras necesidades. De todos modos vamos a realizar unos cambios en el fichero de configuración del demonio clamd, que está en /etc/clamav/clamd.conf. Vamos a subir el tamaño máximo de los ficheros adjuntos a analizar a 15MB. Además le vamos a indicar que use el puerto 3310, pero sólo para las conexiones de la misma máquina. El fichero deberá tener las siguientes líneas (además de otras):
LogFileMaxSize 3MAVISO: Aunque en las últimas versiones no aparece, si lo hiciera, debemos comentar el uso de sockets unix. Sólo podemos utilizar un tipo de sockets, y vamos a utilizar los TCP/IP. Quedaría así:
#LocalSocket /var/run/clamav/clamd.ctlAhora reiniciamos el sistema:
/etc/init.d/clamav-daemon restart
Actualizamos la base de datos de viruses
freshclam
Ya tenmemos ClamAV listo para su uso. El servicio freshclam mira cada hora si hay nuevas definiciones de virus. En caso de haberlas, las descarga y le indica al demonio clamd, de que rehaga su base de datos.
Tener en cuenta a la hora de actualizar ClamAV, que hemos modificado el ficheros de configuración. Esto quiere decir que al preguntarnos si deseamos que instale el nuevo, debemos de decirle que no. Como recomendación, hacer una copia de /etc/clamav/clamd.conf antes de actualizar.
msrbl y ClamAV
Aunque no sea propiamente su tarea, es interesante dotar a ClamAV de otrsas herramientas amén de las firmas de virus. Entre otras están las firmas digitales de ficheros e imágenes que contiene virus o SPAM. Vamos a instalar un sistema de estos en ClamAV. Para descargar los ficheros de firmas vamos a utilizar un programilla. He aquí cómo descargar e instalar el programa.
wget -P /var/www/lhpaiak http://www.inetmsg.com/pub/clamav-unofficial-sigs.tar.gzAhora vamos a realizar unas modificaciones al fichero de configuración /etc/clamav-unofficial-sigs.conf. Las siguientes líneas deben aparecer como sigue:
enable_logging="yes"
reload_dbs="yes"
user_configuration_complete="yes"
Una base de datos nos ha dado problemas con ClamAV. El antivirus se queja de que el formato no es correcto. No vamos a usar pues, la base de datos jurlbl.nbd. Por ello, las siguientes líneas quedarán de este modo en el fichero.
ss_dbs="RECUERDA: Como la descarga de ficheros de firmas se realiza a través de rsync, debemos habilitar el puerto TCP 873 en el cortafuegos.
Source |
Destination |
Service |
Action |
---|---|---|---|
perimetroko antibirusa / antivirus perimetral |
Internet |
rsync(TCP) (873) |
Accept |
Todo bien? Adelante.
Ahora reiniciamos el demonio cron.
/etc/init.d/cron restartAVISO: Verifica el comportamiento de ClamAV. No se puede uno fiar a ciegas de estos sistemas. Estás advertido.
MailScanner
Para utilizar MailScanner necesitamos tener instalados:
PERLSe supone que tenemos todo instalado, pero nos falta un paquete: TNEF. Vamos a instalarlo:
aptitude install tnefListo! Ahora debemos de instalar MailScanner. Por desgracia, este paquete no se encuentra en los repositorios de Debian Lenny. Vamos a instalarlo de los repositorios de Debian Squeeze. Vamos a incluir este repositorio en el fichero /etc/apt/sources.list, que quedará así:
......Ahora debemos de crear un fichero de preferencias en dicho directorio:
touch /etc/apt/preferencesEl fichero contendrá lo siguiente:
Package: *Actualizamos la base de datos y pasamos a instalar MailScanner.
aptitude updateIMPORTANTE: Seguido de la instalación comentar la línea del repositorio de Squeeze.
Nos instala SpamAssassin automáticamente.
La configuración no es tan automática. Debemos de modificar bastantes cosas para adecuar MailScanner a nuestras necesidades. Para ello crearemos ficheros en el directorio /etc/MailScanner/conf.d/. Primero las cosas generales. El servidor de correo que se utilizará, cual usuario del sistema utilizará para ejecutarse, el grupo, etc. A este ficlero lo denomionaremos general.conf. Este será su contenido:
MTA = postfix
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
Queue Scan Interval = 6
%report-dir% = /etc/MailScanner/reports/es
Ahora las cosas que hemos de adecuar a nuestra organización, como elnombre, dirección, página web, etc. ¡Cuidado con el nombre corto! No poner '.' ni espacios ni '_'. En el nombre largo, '\n' significa salto de línea. Lo configuraremos en el dichero organization.conf y este srá su contenido:
%org-name% = NireEskola
%org-long-name% = Nire Eskola\nNire Kalea 69 -- xxxxx NIREHERRIA (BIZKAIA)
%web-site% = www.nireeskola.net
Ahora la configuración relativa al antiviruis. El fichero será virus.conf y este es su contenido:
Virus Scanning = yes
Virus Scanners = clamav
Monitors for ClamAV Updates = /var/lib/clamav/*.cvd /var/lib/clamav/*.cld /var/lib/clamav/*.hdb /var/lib/clamav/*.nbd
ClamAVmodule Maximum Recursion Level = 10
ClamAVmodule Maximum File Size = 15000000
Finalmente definiremos las puntuaciones de SpamAssassin y lo que debe hacer con ellas. Le diremos que considere spam los mensajes que obtengan 4 puntos. Que considere como puntuación alta superar los 7 puntos, y que los mensajes que obtengan esta puntuación sean puestos en cuarentena. Además le diremos que analice solamente los primeros 40KB de los mensajes. Los mensajes de spam no suelen ser muy grandes. El fichero será spam.conf y quedará así:
Spam Checks = yesAVISO: La utilización de listas en desuso, puede acarrearnos graves problemas.
Hay que realiza una modificación en el fichero /etc/MailScanner/virus.escanner.conf. La siguiente fila debe quedar así:
clamav /etc/MailScanner/wraper/clamav-wrapper /usrNos faltan unos últimos toques. Cambiamos el propietario de
los directorios para los mensajes entrantes y en
cuarentena.
Cambiamos el propietario de este directorio de MailScanner.
chown postfix:postfix /var/lib/MailScannerAhora que está todo configurado, vamos a permitir su uso, y hacer una pequeña modificación. En el fichero /etc/default/mailscanner, han de quedar estas dos líneas, como sigue:
q_days=15Ahora podemos iniciar MailScanner.
/etc/init.d/mailscanner startSpamAssassin
SpamAssassin requiere pocos cambios una vez instalado. Una cosa que le tenemos que decir a SpamAssassin es que ignore las cabeceras de nuestra organización cuando realice el análisis bayesiano. En /etc/MailScanner/spam.assassin.prefs.conf, aproximadamente en la línea 85 y siguientes, donde pone unconfigured-debian-site, tenemos que poner el nombre corto de nuestra organización que pusimos en /etc/MailScanner/MailScanner.conf, en la variable %org-name%. Deberá de quedar de esta guisa:
bayes_ignore_header NireEskola-MailScannerDebemos hacer que SpamAssassin no utilice las redes Razor o Pyzor, pues no nos interesa. En el fichero /etc/MailScanner/spam.assassin.prefs.conf, aprozimadamente en la línes 140, quitamos el signo de comentario a las siguientes líneas que quedarán de la siguiente forma:
use_razor2 0Como por defecto el plugin que requiere no está habilitado y para que no nos dé avisos al probarlo, vamos a deshabilitar el uso de listas blancas automáticas. La siguiente línea quedará de esta forma:
# use_auto_whitelist 0Otra cosa interesante. SpamAssassin tiene la capacidad de puntuar de diferente manera los mensajes de diferentes idiomas. Esto es, los mensajes de un determinado idioma obtienen una puntuación de spam, más baja. Vamos a seleccionar el euskera y castellano, pues casi todo el spam nos llega en inglés. La siguiente línea quedará como sigue:
ok_locales eu es
Para detectar los idiomas euskera y castellano, se requiere el plugin TextCat. Hemos de habilitar el plugin en el fichero /etc/spamassassin/v310.pre. Quedará de esta forma:
loadplugin Mail::SpamAssassin::Plugin::TextCat
Ahora que está configuradio, indicamos en /etc/default/spamassassin, que se puede utilizar. La siguiente línea se debe poner a 1.
ENABLED=1Verificamos que SpamAssassin funciona correctamente.
spamassassin -p /etc/MailScanner/spam.assassin.prefs.conf --lintNo debería de dar errores.
Ahora podemos iniciar SpamAssassin.
/etc/init.d/spamassassin startListo.
MailScanner y Postfix juntos
Le diremos a Postfix que compruebe los encabezamientos del correo con los contenidos que hay en el archivo header_checks. Para ello, añadir lo siguiente en el fichero /etc/postfix/main.cf.
En este fichero pondremos que todos los correos entrantes los mueva al directorio HOLD. Para ello pondremos lo siguiente en el fichero /etc/postfix/header_checks.
Reiniciamos MailScanner y Postfix
/etc/init.d/mailscanner restartConsideraciones acerca de MailScanner
MailScanner, además de servir como armazón para utilizar productos antivirus y antiespan, posee gran capacidad de filtrado de contenidos con potencial peligroso. Estos contenidos suelen ser ficheros .pif, .exe... pero también otros. Los ficheros DOC (Word) pueden contener macros peligrosas. Los ficheros WMF (Windows MetaFile) pueden utilizarse para explotar una vulnerabilidad 0day.exploit en las DLL que tratan estos formatos (incluido BMP). Otro vector de ataque a Windows son los fichero ANI, de cursores animados. Hay que eliminarlos.
Esto hace que nos bloquee estos ficheros y nuestros usuarios no entiendad la "peligrosidad" de un formato que utilizan habitualmente. En nuestras manos queda el relajar las políticas de seguridad. En el fichero /etc/MailScanner/filename.rules.conf podemos deshabilitar los formatos que necesitemos. Después de ello, reiniciar Mailscanner.
Puede ser necesario deshabilitar los WMF y BMP si nuestros usuarios envían dibujos de programas de windows incrustados en documentos OpenOffice.
En el mismo sitio tenemos el fichero filetype.rules.conf, con una funcionalidad similar para con los tipos de fichero.
En el servidor DNS al que accede el antivirus, hemos de poner su nombre como intercambiador de correo (registro MX), con menos prioridad que el servidor de correo con buzones. Es decir, con número más alto.
En el cortafuegos habremos de hacer NAT, no al servidor original, si no a la dirección del antivirus.