BULMA

Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(21/09/2014 02:12:56)
    
Google


En bulma.net
En internet
Poner clamav configurando sólo procmail (22950 lectures)
Por Carles Pina i Estany
cpina (http://pinux.info)
Creado el 13/02/2004 22:50 modificado el 13/02/2004 22:50

En este breve truco veremos como podemos poner clamav (un antivirus libre) a cualquier servidor de correo, a través de procmail.

De esa forma no necesitaremos a amavis ni tendremos que modificar la configuración del servidor de correo si ya estaba entregando los mensajes a través de procmail.


Pagina1/1

El antivirus que usaremos será el clamav. Es GPL, es muy bueno y actualizado frecuentemente.

Para empezar, tendremos que instalar el antivirus. Si estamos usando Debian Wooody añadiremos en el /etc/apt/sources.list esta línea:

deb http://www.backports.org/debian stable clamav
para tener a clamav como paquete (sinó lo podriamos bajar, compilar, etc. desde http://www.clamav.net)

En Debian Sarge o Sid podemos hacer directamente:

apt-get install clamav clamav-freshclam clamav-daemon
(podriamos instalar el clamav-data en lugar del clamav-freshclam si no queremos que se actualice la base de datos de virus por Internet)

Cuando estemos instalando el clamav-freshclam nos preguntará en qué interfaz estamos conectados a Internet y un servidor (ya viene por defecto) donde bajarse las actualizaciones.

Suponemos que tenemos nuestro servidor de correo (MTA) funcionando correctamente, y que además está entregando los mails locales mediante postfix.

Por ejemplo, en postfix tenemos que tener una línea como esta:

mailbox_command = /usr/bin/procmail -a "$EXTENSION"
En el /etc/postfix/main.cf
Si no usamos postfix miraremos como es en nuestro servidor (es posible que ya venga por defecto, y sinó poco le faltará para hacerlo)

Un correo electrónico que tenga que ser entregado localmente pasará a procmail, que hará las reglas de filtrado de /etc/procmailrc (y después las de $HOME/.procmailrc, para cada usuario) y lo dejará, típicamente en /var/mail/usuario.

En el fichero /etc/procmailrc añadiremos esas líneas:

SHELL=/bin/sh


AV_REPORT=`clamdscan --stdout --disable-summary - | cut -d: -f 2`
VIRUS=`if [ "$AV_REPORT" != " OK" ]; then echo Yes; else echo No;fi`

:0fw
| formail -i "X-Virus: $VIRUS"

:0fw
* ^X-Virus: Yes
| formail -i "Virus: $AV_REPORT" -i "Subject: MENSAJE CON VIRUS: $AV_REPORT"
La línea de SHELL=/bin/sh la pongo porqué yo tengo algunos usuarios que no tienen shell en el /etc/passwd por lo que no se ejecutaba los que hay entre las comillas invertidas.

En la línea del AV_REPORT guardamos " OK" si no tiene ningún virus o bien el nombre del virus.

En la siguiente línea, en la variable VIRUS ponemos "Yes" si tiene algun virus. Si no tiene ningún virus ponemos "No".

En la primera regla de filtrado, añadimos la cabecera X-Virus con "Yes" o "No" (así el usuario final lo puede filtrar fácilmente, y nos sirve a nosotros para saber que ha sido escaneado, etc.)

Y en la segunda línea, si ha venido con un virus ponemos una cabecera llamada "Virus" que contiene el reporte de Clamav. Y además, modificamos el Subject que tuviera y ponemos el nombre del virus.
En lugar de modificar el Subject y añadir una cabecera más lo podriamos eliminar directamente.

Como curiosidad, después del control de virus yo tengo:

:0fw
| spamc -f -s 100000 -u $LOGNAME
Para pasarlo por el Spamassassin. Nunca había sido tan fácil tener un sistema de correo con antivirus y antispam.

En algun usuario nos puede interesar tener su ~/.procmailrc algo como:

DEFAULT=$MAIL
LOGFILE=$HOME/.procmailrc.log

:0
* ^X-Virus: Yes
/dev/null   #o bien guardarlo en otro fichero, etc.

:0
* ^X-Spam-Status: Yes
/dev/null   #o bien guardarlo en otro fichero, etc.
He hecho el "truco" con el clamdscan. Eso nos obliga a tener el demonio clamav-daemon ejecutándose (por defecto no abre ningún puerto sinó que sólo crea un fichero tipo fifo para comunicarse con el cliente).
Si no nos gusta tener un demonio para esto, podemos no instalar el clamav-daemon y usar en el procmailrc el clamscan, que no usa ningún demonio sinó que él mismo escanea el correo y ya está.

Para probar que funcione, podemos ir a http://www.eicar.org/download/eicar.com.txt y mandarnos esa línea por e-mail. Es un test para saber si el antivirus que usemos está activado. De esa forma veremos si lo está detectando bien o no.

También nos tenemos que fijar que todos los correos nuevos que nos lleguen tengan la nueva cabecera de X-Virus:

Espero que esa manera simple (pero efectiva) sea útil a alguien.


Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
Es posible que se hayan omitido algunos comentarios considerados poco constructivos
1.  Re: Poner clamav sólo a través de procmail (14/02/2004 01:21, #19745)
  Por: Anónimo (http://www.adcnet.com.ar)
Realmente el articulo esta excelente, pero me trae dos preguntas: Siempre el procmail lee primero /etc/procmail y luego los procmail particulares de cada usuario, ?? La segunda pregunta, es mas efectivo y seguro que instalar mailscanner con el trabajo adicional que eso implica???
No es pot respondre
 
2.  Re: Poner clamav sólo a través de procmail (14/02/2004 11:21, #19750)
  Por: cpina (http://pinux.info)
Hola,

Primero, que yo sepa procmail lee la configuración global y después la de cada usuario, sí.

Las desventajas de usar este método son:
a) si cambiamos de antivirus tendremos "más trabajo" (estamos un poco más atados al antivirus)

b) si tenemos los usuarios en mysql (sin cuentas locales) _creo_ que no se puede usar procmail para entregar el correo. Así que este sistema no es válido y tendremos que recurrir al sistema "típico" (modificar el master.cf, etc.)

Espero que te haya aclarado algo.
No es pot respondre
 
3.  Re: Poner clamav sólo a través de procmail (14/02/2004 16:28, #19752)
  Por: Anónimo
Gracias Será instalado y te cuento las experiencias
No es pot respondre
 
4.  Re: Poner clamav configurando sólo procmail (16/02/2004 10:45, #19772)
  Por: Teleyinex (http://sleon.org)
Muy bueno. Mi pregunta es: ¿se obtiene mayor rendimiento? En principio parece que sí, o así debería de ser, pues no es necesario tener otro programa en memoria. No está mal. Me gustaría saber si alguien lo tiene así y si ha notado velocidad.
No es pot respondre
 
5.  Re: Poner clamav configurando sólo procmail (16/02/2004 11:00, #19774)
  Por: teleyinex (http://sleon.org)
Le acabo de encontrar una utilidad muy importante a este método. Si eres un ISP y tienes servidores virtuales de correo para diferentes empresas, siempre habrá alguna que por h o por b no querrá filtro antivirus y otras que sí, con lo que lo único que se tendría que hacer es poner el .promailrc para cada usuario y a funcionar, además se podría hacer por usuarios. Es una idea. Aunque como bien se ha dicho si los usuarios están en mysql esto no funcionará.

Bueno es una idea.
No es pot respondre
 
6.  Re: Poner clamav configurando sólo procmail (23/02/2004 16:24, #19875)
  Por: Germán
No necesariamente, mejor seria poner un transporte de procmail con antivirus y otro sin antivirus (master.cf y transport), y pones a cada dominio virtual con el que le corresponda. Eso de poner .procmailrc es una complicacion que deberia ser evadida, o a veces impracticable, porque es probable que el home del usuario no exista
No es pot respondre
 
7.  Re: Poner clamav configurando sólo procmail (01/03/2004 16:29, #19983)
  Por: GermanG
Una observacion, si por alguna razon no esta andando el clamd, todos los mails quedaran marcados como infectados.

Yo encontre esta solucion, en lugar de:

AV_REPORT=`clamdscan --stdout --disable-summary - | cut -d: -f 2`
VIRUS=`if [ "$AV_REPORT" != " OK" ]; then echo Yes; else echo No;fi`

:0fw
| formail -i "X-Virus: $VIRUS"

:0fw
* ^X-Virus: Yes
| formail -i "Virus: $AV_REPORT" -i "Subject: MENSAJE CON VIRUS: $AV_REPORT"


lo cambie por:

AV_REPORT=`/usr/bin/clamdscan --stdout --disable-summary - | awk '$3=="FOUND"{print "Yes "$2}$3!="FOUND"{print "No"}'`

:0fw
| formail -i "X-German-AntiVirus: $AV_REPORT"

:0fw
* ^X-German-AntiVirus: Yes.*
$HOME/Mail/virosicos


Espero a alguien le sea util
No es pot respondre
 
8.  Re: Poner clamav configurando sólo procmail (29/03/2004 21:16, #20419)
  Por: Strider (http://lakamarilla.no-ip.com)
He seguido las instrucciones y, en todos los correos, lleven virus o no, el asunto es sustituido por "Mensaje con virus: Can't connect to clamd". ¿Alguna idea?
No es pot respondre
 
9.  Re: Poner clamav configurando sólo procmail (29/03/2004 22:28, #20425)
  Por: Anónimo
Hola,

Eso es que no tienes ejecutandose el clamd. Si haces /etc/init.d/clamd start qué hace? Has instaldo todos los paquetes?

clamd es un demonio que usa clam para saber si hay virus o no...

También es posible que tengas un firewall MUY restringido.
No es pot respondre
 
10.  Re: Poner clamav configurando sólo procmail (29/03/2004 23:42, #20429)
  Por: Strider (http://lakamarilla.no-ip.com)
Sí se está ejecutando. Cuando hago /etc/init.d/clamd start se inicia correctamente.
Lo he instalado haciendo 'emerge clamav', ya que no he visto ningún otro paquete relacionado en gentoo.
Por cierto, sí tengo un firewall MUY restringido (me gusta tenerlo así), pero podría quitar alguna restricción, si supiera cual.
Un saludo.
No es pot respondre
 
11.  Re: Poner clamav configurando sólo procmail (10/05/2004 20:24, #21151)
  Por: Adrian
Estuve probando este articulo y funciona 10 puntos. Ahora, como puedo hacer, para que en vez de que el usuario reciba el adjunto con virus, reciba el mail sin el adjunto?. Y una mas, seria enviarle un mail al remitente avisandole que su mail llego con virus?.
Gracias.
Adrian.
No es pot respondre
 
12.  Re: Poner clamav configurando sólo procmail (12/05/2004 12:14, #21179)
  Por: cpina (http://pinux.info)
Hola,

Me alegro que te haya funcionado.

Para que el usuario reciba el mail, lo que podrias hacer es procesar mediante el procmail el mail y quitarle el adjunto (segurament con formail y compañía se puede hacer sin problemas).

Es decir, si contiene el X-Virus pues le quitas el adjunto.

Para devolver al remitente un aviso, es fácil también, coger la dirección y hacer un mail (tienes que programar 2 líneas, quizás). De todas formas no te recomiendo eso: los virus ahora ponen un remitente aleatorio, y casi seguro que le llegará el aviso de virus a una persona que no es la que mandó el mail (me pasa a menudo a mi), así que no activaría eso.
No es pot respondre
 
13.  Re: Poner clamav configurando sólo procmail (12/05/2004 16:49, #21186)
  Por: Anónimo
Esta claro, el tema es que no pude encontrar la funcion del formail para eliminar adjuntos, por casualidad, alguien la conoce? El tema de enviarle un mail al remitente, tenes razon, no tiene sentido y seria complicar mas el tema.... Gracias por la ayuda.
No es pot respondre
 
14.  Re: Poner clamav configurando sólo procmail (13/11/2006 09:18, #36412)
  Por: Anónimo
k dos linias¿¿¿
No es pot respondre
 
15.  Re: Poner clamav configurando sólo procmail (03/06/2004 00:37, #21683)
  Por: Adrian
Alguien sabe porque no me revisa los .zip?. Si corro clamscan a mano, y pongo un zip con un archivo infectado en una carpeta, si lo detecta, pero no si lo mando por mail. Gracias por ayudarme.
No es pot respondre
 
16.  Re: Poner clamav configurando sólo procmail (08/06/2004 11:09, #21793)
  Por: Vieri (Palma de Mallorca) (http://idsys.es)
Para que te escanee los zip, etc. debes habilitar SanMail y ScanArchive en /etc/clamav.conf. Puedes tb planear de utilizar la función RAR built-in... A mi me funciona. Saludos y gracias por este articulo...
No es pot respondre
 
17.  Re: Poner clamav configurando sólo procmail (20/10/2004 03:56, #23873)
  Por: jgarcia
Intente cambiar la linea de /usr/bin/clamdscan etc..... por /usr/bin/clamscan etc..... pero tampoco me funciona

¿Existe en la configuracion del sendmail que diga que primero verifique el archivo /etc/procmailrc que los de los usuarios?
No es pot respondre
 
18.  Re: Poner clamav configurando sólo procmail (24/02/2005 16:50, #25414)
  Por: Tnt
Muchas gracias por el artículo, me funciona perfectamente.
No es pot respondre
 
19.  Re: Poner clamav configurando sólo procmail (06/11/2005 02:17, #29252)
  Por: Anónimo
hola chirley lo siento pero tu correo ye .c
No es pot respondre
 
20.  Re: Poner clamav configurando sólo procmail (31/01/2006 01:15, #30766)
  Por: Anónimo
http://drivel.com/clamassassin/ hace esto mismo.
No es pot respondre
 
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
****
Vots: 8
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Filtrando correo en postfix (antivirus y spam)
. Exim 3 con MailScanner y ClamAV
. Exim4 con antivirus (clamav) y spamassassin integrado
. Clam Antivirus, un producto GPL
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 12/5/2007 20:24:02 | Tiempo Total: 0.057 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: too much time ago!!
Powered by Apache    MySQL    PHP    Gimp