Kako namestiti milter-greylist Spam blokiranje v Sendmail
Praktično vse distribucije linux vključujejo sendmail kot privzeto MTA. Kar je v redu - to je bilo že dolgo časa, je stabilno in deluje odlično (čeprav se morda strinjanje s postfixom ne strinja!). Vendar pa nima nič vgrajenega za nadzor spam, ki je dober; ni bil zasnovan za to. Torej ste namestili spamassassin in deluje dobro, vendar še vedno dobivate nezaželeno e-pošto z neželeno pošto. Morda boste morali poskusiti greylisting.
Greylisting je postopek, s katerim se vsa e-pošta (razen če je izrecno na seznamu dovoljenih) na začetku zavrne, vendar deluje v okviru parametrov različnih RFC, da se zagotovi morebitno prejemanje e-pošte. Zamisel je, da pošiljatelji neželene elektronske pošte ne bodo poskušali ponovno vzpostaviti povezave z e-poštnim strežnikom, ki je zavrnil njihovo ponudbo, vendar bodo imeli legitimni poštni strežniki. To ni zanesljivo - pošiljatelji neželene elektronske pošte se hitro prilagajajo in greylisting že dolgo časa. Ampak pomaga.
Ta članek je o tem, kako namestiti milter-greylist, ki je bil prvotno napisal Emmanuel Dreyfus. Tukaj se bom osredotočil na sendmail, vendar je milter-greylist podprt tudi s postfixom.
Najprej preverite odvisnosti. Iz README:
Zgradite odvisnosti:
- flex (AT&T lex ne more graditi milter-greylist virov)
- yacc ali bison (nekateri starejši yacc ne bodo uspeli, namesto tega uporabite bizona)
- libmilter (prihaja z Sendmail ali s programom sendmail-devel
paket za RedHat, Fedora in SuSE. Debian in Ubuntu ju imata
v libmilter-dev)
- Vse knjižnice niti POSIX (ki jih v nekaterih sistemih zagotavlja libc)Izbirne odvisnosti:
- libspf2, libspf_alt ali libspf, za podporo SPF
- libcurl, za podporo pri preverjanju URL-jev
- libGeoIP, za podporo GeoIP
- libbind iz BIND 9, za podporo DNSRBL, razen če ima vaš sistem vgrajen razčlenjevalnik DNS z varnim nitem.
Vendar bo proces konfiguracije našel vse, kar nimate nameščenega, in se pritožite, dokler se ne odpravi odvisnost.
Nato prenesite greylist-milter iz http://hcpnet.free.fr/milter-greylist in razpakirajte tarball. Nato preberite datoteko README! Vključuje veliko informacij, ki niso zajete v tem članku, zlasti za namestitve, ki želijo / potrebujejo posebne funkcije, kot je podpora SPF.
In naredite običajno
./ configure
./ make
./ make install
Standardna namestitev bo postavila binarne datoteke v / usr / local / bin, bazo podatkov in pid datoteko v / var / milter-greylist in konfiguracijska datoteka bo /etc/mail/greylist.conf. Nekateri zagonski skripti so vključeni v tarball, vendar se ne namestijo samodejno. Če ga želite uporabiti, jo boste morali nastaviti v svojem /etc/init.d sami.
Nato boste morali konfigurirati sendmail za dejansko uporabo milterja. V datoteki sendmail.mc dodajte naslednje (vendar bodite pozorni na opozorila v datoteki README, če že uporabljate druge milters v namestitvi!):
INPUT_MAIL_FILTER ('greylist', 'S = lokalni: /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
in znova konfigurirajte datoteko sendmail.cf:
# m4 sendmail.mc> sendmail.cf
Vendar pa še ne zaženite demona sendmaila - še vedno moramo spremeniti konfiguracijo, da bo to pravilno delovalo.
Odprite /etc/mail/greylist.conf v priljubljenem urejevalniku (kar je seveda vi, kajne?).
Odstranite komentar ali dodajte naslednje:
tih
greylist 7m
dumpfreq 1d
autowhite 10d
V zgornji konfiguraciji »tiho« ne bo vključeval časovnega okvira za ponovni vnos. To je dobro, tako da spammerji ne morejo vedeti, kako dolgo bodo blokirani. Greylisting bo trajal 7 minut, po katerem bo sprejeta e-pošta iz vira, vsebina baze podatkov bo dampinirana v /var/milter-greylist/greylist.db enkrat na dan, in ko bo e-pošta sprejeta iz vira, bo ta vir bo na seznamu belih listov 10 dni, preden bo spet poimenovan.
Ustvarite tudi sezname za seznam dovoljenih lastnih omrežij v konfiguracijsko datoteko:
seznam "moje omrežje" addr 127.0.0.1/8 10.230.1.0/24 192.168.1.0/24
ki bo omogočal lokalno, DMZ in notranja omrežja (kot primer - vaši so verjetno drugačni). Opazujte prostor med omrežnimi naslovi, ne vejic.
Skupaj z drugimi zunanjimi omrežji, ki jim je vedno zaupano:
# Zaupanja vredna omrežja, ki ne želijo vnesti greylist:
seznam "zaupanja vreden"
207.46.0.0/16 # Microsoft
72.33.0.0/16 # UW Madison
Obstaja precej obsežen seznam "zlomljenih" strežnikov za pošiljanje v konfiguracijski datoteki, ki so prav tako vedno na seznamu dovoljenih, saj bi jih najverjetneje povzročili, da nikoli ne bodo dobili e-pošte od njih. Na ta seznam lahko dodate po potrebi tudi, če je to potrebno.
Najverjetneje boste kot privzeto nastavili greylisting, zato boste morda želeli dodati tudi nekatere uporabnike, ki nikoli ne želijo zamujati z e-pošto (različni pompozni podpredsedniki, naslovi sistemskih opozoril in podobno):
# Seznam uporabnikov, ki želijo sezname dovoljenih (če je privzet znak Greylisting):
seznam "beli uporabniki" rcpt
[email protected]
[email protected]
[email protected]
Obveščajte se o seznamu »mojega omrežja«, »zaupanja vrednih« in »belih uporabnikov« - morate jih dodati v dejansko konfiguracijsko vrstico s seznamom dovoljenih:
# In tukaj je dostopni seznam
seznam bele liste "moja mreža"
seznam bele liste "slomljen mta"
seznam bele liste racl "zaupanja vreden"
seznam bele liste "beli uporabniki"
Opomba: To možnost lahko nastavite tudi na seznam dovoljenih, kot privzeto, v tem primeru pa ustvarite tudi seznam sivih uporabnikov tistih folk, za katere želite, da so vedno podrejeni. To bi vključevalo napačne uporabnike, ki objavljajo svoj e-poštni naslov po vseh spletnih mestih družabnih omrežij, prodajnih spletnih mest in naročnin na glasila, seveda.
In nato konfigurirajte privzeto delovanje milter-greylist:
racl greylist privzeto
(če želite, da je bela listina privzeta operacija, uporabite privzeti seznam bele liste.
In potem poženite vaš binarni milter-greylist z uporabo zagonskega skripta /etc/init.d/milter-rereist ali
# milter-greylist -f /etc/mail/greylist.config
v ukazni vrstici. Obstaja še nekaj drugih možnosti ukazne vrstice (številne od teh dvojnikov so nastavljene v datoteki conf). Glej
človek milter-greylist
za več podrobnosti.
Nato ponovno zaženite demona sendmaila in uživajte v manj neželeni elektronski pošti, ki pride na vaš poštni strežnik.