Este es un borrador realizado a partir de un mensaje enviado a la lista por Roger Durañona Vargas
Mailscanner
está hecho en perl
, y (al menos cuando lo use, hace años) mete las manos en la cola de los MTA y levanta dos instancias: una para recibir y otra para enviar. En cambio el amavis
se configura como un filtro. Yo por mi parte prefiero usar clamav
con clamsmtp
, asi el postfix
inyecta el correo directo a clamav
y lo recibe de vuelta revisado. Lo mismo para el SA. Cuesta un poco más de trabajo que montar amavis
, pero al final consume menos recursos.
Bien, lo primero que necesitas es bajar el clamsmtp
. No esta en el repositorio,1) así que hay que compilarlo a mano e instalarlo, eso es fácil.
A continuación modificamos master.cf
, y agregamos lo siguiente:
# AV scan filter (used by content_filter) scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes -o smtp_enforce_tls=no # For injecting mail back into postfix from the filter 127.0.0.1:10026 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
Vamos a main.cf
y agregamos esto:
content_filter = scan:[127.0.0.1]:10025
Ponemos el siguiente comando en el arranque, ya sea en rc.local
o como quiera
que sea en tu distribución:
clamsmtpd -f /path/to/clamsmtpd.conf
Hay que asegurarse de que el clamd
este levantado, este es el demonio del clamav
, otro detalle que ayuda en rendimiento, porque no necesitamos ejecutar clamav por cada cosa que revisemos.
En clamsmtp.conf
podemos agregar esto:
VirusAction: /usr/local/sbin/virus_action.sh
Este es un script sencillo que genera una notificación a root
(esto es puramente cosmético, y opcional).
#!/bin/sh cat<<EOF | sendmail -f clamav postmaster To: postmaster Subject: VIRUS discarded ($VIRUS) Sender: $SENDER Recipients: $RECIPIENTS Virus: $VIRUS EOF
Como ven, es fácil. Si yo lo hice, cualquiera puede hacerlo.
Les debo el de spamassassin
, porque ahí hay que escribir más.