Qmail Setup · 4 min read · Nov 12, 2025

Qmail-Scanner Con ClamAV Y SpamAssassin En Ubuntu

Qmail-Scanner Con ClamAV Y SpamAssassin En Ubuntu

En continuación de mi documento https://www.howtoforge.com/qmail-openldap-on-ubuntu sobre la configuración de qmail-ldap en Ubuntu, este documento te ayudará a configurar Qmail-Scanner con el antivirus ClamAV y el filtro de spam SpamAssassin con tu servidor qmail.

Introducción

Qmail-Scanner es un complemento que permite a un servidor de correo Qmail escanear correos electrónicos en busca de ciertas características. Se utiliza típicamente por sus funciones de protección contra virus y spam, en cuyo caso se usa junto con escáneres externos. También permite a un sitio (a nivel de servidor/sitio) crear “bloques de política”: es decir, reaccionar a correos electrónicos que contienen cadenas específicas en encabezados particulares, o nombres o tipos de archivos adjuntos particulares (por ejemplo, archivos adjuntos *.EXE incluso en un archivo zip).

Sus características de archivo ayudan a los ISP y corporaciones de todo el mundo con nueva legislación o requisitos regulatorios pendientes. Puede archivar todos los correos electrónicos procesados en un maildir de archivo. Esto es ideal para fines de respaldo por razones de política de auditoría. A diferencia de ciertas soluciones de servidor basadas en Windows, los encabezados del sobre del correo (los encabezados “rcpt to:” y “mail from:”) se mantienen intactos - añadidos al final de cada mensaje - confirmando las direcciones de remitente y destino reales. El archivado también admite filtrado a un subconjunto de direcciones (por ejemplo, solo archivar correos electrónicos de “[email protected]” en lugar de todos).

Vincularemos spamassassin y clamav con qmail-scanner. Spamassassin es un filtro de correo de código abierto, escrito en Perl, para identificar spam utilizando una amplia gama de pruebas heurísticas en los encabezados y el texto del cuerpo del correo. También puede usar algunos complementos útiles como Pyzor, Razor y DCC. Clamav escaneará los mensajes de correo en busca de correos infectados por virus.

Instalación

Instalaremos y configuraremos Qmail-Scanner, ClamAV y SpamAssassin con los complementos Pyzor, Razor y DCC.

Clam Antivirus

ClamAV es un motor antivirus de código abierto diseñado para detectar troyanos, virus, malware y otras amenazas maliciosas. Es el estándar de facto para el escaneo de puertas de enlace de correo. Proporciona un demonio de escaneo multihilo de alto rendimiento, utilidades de línea de comandos para escaneo de archivos bajo demanda, y una herramienta inteligente para actualizaciones automáticas de firmas.

Descargar

Descarga la última versión de http://downloads.sourceforge.net/project/clamav:

wget http://nchc.dl.sourceforge.net/project/clamav/clamav/0.97/clamav-0.97.tar.gz

Instalar y Configurar ClamAV

cd /download  
tar zxvf clamav-0.97.tar.gz  
useradd -c "Cuenta Qmail-Scanner" -s /bin/false qscand  
cd clamav-0.97  
./configure --with-user=qscand --with-group=qscand  
make && make install  
ldconfig -v

Ahora, configuramos sus archivos de configuración, estos son los siguientes:

vi /usr/local/etc/clamd.conf
#Ejemplo
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 20M
LogTime yes
LogClean yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /usr/local/share/clamav
LocalSocket /var/run/clamav/clamd.cl
MaxConnectionQueueLength 30
User qscand
MaxThreads 20
Scanmail yes

Ahora, crea algunos directorios con la propiedad de qscand:

mkdir /var/run/clamav  
chown -R qscand.qscand /var/run/clamav  
mkdir /var/log/clamav  
chown -R qscand.qscand /var/log/clamav  
chmod -R 755 /var/log/clamav

Con esto, clamav está instalado con éxito.

/usr/local/sbin/clamd &
vi /usr/local/etc/freshclam.conf
#Ejemplo
DatabaseDirectory /usr/local/share/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogSyslog yes
DatabaseOwner qscand
DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror database.clamav.net
DatabaseMirror db.in.clamav.net
NotifyClamd /usr/local/etc/clamd.conf

Guarda y sal.

freshclam -v
crontab -e
25 1 * * * /usr/local/bin/freshclam -l /var/log/clamav/freshclam.log

SpamAssassin

SpamAssassin es un filtro de correo para identificar spam. Es un filtro de correo electrónico inteligente que utiliza una diversa gama de pruebas para identificar correos electrónicos no solicitados en masa, más comúnmente conocidos como Spam. Estas pruebas se aplican a los encabezados y contenido del correo electrónico para clasificar el correo utilizando métodos estadísticos avanzados.

Instalar y configurar SpamAssassin

apt-get install spamassassin libdigest-sha1-perl libnet-dns-perl libmail-spf-query-perl libgeo-ip-perl libnet-ident-perl libio-socket-ssl-perl libio-socket-inet6-perl perl-modules
groupadd spamd  
useradd -g spamd -s /bin/false spamd
vi /etc/default/spamassassin
ENABLED=1
OPTIONS=" --user-config --username=spamd --max-children 5 --debug --helper-home-dir=/home/spamd"
vi /etc/mail/spamassassin/local.cf
required_score 5.0
dns_available yes
use_pyzor 1
use_razor2 1
use_bayes 1
bayes_auto_learn 1
bayes_file_mode 0700
include /etc/mail/spamassassin/autowhitelist
bayes_path /etc/mail/spamassassin/.spamassassin/bayes
bayes_auto_learn_threshold_nonspam       0.1
bayes_auto_learn_threshold_spam         12.0
ok_languages en hi
ok_locales en

Ahora inicia SpamAssassin…

/etc/init.d/spamassassin start

Ahora añade algunos complementos..

Razor

cd /downloads/  
wget "http://citylan.dl.sourceforge.net/project/razor/razor-agents/2.85/razor-agents-2.85.tar.bz2"  
wget 'http://citylan.dl.sourceforge.net/project/razor/razor-agents-sdk/2.07/razor-agents-sdk-2.07.tar.bz2'
tar xvf razor-agents-sdk-2.07.tar.bz2  
cd razor-agents-sdk-2.07  
perl Makefile.PL  
make  
make test  
make install
cd /downloads/  
tar xvfj razor-agents-2.85.tar.bz2  
cd razor-agents-2.85  
perl Makefile.PL  
make  
make test  
make install

Asegúrate de que tu firewall permite el puerto tcp/2703.

razor-admin -home=/home/spamd/.razor -create  
razor-admin -home=/home/spamd/.razor -register  
razor-admin -home=/home/spamd/.razor -discover

DCC

cd /downloads/  
wget http://www.rhyolite.com/anti-spam/dcc/source/dcc.tar.Z
tar xvfz dcc.tar.Z  
cd dcc-1.3.120/  
./configure  
make && make install

Asegúrate de que tu firewall permite el puerto udp/6277.

Pyzor

cd /downloads/  
wget http://space.dl.sourceforge.net/project/pyzor/pyzor/0.5.0/pyzor-0.5.0.tar.gz
tar xvf pyzor-0.5.0.tar.gz  
cd pyzor-0.5.0  
python setup.py build  
python setup.py install  
python -c 'import gdbm' && echo 'gdbm encontrado'

Ejecuta el siguiente comando para completar la instalación de pyzor.

pyzor --homedir /home/spamd discover
vi /etc/mail/spamassassin/v310.pre
enable la línea
loadplugin Mail::SpamAssassin::Plugin::DCC
spamassassin –lint

Qmail-Scanner

cd /downloads/  
wget http://www.qmailrocks.org/downloads/qmail-scanner-1.25.tgz  
wget http://www.qmailrocks.org/downloads/qms-analog-0.4.2.tar.gz  
tar xvfz qmail-scanner-1.25.tgz  
tar zxvf qms-analog-0.4.2.tar.gz
cd qms-analog-0.4.2  
make all  
cp qmail-scanner-1.25-st-qms-20050219.patch ../qmail-scanner-1.25/  
cd ../qmail-scanner-1.25  
patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch
vi qms-config
./configure --domain yourdomain.com \
--admin postmaster \
--local-domains "yourdomain.com" \
--add-dscr-hdrs yes \
--dscr-hdrs-text "X-Antivirus-YOURDOMAIN" \
--ignore-eol-check yes \
--sa-quarantine 0 \
--sa-delete 0 \
--sa-reject no \
--sa-subject ":SPAM:" \
--sa-alt yes \
--sa-debug yes \
--sa-report yes \
--notify "psender,admin" \
--redundant yes \
--unzip yes \
--qms-monitor no \
"$INSTALL"
chmod 755 qms-config  
./qms-config

Si la configuración es correcta entonces…

./qms-config install
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z  
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
vi /var/qmail/bin/qmail-scanner-queue.pl
msg_size > 500000
chown -R qscand:qscand /var/spool/qmailscan
vi /service/qmail-smtpd/run
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE

Ahora reinicia tu servidor qmail y verifica si todo funciona…

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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