Slik konfigurerer du milter-greylist Spam-blokkering i Sendmail
Nesten alle Linux-distribusjoner inkluderer sendmail som standard MTA. Det er greit - det har eksistert lenge, er stabilt og det fungerer bra (selv om postfix afficionados kan være uenig!). Men det har ingenting bygget inn for spamkontroll som er bra; det var ikke designet for det. Så du har installert spamassassin, og det fungerer bra, men du får fremdeles unflagged spam e-post gjennom. Kanskje du må prøve greylisting.
Greylisting er prosessen hvor alle e-postmeldinger (med mindre det er spesifikt whitelisted) blir initialt avvist, men fungerer innenfor parametrene til de ulike RFCene for å sikre mottak av e-post. Tanken er at spammere ikke vil forsøke å koble til en e-postserver som har avvist sine tilbud, men legitime e-postservere vil. Det er ikke idiotsikkert - spammere er raske til å justere og greylisting har eksistert lenge. Men det hjelper.
Denne artikkelen handler om hvordan man installerer milter-greylist som opprinnelig ble skrevet av Emmanuel Dreyfus. Jeg vil konsentrere meg med sendmail her, men milter-greylist støttes også med postfix.
Først må du sjekke dine avhengigheter. Fra README:
Bygg avhengigheter:
- flex (AT & T lex kan ikke bygge milter-greylist kilder)
- yacc eller bison (noen eldre yacc vil mislykkes, bruk bison i stedet)
- libmilter (leveres med Sendmail, eller med sendmail-devel
pakke på RedHat, Fedora og SuSE. Debian og Ubuntu har det
i libmilter-dev)
- Ethvert POSIX-tråderbibliotek (Leveres av libc på enkelte systemer)Valgfrie avhengigheter:
- libspf2, libspf_alt eller libspf, for SPF-støtte
- libcurl, for URL sjekker støtte
- libGeoIP, for GeoIP-støtte
- libbind fra BIND 9, for DNSRBL-støtte, bortsett fra hvis systemet har en trådsikker DNS-resolver innebygd.
Men konfigurasjonsprosessen vil finne alt du ikke har installert og klage til avhengigheten er løst.
Deretter laster du ned greylist-milter fra http://hcpnet.free.fr/milter-greylist og pakker ut tarballen. Les deretter README-filen! Den inneholder et vell av informasjon som ikke er dekket i denne artikkelen, spesielt for installasjoner som vil / må inneholde spesielle funksjoner som SPF-støtte.
Og gjør det vanlige
./ configure
./gjøre
./ gjør installasjon
Standardinstallasjonen vil sette binærene i / usr / local / bin, databasen og pid-filen i / var / milter-greylist og konfigurasjonsfilen vil bli /etc/mail/greylist.conf. Noen oppstartskript er inkludert i tarball men de er ikke installert automatisk. Du må sette det opp i din /etc/init.d selv hvis du vil bruke en.
Du må da konfigurere sendmail for å faktisk bruke milteren. I din sendmail.mc-fil legger du til følgende (men vær oppmerksom på advarslene i README-filen hvis du allerede bruker andre milter i installasjonen din!):
INPUT_MAIL_FILTER ( 'grålister', 'S = lokal: /var/milter-greylist/milter-greylist.sock') dnl
define ('confMILTER_MACROS_CONNECT', 'j, if_addr') dnl
define ('confMILTER_MACROS_HELO', 'verifisere, cert_subject') dnl
define ('confMILTER_MACROS_ENVFROM', 'jeg, auth_authen') dnl
define ('confMILTER_MACROS_ENVRCPT', 'greylist') dnl
og omkonfigurer sendmail.cf-filen din:
# m4 sendmail.mc> sendmail.cf
Ikke start opp sendmail-demonen din ennå, men vi må fortsatt endre konfigurasjonen for at dette skal fungere skikkelig.
Åpne /etc/mail/greylist.conf i favorittredigeren din (som selvfølgelig er vi, ikke sant?).
Uncomment eller legg til følgende:
stille
greylist 7m
dumpfreq 1d
autowhite 10d
I den ovennevnte konfigurasjonen vil "stille" ikke inkludere en tidsramme for å prøve på nytt. Dette er bra, slik at spammere ikke kan vite hvor lenge de vil bli blokkert. Greylisting vil være i 7 minutter, etter hvilken e-post fra kilden vil bli akseptert, vil databaseinnholdet bli dumpet til /var/milter-greylist/greylist.db en gang per dag, og når en e-post er akseptert fra en kilde, er den kilden vil bli hvitlistet i 10 dager før det blir greylisted igjen.
Lag også lister til hviteliste dine egne nettverk til konfigurasjonsfilen:
liste "mitt nettverk" addr 127.0.0.1/8 10.230.1.0/24 192.168.1.0/24
som vil hviteliste lokale, DMZ og interne nettverk (som et eksempel - din er sannsynligvis annerledes). Legg merke til mellomrom mellom nettverksadresser, ikke komma.
Sammen med andre eksterne nettverk som alltid er klarert:
# Tillit til nettverk som ikke er greylist:
liste "klarert" addr
207.46.0.0/16 # Microsoft
72.33.0.0/16 # UW Madison
Det er en ganske omfattende liste over "ødelagte" e-postservere i konfigurasjonsfilen som også alltid skal være hvitelistet, ettersom greylisting dem mest sannsynlig vil resultere i at du aldri får e-post fra dem. Du kan legge til listen som nødvendig også hvis du trenger det.
Du vil mest sannsynlig sette opp greylisting som standard, så du vil kanskje også fortelle bestemte brukere som aldri vil at e-post skal bli forsinket (ulike pompøse visepresidente, systemvarslingsadresser og lignende):
# Liste over brukere som vil ha hvitlisting (hvis greylisting er standard):
liste "hvite brukere" rcpt
[email protected]
[email protected]
[email protected]
Legg merke til listenavnene på "mitt nettverk", "klarerte" og "hvite brukere" - du må legge til disse i den faktiske whitelisting config-linjen:
# Og her er tilgangslisten
racl whitelist liste "mitt nettverk"
racl whitelist liste "broken mta"
racl whitelist liste "klarert"
racl whitelist liste "hvite brukere"
Merk: Du kan også sette dette opp til hvitelisten som standard. I så fall vil du også opprette en "grå bruker" -liste over de folkene du alltid vil være gjenstand for greylisting. De vil inkludere errant brukere som legger inn sin e-postadresse på arbeidsplassen over sosiale nettsider, salgssider og nyhetsbrevabonnementer selvfølgelig.
Og konfigurer deretter standardoperasjonen av milter-greylist:
racl greylist standard
(bruk racl whitelist standard hvis du vil at whitelisting skal være standardoperasjonen).
Og så brann opp din milter-greylist binære enten ved hjelp av /etc/init.d/milter-greylist oppstartskript eller ved
# milter-greylist -f /etc/mail/greylist.config
på kommandolinjen. Det er en rekke andre kommandolinjealternativer (mange av hvilke duplikatparametere som er satt i konf filen). Se
mann milter-greylist
for ytterligere detaljer.
Og så start din sendmail-daemon og nyt mindre spam som kommer inn på e-postserveren din.