Antispam y antivirus en nuestro ervidor de correos¶
En este apartado vamos a realizar una introducción a la configuración de nuestro servidor de correos postfix para que sea capaz de determinar si los correos que le llegan tienen algun virus o son spam. Para ello vamos a utilizar tres programas:
- amavisd: Es una interfaz entre el servidor de correos y el antivirus y antispam.
- ClamAV: Un antivirus.
- SpamAssassin: Un software para detectar el spam.
Es esquema de funcionamiento es el siguiente::
[SpamAssassin]
^
|
Email --> [(Port 25) Postfix] --> [(10024) amavisd-new] --> [(10025) Postfix] --> Mailbox
|
v
[ClamAV]
Os voy a dejar los pasos para realizar la instalación, este manual nace de mi experiencia, si veis algún cambio o hay algo incorrecto, por favor decírmelo. Empezamos con la instalación (vamos a instalar los todos los paquetes necesarios)::
apt-get install amavisd-new spamassassin clamav clamav-daemon
Instalamos descompresores y utilidades::
apt-get install unrar-free zoo unzip bzip2 libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzop
amavisd¶
En el fichero /etc/amavis/conf.d/15-content_filter_mode
descomentamos las siguientes líneas si vamos a activar el antivirus::
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
Y las siguientes si vamos a activar el antispam::
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
En el fichero etc/amavis/conf.d/20-debian_defaults
, configuramos que hacer con los correos sospechosos, la configuración que viene por defecto es correcta pero podemos hacer algunos cambios, por ejemplo podemos dejar pasar el spam, aunque lo marquemos::
$final_spam_destiny = D_PASS;
Por último::
adduser clamav amavis
systemctl restart amavis
Para que amavis pueda comunicar con postfix, añadimos a la configuración las siguientes líneas::
postconf -e 'content_filter = amavis:[127.0.0.1]:10024'
postconf -e 'receive_override_options = no_address_mappings'
Añadimos las siguientes líneas al fichero /etc/postfix/master.cf
::
amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_bind_address=127.0.0.1
Y podemos ver los puertos por los que se está escuchando::
tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 18955/amavisd-new (
tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN 19134/master
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 16089/spamassassin.
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 19134/master
spamassassin¶
Lo activamos en el fichero /etc/default/spamassassin
::
ENABLED=1
El fichero de configuración es /etc/spamassassin/local.cf
Para más información puedes leer los siguientes artículos: