Kako postaviti milter-greylist Spam blokiranje u Sendmailu
Gotovo sve distribucije Linuxa uključuju sendmail kao zadani MTA. Što je u redu - to je već duže vrijeme, stabilno je i radi sjajno (iako se postfix aficionados možda ne slaže!). Ali nema ništa ugrađenog u kontrolu spama što je dobro; nije bio namijenjen za to. Dakle, instalirali ste spamassassin i dobro radi, ali još uvijek dobivate neželjene spam poruke. Možda trebate pokušati greylisting.
Greylisting je proces kojim se sva e-pošta (osim ako nije izričito dopuštena) dobiva u početku odbijena, ali radi unutar parametara različitih RFC-ova kako bi se osiguralo eventualno primanje e-pošte. Ideja je da spameri neće pokušati ponovno uspostaviti vezu s poslužiteljem e-pošte koji je odbio njihovu ponudu, već će i legitimni poslužitelji e-pošte. Nije siguran - spameri se brzo prilagođavaju, a greylisting već duže vrijeme traje. Ali pomaže.
Ovaj članak govori o tome kako instalirati milter-greylist koji je izvorno napisao Emmanuel Dreyfus. Ovdje ću se koncentrirati na sendmail, ali milter-greylist također podržava postfix.
Prvo provjerite svoje ovisnosti. Iz README:
Izradite ovisnosti:
- flex (AT&T lex ne može graditi milter-greylist izvore)
- yacc ili bison (neki stariji yacc neće uspjeti, umjesto toga upotrijebite bizona)
- libmilter (dolazi s Sendmailom ili s programom sendmail
paket na RedHat, Fedora i SuSE. Debian i Ubuntu ga imaju
u libmilter-dev)
- Bilo koja knjižnica POSIX niti (pruža se na libc na nekim sustavima)Izborne ovisnosti:
- libspf2, libspf_alt ili libspf, za SPF podršku
- libcurl, za podršku provjere URL-a
- libGeoIP, za GeoIP podršku
- libbind iz BIND 9, za DNSRBL podršku, osim ako vaš sustav ima ugrađeni DNS resolver.
No proces konfiguracije će pronaći sve što niste instalirali i žalite se dok se ne riješi problem ovisnosti.
Zatim preuzmite greylist-milter iz http://hcpnet.free.fr/milter-greylist i raspakirajte tarball. Zatim pročitajte datoteku README! To uključuje obilje informacija koje nisu obuhvaćene ovim člankom, posebno za instalacije koje žele / trebaju uključiti posebne značajke kao što je SPF podrška.
I učinite uobičajeno
./konfigurirati
./napraviti
./ make install
Standardna instalacija će staviti binarne datoteke u / usr / local / bin, bazu podataka i pid datoteku u / var / milter-greylist, a konfiguracijska datoteka će biti /etc/mail/greylist.conf. Neke skripte za pokretanje uključene su u tarball, ali se ne instaliraju automatski. Morat ćete ga sami postaviti u svoj /etc/init.d ako ga želite koristiti.
Tada ćete morati konfigurirati sendmail da zapravo koristi milter. U datoteci sendmail.mc dodajte sljedeće (ali obratite posebnu pozornost na upozorenja u datoteci README ako već upotrebljavate druge miltere u instalaciji!):
INPUT_MAIL_FILTER ( 'greylist' 'S = lokalno: /var/milter-greylist/milter-greylist.sock') DNL
define ('confMILTER_MACROS_CONNECT', 'j, if_addr') dnl
define ('confMILTER_MACROS_HELO', 'verify, cert_subject') dnl
define ('confMILTER_MACROS_ENVFROM', 'i, auth_authen') dnl
define ('confMILTER_MACROS_ENVRCPT', 'greylist') dnl
i ponovo konfigurirajte datoteku sendmail.cf:
# m4 sendmail.mc> sendmail.cf
Ipak, nemojte ponovno pokrenuti sendmail demon - međutim, još uvijek moramo izmijeniti konfiguraciju da bi to ispravno funkcioniralo.
Otvorite /etc/mail/greylist.conf u svom omiljenom uređivaču (koji je, naravno, vi, zar ne?).
Poništi komentar ili dodajte sljedeće:
miran
greylist 7m
dumpfreq 1d
autowhite 10d
U gore navedenoj konfiguraciji, "tihi" neće uključivati vremenski okvir za ponovni postupak. To je dobro, tako da nema načina da spameri znaju koliko će dugo biti blokirani. Greylisting će trajati 7 minuta, nakon čega će biti prihvaćena e-pošta iz izvora, sadržaj baze podataka bit će poslan na /var/milter-greylist/greylist.db jednom dnevno, a nakon prihvaćanja e-pošte iz izvora taj izvor bit će na bijeloj listi 10 dana prije ponovne pohrane.
Također kreirajte popise za popis vlastitih mreža u konfiguracijsku datoteku:
popis "moja mreža" addr 127.0.0.1/8 10.230.1.0/24 192.168.1.0/24
koji će omogućiti popis lokalnih, DMZ i unutarnjih mreža (kao primjer - vaši su vjerojatno različiti). Zabilježite razmak između mrežnih adresa, ne zarezi.
Uz ostale vanjske mreže kojima se uvijek vjeruje:
# Pouzdane mreže ne prikazuju greylist:
popis "pouzdanih" adresa
207.46.0.0/16 # Microsoft
72.33.0.0/16 # UW Madison
Tu je prilično sveobuhvatan popis 'slomljenih' mailer poslužitelja u konfiguracijskoj datoteci koji su također uvijek na bijeloj listi jer bi ih greylisting najvjerojatnije rezultirao da nikada ne dobijete e-poštu od njih. Ako je potrebno, na taj popis možete dodati i po potrebi.
Najvjerojatnije ćete postaviti greylisting kao zadani, pa ćete možda htjeti i dopustiti određene korisnike koji nikada ne žele odgoditi slanje e-pošte (razne pompezne potpredsjednice, adrese upozorenja sustava i slično):
# Popis korisnika koji žele popise dopuštenih stavki (ako je standardno postavljen greylisting):
popis "bijeli korisnici" rcpt
[email protected]
[email protected]
[email protected]
Primijetite nazive popisa "moja mreža", "pouzdani" i "bijeli korisnici" - morate ih dodati u stvarnu konfiguracijsku liniju dopuštenih:
# I ovdje je popis za pristup
popis rasnih popisa "moja mreža"
popis bijelih lista racl "slomljena mta"
popis rasnih popisa "pouzdanih"
popis rasnih popisa "bijeli korisnici"
Napomena: Možete postaviti i ovu postavku na bijelu listu kao zadanu, u kojem slučaju ćete izraditi i popis "sivih korisnika" za one folke koje želite uvijek podvrgnuti greylingu. To bi uključivalo pogrešne korisnike koji svoju poslovnu adresu e-pošte objavljuju na svim web-lokacijama društvenih mreža, prodajnim web-lokacijama i pretplatama na biltene, naravno.
Zatim konfigurirajte zadani rad milter-greylista:
racl greylist default
(upotrijebite racl whitelist default ako želite da je bijela lista zadana operacija).
Zatim pokrenite svoj binarni milter-greylist pomoću skripte za pokretanje /etc/init.d/milter-rereist ili
# milter-greylist -f /etc/mail/greylist.config
na naredbenom retku. Postoji mnogo drugih opcija naredbenog retka (mnogi od njih su duplicirani parametri u conf datoteci). Vidjeti
čovjek milter-greylist
za više pojedinosti.
Zatim ponovo pokrenite sendmail daemon i uživajte u manje neželjenih poruka koje dolaze na vaš poslužitelj e-pošte.