Xunta de Galicia


Powered by MediaWiki

Xestión do SPAM con SpamAssassin

Spam, fontes e actitudes

Defínese spam como correo non desexado con ofertas comerciais ou doutra índole que se envía a listas de público moi extensas. Dende a segunda metade dos 90 a cantidade de spam creceu exponencialmente ata ocupar hoxe en día máis do 80% do correo que circula pola Internet. Persoas responsábeis destas prácticas empregan técnicas automáticas para recoller, “colleitar”, enderezos de correo electrónico publicados nas webs, que incorporan ás grandes listas de público coas que traballan. Por moito que a eficiencia na recepción das mensaxes sexa extremadamente baixa, sendo o custe de envío de cero, poden achegar un certo éxito nas campañas. De calquera xeito, dende o punto de vista da persoa receptora, o spam supón unha considerábel carga tanto en tráfico e recursos de rede como en tempo de atención, polo que hai tempo que se está traballando en solucións de barreira fronte a este problema.

Segundo datos de finais de 2007, as fontes principais de spam son, nesta orde, os Estados Unidos, Corea do Sur, China, Rusia e Brasil. A porcentaxe do primeiro é do 28,4%, e as dos seguintes non pasa do 5,2%. Hai que ter en conta que unha parte do spam recibido pode conter ameazas tales como software que pode comprometer a seguridade dos nosos sistemas, ou falsos avisos de entidades bancarias con ligazóns a web fraudulentas, o coñecido como “phishing”.

Unha das primeiras opcións para desfacerse do spam foi o filtrado por palabras dun dicionario. Outras técnicas toman en consideración o enderezo de orixe, comparando o seu dominio cunha lista de recoñecidos spammers. En calquera caso a reacción ante o spam non pode ser a devolución do correo, porque nas máis das veces os enderezos de orixe son falsos. A escolla de SpamAssassin baséase na súa efectividade, e no emprego de estratexias variadas para facer fronte aos correos non desexados. O seu obxectivo é puntuar cada correo de acordo co seu grao de concordancia en cada unha das probas feitas, e segundo a puntuación final, e a puntuación límite establecida polo administrador, o correo é simplemente marcado como spam e distribuído igual que os demais ao MUA para que sexa a persoa usuaria o que o avalíe; ou directamente é eliminado.

Licenza

SpamAssassin distribúese baixo os termos da Apache License, version 2.0.

Reseña sobre a comunidade de desenvolvemento

O proxecto SpamAssassin pertence á Fundación Apache, a mesma que desenvolve o máis famoso servidor web de Internet. Basea o seu funcionamento nuns órganos colexiados elixidos entre a comunidade de desenvolvemento. Ten moita xente traballando neste proxecto. O financiamento para as infraestruturas e outros custos venlle de doazóns á Fundación Apache.

Instalación de SpamAssassin

En sistemas baseados en Debian, coma o caso de Ubuntu, só temos que instalar o paquete “spamassassin”, pero para ter unha configuración operativa, precisamos doutros. A explicación disto é que o spam ten que ser verificado cada vez que un correo novo chega ao MTA do sistema, é dicir, cada vez que Postfix recibe un correo ten que chamar polo filtro de spam. Para encadear estes dous programas precisamos doutro, amavisd-new, que fai de ponte entrambos.

Entón, contando con que xa temos un Postfix funcionando, teriamos que instalar os seguintes paquetes: amavisd-new, spamassassin, dkim-filter, python-policyd-spf, pyzor, razor. Aparte dos que conteñen o amavisd-new e o SpamAssassin, os outros son filtros opcionais para mellorar a detección de spam. Podémolos instalar dende a liña de ordes, con apt-get install, ou empregando o Synaptic dende o escritorio.

Configuración e posta en marcha

Dentro do cartafol /etc/default/ as distribucións baseadas en Debian teñen costume de gardar ficheiros de configuración dos paquetes con valores precisos para que, despois da instalación, algúns servidores non arranquen de forma automática ata non seren configurados minimamente. Tamén poden conter opcións de configuración predeterminadas aplicábeis as máis das ocasións. No noso caso, no ficheiro /etc/default/spamassassin atoparemos o valor ENABLED = 0, que teremos que cambiar a ENABLED = 1 para que o daemon poida arrancar. Os outros compoñentes opcionais do sistema han ser detectados polo servizo principal, polo que non precisan de configuración.

O que si temos que configurar é a comunicación entre Postfix e SpamAssassin, por medio de Amavis. No ficheiro /etc/amavis/conf.d/15-content_filter_mode temos que descomentar as liñas que fan referencia ao SpamAssassin:

@bypass_spam_checks_maps = ( 

\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);


E no ficheiro 20-debian_defaults, temos que atopar unha liña coa variábel “final_spam_destiny” e asígnarlle o valor D_DISCARD:

$final_spam_destiny = D_DISCARD; 


A finalidade deste cambio é que os correos positivamente marcados como spam sexan borrados. Neste punto xa podemos reiniciar tanto o amavis como o SpamAssassin:

invoke-rc.d amavis restart

invoke-rc.d spamassassin restart


Queda, por último, configurar o Postfix para que lle pase os correos ao Amavis. Pasámoslle un cambio de configuración empregando ao postconf:

postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024'


Engadimos este bloque de opcións ao final do ficheiro /etc/postfix/master.cf:

smtp-amavis unix - - - - 2 smtp

-o smtp_data_done_timeout=1200

-o smtp_send_xforward_command=yes

-o disable_dns_lookups=yes

-o max_use=20


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_delay_reject=no

-o smtpd_client_restrictions=permit_mynetworks,reject

-o smtpd_helo_restrictions=

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o smtpd_data_restrictions=reject_unauth_pipelining

-o smtpd_end_of_data_restrictions=

-o mynetworks=127.0.0.0/8

-o smtpd_error_sleep_time=0

-o smtpd_soft_error_limit=1001

-o smtpd_hard_error_limit=1000

-o smtpd_client_connection_count_limit=0

-o smtpd_client_connection_rate_limit=0

-o  receive_override_options=no_header_body_checks,no_unknown_recipient_checks


E dúas liñas que evitarán que as mensaxes de reporte de spam sexan marcadas como spam, despois da etiqueta do servizo de transporte “pickup”, case ó comezo do ficheiro:

-o content_filter=

-o receive_override_options=no_header_body_checks


Xa podemos reiniciar o Postfix antes de comezar a facer probas.

invoke-rc.d postfix restart


A primeira proba consiste en verificar que o Amavis está activo: ten que respostar facéndolle telnet a localhost no porto 10024:

# telnet localhost 10024 

Trying 127.0.0.1... 

Connected to localhost. 

Escape character is '^]'.

220 [127.0.0.1] ESMTP amavisd-new service ready

quit 


As seguintes pasan por enviar correo spam e non spam a algún enderezo de correo válido do noso servidor, e en verificar que as cabeceiras teñen os campos de SpamAssassin: X-Spam-Status.

En caso de problemas, ou de precisar información sobre a actividade do sistema, o rexistro de eventos do correo atópase en /var/log/mail.log, onde vai quedando constancia de todo o que fai Postfix e os seus programas colaboradores.

Licenza desta guía

Esta guía forma parte da documentación de apoio para a capacitación TIC en SwL e foi elaborada pola empresa TEGNIX para o Centro de Referencia e Servizos de Software Libre de Galiza – Mancomún. Distribúese baixo as condicións dunha Licenza Creative Commons: Recoñecemento-CompartirIgual 3.0