SpamAssassin · 6 min read · Oct 12, 2025
Usuarios Virtuales Y Dominios Con Postfix, Courier Y MySQL (CentOS 5.1) - Página 4
12 Instalar Razor, Pyzor Y DCC Y Configurar SpamAssassin
Razor, Pyzor y DCC son filtros de spam que utilizan una red de filtrado colaborativo. Para instalar Razor, ejecuta
yum install perl-Razor-Agent razor-agentsPyzor no está disponible en los repositorios de CentOS 5.1, pero podemos instalar el paquete de Pyzor para RHEL 5 en su lugar:
rpm -ivh ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/5/i386/pyzor-0.4.0-11.el5.noarch.rpm(Puedes usar la búsqueda de RPM en http://rpm.pbone.net/ para encontrar la versión actual si el enlace anterior ya no funciona.)
Luego inicializa ambos servicios:
chmod -R a+rX /usr/share/doc/pyzor-0.4.0 /usr/bin/pyzor /usr/bin/pyzord
chmod -R a+rX /usr/lib/python2.4/site-packages/pyzor
mkdir /var/spool/amavisd
chown amavis:amavis /var/spool/amavisd
su -m amavis -c 'pyzor --homedir /var/spool/amavisd discover'
su -m amavis -c 'razor-admin -home=/var/spool/amavisd -create'
su -m amavis -c 'razor-admin -home=/var/spool/amavisd -register'Luego instalamos DCC de la siguiente manera:
cd /tmp
wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z
tar xzvf dcc-dccproc.tar.Z
cd dcc-dccproc-1.3.76
./configure --with-uid=amavis
make
make install
chown -R amavis:amavis /var/dcc
ln -s /var/dcc/libexec/dccifd /usr/local/bin/dccifdAhora tenemos que decirle a SpamAssassin que use estos tres programas. Edita /etc/mail/spamassassin/local.cf para que se vea así:
vi /etc/mail/spamassassin/local.cf| # Estos valores pueden ser sobrescritos editando ~/.spamassassin/user_prefs.cf # (ver spamassassin(1) para más detalles) # Estas deberían ser suposiciones seguras y permitir un simple filtrado visual # sin arriesgar correos electrónicos perdidos. #required_hits 5 #report_safe 0 #rewrite_header Subject [SPAM] # dcc use_dcc 1 dcc_path /usr/local/bin/dccproc #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor #razor use_razor2 1 razor_config /var/spool/amavisd/razor-agent.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 |
Luego debemos habilitar el plugin DCC en SpamAssassin. Abre /etc/mail/spamassassin/v310.pre y descomenta la línea loadplugin Mail::SpamAssassin::Plugin::DCC:
vi /etc/mail/spamassassin/v310.pre| # Este es el lugar correcto para personalizar tu instalación de SpamAssassin. # # Ver 'perldoc Mail::SpamAssassin::Conf' para detalles de lo que se puede # ajustar. # # Este archivo fue instalado durante la instalación de SpamAssassin 3.1.0, # y contiene comandos de carga de plugins para los nuevos plugins añadidos en esa # versión. No será sobrescrito durante futuras instalaciones de SpamAssassin, # así que puedes modificarlo para habilitar algunos plugins deshabilitados por defecto, # si así lo deseas. # # Ahora hay múltiples archivos leídos para habilitar plugins en el # directorio /etc/mail/spamassassin; anteriormente solo se leía uno, "init.pre". # Ahora se leerán tanto "init.pre", "v310.pre", como cualquier otro archivo que termine en # ".pre". A medida que se realicen futuras versiones, se añadirán nuevos plugins a nuevos # archivos, nombrados de acuerdo con la versión en la que se añaden. ########################################################################### # DCC - realizar verificaciones de mensajes DCC. # # DCC está deshabilitado aquí porque no es de código abierto. Ver la DCC # licencia para más detalles. # loadplugin Mail::SpamAssassin::Plugin::DCC # Pyzor - realizar verificaciones de mensajes Pyzor. # loadplugin Mail::SpamAssassin::Plugin::Pyzor # Razor2 - realizar verificaciones de mensajes Razor2. # loadplugin Mail::SpamAssassin::Plugin::Razor2 # SpamCop - realizar informes de mensajes SpamCop # loadplugin Mail::SpamAssassin::Plugin::SpamCop # AntiVirus - algunas verificaciones simples de antivirus, esto no es un reemplazo # para un filtro antivirus como Clam AntiVirus # #loadplugin Mail::SpamAssassin::Plugin::AntiVirus # AWL - realizar verificaciones de lista blanca automática # loadplugin Mail::SpamAssassin::Plugin::AWL # AutoLearnThreshold - discriminador basado en umbral para el auto-aprendizaje de Bayes # loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold # TextCat - adivinador de idioma # #loadplugin Mail::SpamAssassin::Plugin::TextCat # AccessDB - búsqueda de direcciones de origen en la base de datos de acceso # #loadplugin Mail::SpamAssassin::Plugin::AccessDB # WhitelistSubject - Lista blanca/negra de ciertas expresiones regulares de asunto # loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject ########################################################################### # plugins experimentales # DomainKeys - realizar verificación de DomainKeys # # Módulos externos requeridos para su uso, ver INSTALL para más información. # Ten en cuenta que esto puede ser redundante si también planeas usar el plugin DKIM. # #loadplugin Mail::SpamAssassin::Plugin::DomainKeys # MIMEHeader - aplicar reglas de regexp contra los encabezados MIME en el mensaje # loadplugin Mail::SpamAssassin::Plugin::MIMEHeader # ReplaceTags # loadplugin Mail::SpamAssassin::Plugin::ReplaceTags |
Puedes verificar tu configuración de SpamAssassin ejecutando:
spamassassin --lintNo debería mostrar ningún error.
Ejecuta
/etc/init.d/amavisd restartdespues.
Ahora quiero insertar algunos conjuntos de reglas personalizadas que se pueden encontrar en internet en SpamAssassin. He probado esos conjuntos de reglas, y hacen que el filtrado de spam sea mucho más efectivo. Crea el archivo /usr/local/sbin/sa_rules_update.sh:
vi /usr/local/sbin/sa_rules_update.sh| #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/71_sare_redirect_pre3.0.0.cf -O 71_sare_redirect_pre3.0.0.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_bayes_poison_nxm.cf -O 70_sare_bayes_poison_nxm.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html.cf -O 70_sare_html.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html4.cf -O 70_sare_html4.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_html_x30.cf -O 70_sare_html_x30.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header0.cf -O 70_sare_header0.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header3.cf -O 70_sare_header3.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_header_x30.cf -O 70_sare_header_x30.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_specific.cf -O 70_sare_specific.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_adult.cf -O 70_sare_adult.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/72_sare_bml_post25x.cf -O 72_sare_bml_post25x.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_sare_fraud_post25x.cf -O 99_sare_fraud_post25x.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_spoof.cf -O 70_sare_spoof.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_random.cf -O 70_sare_random.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_oem.cf -O 70_sare_oem.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj0.cf -O 70_sare_genlsubj0.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj3.cf -O 70_sare_genlsubj3.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_genlsubj_x30.cf -O 70_sare_genlsubj_x30.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_unsub.cf -O 70_sare_unsub.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/70_sare_uri.cf -O 70_sare_uri.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.timj.co.uk/linux/bogus-virus-warnings.cf -O bogus-virus-warnings.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.yackley.org/sa-rules/evilnumbers.cf -O evilnumbers.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.stearns.org/sa-blacklist/random.current.cf -O random.current.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_body.cf -O 88_FVGT_body.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_rawbody.cf -O 88_FVGT_rawbody.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_subject.cf -O 88_FVGT_subject.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_headers.cf -O 88_FVGT_headers.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/88_FVGT_uri.cf -O 88_FVGT_uri.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_DomainDigits.cf -O 99_FVGT_DomainDigits.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_Tripwire.cf -O 99_FVGT_Tripwire.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.rulesemporium.com/rules/99_FVGT_meta.cf -O 99_FVGT_meta.cf &> /dev/null cd /etc/mail/spamassassin/ &> /dev/null && /usr/bin/wget http://www.nospamtoday.com/download/mime_validate.cf -O mime_validate.cf &> /dev/null /etc/init.d/amavisd restart &> /dev/null exit 0 |
Haz que el script sea ejecutable:
chmod 755 /usr/local/sbin/sa_rules_update.shLuego ejecuta ese script una vez, descargará esos conjuntos de reglas e insertará en SpamAssassin:
/usr/local/sbin/sa_rules_update.shCreamos un trabajo cron para que esos conjuntos de reglas se actualicen regularmente. Ejecuta
crontab -epara abrir el editor de trabajos cron. Crea el siguiente trabajo cron:
| 23 4 */2 * * /usr/local/sbin/sa_rules_update.sh &> /dev/null |
Esto actualizará los conjuntos de reglas cada dos días a las 4:23h.
13 Notificaciones de Exceso de Cuota
Si deseas recibir notificaciones sobre todas las cuentas de correo electrónico que están sobre la cuota, haz esto:
cd /usr/local/sbin/
wget http://puuhis.net/vhcs/quota.txt
mv quota.txt quota_notify
chmod 755 quota_notifyAbre /usr/local/sbin/quota_notify y edita las variables en la parte superior. Más abajo en el archivo (hacia el final) hay dos líneas donde debes agregar un signo %:
vi /usr/local/sbin/quota_notify| [...] my $POSTFIX_CF = "/etc/postfix/main.cf"; my $MAILPROG = "/usr/sbin/sendmail -t"; my $WARNPERCENT = 80; my @POSTMASTERS = ('[email protected]'); my $CONAME = 'Mi Empresa'; my $COADDR = '[email protected]'; my $SUADDR = '[email protected]'; my $MAIL_REPORT = 1; my $MAIL_WARNING = 1; [...] print "Subject: ADVERTENCIA: Su buzón está $lusers{ $luser}% lleno.\n"; [...] print "Su buzón: $luser está $lusers{ $luser}% lleno.\n\n"; [...] |
Ejecuta
crontab -epara crear un trabajo cron para ese script:
| 0 0 * * * /usr/local/sbin/quota_notify &> /dev/null |
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.