Home > Info, Spam, Tips&Trix > Bekämpa SPAM med milter-greylist och milter-regex

Bekämpa SPAM med milter-greylist och milter-regex

August 10th, 2009 Leave a comment Go to comments

Tänkt skriva lite om hur jag bekämpar spam på min hemma server, vissa regler kan vara för hårda för en mailserver för en arbetsplats, speciellt dom i milter-regex. Men anpassa dom efter dina behov.

Utan dessa regler får jag ca: 20 SPAM om dagen, med reglerna får jag högst 1 spam i månaden, nackdelen är att mail blir fördröjda (p.g.a greylistningen) men det kan jag leva med.

Program jag använder: sendmail, milter-greylist och milter-regex

milter-greylist

Detta program lägger på greylist filtret, här tog jag standardkonfigurationen som följde med paketet, det enda jag gjorde var att vitlistade mitt hemma nätver och satte greylistning som default:

# Your own network, which should not suffer greylisting
list "my network" addr { 127.0.0.1/8 192.168.0.0/24 }

och

racl greylist default

milter-regex

Milter-regex är ett lite trevligt filter där man utifrån reguljära uttryck hindra/fördröja/godkänna mail.

Jag använder 2 regler:

Denna regler hindrar mailservrar som inte är registrerade i DNS systemen, dom får en temporärt fel om det skulle vara så att det blivit något fel i DNS uppslagningen så att dom kan försöka igen.

# Tempfailing non-resolving rDNS connections
tempfail "Sender IP address not resolving"
connect /\[.*\]/ //

Den andra regeln stoppar alla mail från maskiner där ip-namnet på maskinen ser ut som en dynamsik adress, ex. har ip-adressen i namnet som många ISP’er har på sina ip-adresser som deras privatanvändare får. Denna regel kan vara för hård så fundera lite på om du verkligen vill använda den.

# reject things that look like they might come from a dynamic address
reject "Looks like a dynamic address"
connect /[0-9][0-9]*\-[0-9][0-9]*\-[0-9][0-9]*/ //
connect /[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*/ //
connect /[0-9]{12}/e //

sendmail

Till sist så skall man konfigurera sendmail att använda dessa filter, jag brukar inte gå in och “hacka” i sendmail.cf filen direkt numera utan använder sendmail.mc filen för att sedan generera sendmail.cf filen.

Lägg till dessa rader sist i sendmail.mc filen:

INPUT_MAIL_FILTER(`milter-regex', `S=unix:/var/spool/milter-regex/sock', `T=S:30s,R:2m')
INPUT_MAIL_FILTER(`greylist',`S=local:/var/run/milter-greylist/milter-greylist.sock')dnl
define(`confMILTER_MACROS_CONNECT', `H, j, _, {daemon_name}, {daemon_port}, {if_name}, {if_addr}, {client_addr}')
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')dnl
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')dnl
define(`confMILTER_MACROS_ENVRCPT', `{greylist}')dnl

Skapa sedan sendmail.cf filen, det gör man enklast att man går till katalogen med sendmail.cf och sendmail.mc filen och ger kommandot:

make sendmail.cf

Därefter är det bara att starta milter-regex, milter-greylist och sendmail i den ordningen.

Välkommen till en SPAM fri värld, iallafall vad gäller mail till din mailserver!

  1. No comments yet.
  1. No trackbacks yet.
*