Cum pot bloca anumite domenii sa trimită mail?

O situație care a impus găsirea imediată a unei soluții eficiente și simple a fost următoarea: am remarcat că mulți dintre clienții noștri primeau mesaje de tip spam provenind de la adrese de e-mail configurate pe domenii de tipul .space, .bid, .cn etc. Întrucât absolut toate aceste mesaje erau nesolicitate, blocarea integrală a tuturor mesajelor provenind de la adrese configurate pe această serie de .tld-uri nu ar fi periclitat sau interferat în vreun fel cu livrarea mesajelor dorite.

Astfel, am avut la dispoziție două soluții imediate:

  1. activarea și configurarea unor filtre complexe pentru SpamAssassin
  2. realizarea și configurarea unor filtre personalizate pentru Exim

Am optat pentru a doua variantă, din mai multe considerente.

Cum se configurează un filtru pentru Exim?

Așadar, am creat un fișier denumit inbound_tld_block, pe care l-am copiat în /usr/local/cpanel/etc/exim/sysfilter/options/ și l-am activat din WHM Home »Service Configuration »Exim Configuration Manager. La final, am restartat serviciul Exim.

Acum urmează partea cea mai interesantă a soluției, mai precis filtrul în sine.

Am plasat în fișierul inbound_tld_block următorul cod:

# Webgraphic's Filter to Block Domain Spam
# THESE RULES BLOCK MORE SPAM THAN ALL THE OTHER METHODS COMBINED!

if first_delivery
and (
("$h_from:" matches ".+@.+\\\\.asia[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.bid[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.click[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.cricket[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.date[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.ec[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.exercise[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.co.in[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.gen.in[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.net.in[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.link[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.ninja[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.party[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.review[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.rocks[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.science[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.space[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.stream[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.sk[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.uno[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.website[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.work[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.xyz[^a-zA-Z0-9_]")
or ("$h_from:" matches ".+@.+\\\\.za[^a-zA-Z0-9_]")
)
then
headers add "SpamRule: EXIM FILTER Block Unwanted Domains (was: $h_subject:)"
deliver "Catcher in the Rye <spam@webgraphic.ro>"
seen finish
endif

Am ales să adăugăm temporar în filtrul de mai sus un pas suplimentar la final, pentru a ne asigura că toate mesajele blocate sunt într-adevăr cele provenite de la tld-urile specificate și că nu sunt oprite de la livrare și mesaje obișnuite, care trebuie să ajungă în inbox.

Acest pas constă în adăugarea unui header suplimentar tuturor mesajelor blocate, pentru a le identifica cu ușurință, și apoi redirecționarea lor către o adresă de email temporară, cum ar fi spam@webgraphic.ro, pe care o vom verifica periodic, timp de o săptămână, pentru a ne asigura că filtrele funcționează corespunzător.