Seguridad de Correo · 5 min read · Nov 27, 2025

Cómo Combatir Virus Usando Tu Configuración de Postfix

Cómo Combatir Virus Usando Tu Configuración de Postfix

En esta guía aprenderás a ajustar la guía de correo de HowtoForge para Postfix (+Auth SMTP + Quota), https://www.howtoforge.com/virtual_postfix_mysql_quota_courier, configurada para ofrecer mejor protección contra virus. Lamentablemente, esto siempre tiene un costo, como verás más adelante….

La guía de Falko de HowtoForge es un gran punto de partida para una instalación predeterminada de Postfix, pero si deseas lograr un antivirus de grado empresarial, necesitamos hacer algunas pequeñas cosas para que haya menos posibilidad de que la última y mejor invención de script kiddie se cuele.

En la guía de Postfix, Amavis y ClamAV se instalan desde Debian estable. Debian Sarge es simplemente demasiado viejo. Habiendo jugado con el nuevo Amavis-new 2.4.2, ha cambiado significativamente en el paquete de Debian donde /etc/amavis/amavisd.conf ha sido completamente reemplazado, así que vamos a dejar amavis-new tranquilo y simplemente dejarlo de Debian sarge estable. Sin embargo, ClamAV está un poco desactualizado, así que vamos a tomar una copia fresca de testing.

Edita /etc/apt/sources.list y lleva tus fuentes de Debian a testing:

vi /etc/apt/sources.list
deb ftp://ftp.uk.debian.org/debian/ testing main
apt-get update
apt-get install clamav clamav-daemon

No olvides llevar tus fuentes de Debian de vuelta a stable después:

Edita /etc/apt/sources.list:

vi /etc/apt/sources.list
deb ftp://ftp.uk.debian.org/debian/ stable main
apt-get update

Esto actualiza el motor de Clamav a 0.88 y debería ofrecer mejor detección de virus. Es posible llevar Clamav a la última versión utilizando la rama Volatile de Debian, pero he tenido algunas malas experiencias, así que es mejor errar por el lado de la precaución.

A continuación, queremos aumentar los escáneres de virus que Amavis llama después de que Postfix entrega el correo a Amavis. Esta guía se centrará en configurar 2.

F-Prot - Gratis para uso privado y viene con un práctico instalador de Debian.

cd /usr/src
wget http://http.us.debian.org/debian/pool/contrib/f/f-prot-installer/f-prot-installer_0.5.22_i386.deb
apt-get install libwww-perl liburi-perl libhtml-parser-perl libhtml-tree-perl libhtml-tagset-perl
dpkg i f-prot-installer_0.5.22_i386.deb

Sigue el instalador en pantalla, que se va y descarga la última distribución de F-Prot mientras esperas.

A diferencia de Clamav, que utiliza Freshclam, F-Prot no utiliza un programa demonizado para mantenerse actualizado, en su lugar necesitamos habilitar el programa de actualización a través de los cron de Debian.

Edita /etc/cron.d/f-prot-installer y descomenta las 2 líneas de cronjob para las actualizaciones de virus y programa:

vi /etc/cron.d/f-prot-installer
27 4,16 * * * root if [ -x /usr/lib/f-prot/tools/check-updates ]; then /usr/lib/f-prot/tools/check-updates -cron; fi
#
# Descomentar para verificar si hay una nueva versión del programa una vez a la semana
# 
00 12 * * 1 root if [ -x /usr/sbin/update-f-prot ]; then /usr/sbin/update-f-prot -i; fi 

Finalmente, queremos habilitar F-prot en nuestra configuración de Amavis, así que edita /etc/amavis/amavisd.conf y busca @av_scanners. Queremos agregar un nuevo escáner en este array, así que debería verse algo como lo siguiente después de la edición:

vi /etc/amavis/amavisd.conf
@av_scanners = (

### http://www.clamav.net/
['Clam Antivirus-clamd',
 \&ask_daemon, ["CONTSCAN {}
", "/var/run/clamav/clamd.ctl"],
 qr/\bOK$/, qr/\bFOUND$/,
 qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTA: ejecuta clamd bajo el mismo usuario que amavisd; coincide el socket
# nombre (LocalSocket) en clamav.conf con el nombre del socket en esta entrada
# Al ejecutarse en chroot, uno podría preferir: ["CONTSCAN {}
","$MYHOME/clamd"],


### F-Prot http://www.f-prot.com
['FRISK F-Prot Antivirus', ['f-prot','/usr/lib/f-prot/f-prot.sh'],
   '-dumb -archive -packed {}', [0,8], [3,6],
   qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
   
);

Finalmente, reinicia Amavis para que los cambios surtan efecto:

/etc/init.d/amavis restart 

Pasando rápidamente, ahora vamos a habilitar McAfee UVScan - lamentablemente esto no es gratuito para uso general y debes comprar una licencia para usarlo por más del período de evaluación.

cd /usr/src
wget http://download.nai.com/products/evaluation/virusscan/english/cmdline/linux/v5.10/vlp4510e.tar.Z
tar zxvf  vlp4510e.tar.Z
./install-uvscan

Acepta todos los valores predeterminados, excepto evita el largo escaneo completo del sistema de archivos al final del procedimiento de instalación. En este punto, si tienes una licencia, puedes introducirla en el directorio del programa normalmente instalado bajo /usr/local/uvscan.

A continuación, obtenemos el actualizador de NAI de http://www.brijn.nu/Programming/ (parece que McAfee no se molesta en distribuir uno)

cd /usr/src
wget http://www.brijn.nu/Programming/nai/naiupdt-0.5.tar.gz
tar zxvf  naiupdt-0.5.tar.gz
./naiupdt.pl

A continuación, colocamos el actualizador en el cron del sistema para que se ejecute al menos una vez al día, edita /etc/crontab:

vi /etc/crontab
15 8,15 * * *  root /usr/src/naiupdt-0.5/naiupdt.pl >> /dev/null

A continuación, necesitamos editar la configuración de Amavis y agregar UVScan a la mezcla, así que edita /etc/amavis/amavisd.conf y encuentra una vez más @av_scanners y cambia el array en el archivo para que se vea algo como esto para los 3 escáneres de AV:

@av_scanners = (

### http://www.clamav.net/
['Clam Antivirus-clamd',
 \&ask_daemon, ["CONTSCAN {}
", "/var/run/clamav/clamd.ctl"],
 qr/\bOK$/, qr/\bFOUND$/,
 qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTA: ejecuta clamd bajo el mismo usuario que amavisd; coincide el socket
# nombre (LocalSocket) en clamav.conf con el nombre del socket en esta entrada
# Al ejecutarse en chroot, uno podría preferir: ["CONTSCAN {}
","$MYHOME/clamd"],

### http://www.nai.com/
['NAI McAfee AntiVirus (uvscan)', '/usr/local/uvscan/uvscan',
   '--secure -rv --mime --summary --noboot - {}', [0], [13],
   qr/(?x) Found (?:
     \ the\ (.+)\ (?:virus|trojan)  |
     \ (?:virus|trojan)\ or\ variant\ ([^ ]+) |
     :\ (.+)\ NOT\ a\ virus)/,
],

### F-Prot http://www.f-prot.com
['FRISK F-Prot Antivirus', ['f-prot','/usr/lib/f-prot/f-prot.sh'],
   '-dumb -archive -packed {}', [0,8], [3,6],
   qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
   
);

Reinicia Amavis para que los cambios surtan efecto:

/etc/init.d/amavis restart

Finalmente, envía algún correo a través de tu sistema para verificar que todo esté funcionando y revisa el registro de Amavis, asegúrate de habilitar el registro en la configuración de Amavis si aún no lo has hecho y deberías ver algo como esto:

Sep  7 23:29:57 domain.net amavisd-new[11023]: (11023-08) TIMING [total 617 ms] - SMTP EHLO: 1 (0%), SMTP pre-MAIL: 0 (0%), SMTP pre-DATA-flush: 1 (0%), SMTP DA  
TA: 39 (6%), body hash: 0 (0%), lookup_sql: 1 (0%), mime_decode: 8 (1%), get-file-type: 8 (1%), get-file-type: 7 (1%), decompose_part: 1 (0%), decompose_part: 0 (0%),   
parts: 0 (0%), AV-scan-1: 4 (1%), AV-scan-2: 323 (52%), AV-scan-3: 171 (28%), fwd-connect: 4 (1%), fwd-mail-from: 0 (0%), fwd-rcpt-to: 2 (0%), write-header: 2 (0%), fw  
d-data: 0 (0%), fwd-data-end: 41 (7%), fwd-rundown: 1 (0%), unlink-2-files: 2 (0%), rundown: 0 (0%)

Notarás que hay 3 escaneos de AV en curso y da el porcentaje aproximado de cuánto tiempo tomó cada proceso. Parece que, con mucho, Clam (AV-scan-1) es el más rápido en mis pruebas, seguido por F-Prot (AV-scan-3) con UVScan (AV-scan-2) quedando en tercer lugar. Obviamente, si encuentras que tu configuración de correo está siendo golpeada duramente por tantos escáneres instalados, todo lo que necesitas hacer es deshabilitarlos en el archivo de configuración de amavis.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.