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.listdeb ftp://ftp.uk.debian.org/debian/ testing mainapt-get updateapt-get install clamav clamav-daemonNo olvides llevar tus fuentes de Debian de vuelta a stable después:
Edita /etc/apt/sources.list:
vi /etc/apt/sources.listdeb ftp://ftp.uk.debian.org/debian/ stable mainapt-get updateEsto 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/srcwget http://http.us.debian.org/debian/pool/contrib/f/f-prot-installer/f-prot-installer_0.5.22_i386.debapt-get install libwww-perl liburi-perl libhtml-parser-perl libhtml-tree-perl libhtml-tagset-perldpkg i f-prot-installer_0.5.22_i386.debSigue 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-installer27 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/srcwget http://download.nai.com/products/evaluation/virusscan/english/cmdline/linux/v5.10/vlp4510e.tar.Ztar zxvf vlp4510e.tar.Z./install-uvscanAcepta 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/srcwget http://www.brijn.nu/Programming/nai/naiupdt-0.5.tar.gztar zxvf naiupdt-0.5.tar.gz./naiupdt.plA 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/crontab15 8,15 * * * root /usr/src/naiupdt-0.5/naiupdt.pl >> /dev/nullA 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 restartFinalmente, 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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.