[Postfix] Integracja serwera pocztowego z czarnymi listami
Niechciana poczta stanowi zawsze spory kłopot zwłaszcza gdy nadchodzi w masowej ilości. Do filtrowania wykorzystywałem standardowo SpamAssassin'a jednak w ostatnim czasie jego skuteczność okazała się mizerna a na skrzynki mailowe docierać zaczęły coraz liczniejsze reklamy rzeczy "niezbędnych" ;) Przed SPAM'em trzeba się bronić zwłaszcza gdy wysyłany jest z maszyn ZOMBIE. Najskuteczniejsze w tym wypadku jest blokowanie niewiarygodnych serwerów i tak też działają czarne listy.
Wykorzystałem konfigurację opisaną przez Falko Timme'go na łamach HowtoForge rozszerzając delikatnie listę katalogów spamerskich adresów o wykaz ze strony dnsbl.info.
Timme opisuje konfigurację dla dwóch wersji Postfixa dlatego na początku warto sprawdzić jaką wersję posiadamy:
postconf -d | grep mail_version
Postfix 2.x
Otwieramy plik /etc/postfix/main.cf z ustawieniami postfixa i doklejamy na końcu następujące linijki. Warto sprawdzić czy poniższe linijki przypadkiem już nie istnieją w w/w pliku. Jeżeli tak jest należy je nadpisać. Domyślnie jednak standardowa konfiguracja postfix'a nie zawiera żadnego z poniższego wpisu.
[...]
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
invalid_hostname_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554
relay_domains_reject_code = 554
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_sender_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554
smtpd_recipient_restrictions =
reject_invalid_hostname,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client all.s5h.net,
reject_rbl_client bl.spamcannibal.org,
reject_rbl_client blacklist.woody.ch,
reject_rbl_client cdl.anti-spam.org.cn,
reject_rbl_client dnsbl-1.uceprotect.net,
reject_rbl_client dnsbl.anticaptcha.net,
reject_rbl_client dnsbl.inps.de,
reject_rbl_client drone.abuse.ch,
reject_rbl_client dyna.spamrats.com,
reject_rbl_client http.dnsbl.sorbs.net,
reject_rbl_client korea.services.net,
reject_rbl_client orvedb.aupads.org,
reject_rbl_client psbl.surriel.com,
reject_rbl_client relays.nether.net,
reject_rbl_client short.rbl.jp,
reject_rbl_client socks.dnsbl.sorbs.net,
reject_rbl_client spam.spamrats.com,
reject_rbl_client spamsources.fabel.dk,
reject_rbl_client virbl.bit.nl,
reject_rbl_client wormrbl.imp.ch,
reject_rbl_client zombie.dnsbl.sorbs.net,
reject_rbl_client b.barracudacentral.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client bogons.cymru.com,
reject_rbl_client combined.abuse.ch,
reject_rbl_client dnsbl-2.uceprotect.net,
reject_rbl_client dnsbl.cyberlogic.net,
reject_rbl_client dnsbl.sorbs.net,
reject_rbl_client duinv.aupads.org,
reject_rbl_client dynip.rothen.com,
reject_rbl_client ips.backscatterer.org,
reject_rbl_client misc.dnsbl.sorbs.net,
reject_rbl_client pbl.spamhaus.org,
reject_rbl_client rbl.megarbl.net,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client singular.ttk.pte.hu,
reject_rbl_client spam.abuse.ch,
reject_rbl_client spambot.bls.digibase.ca,
reject_rbl_client ubl.lashback.com,
reject_rbl_client virus.rbl.jp,
reject_rbl_client xbl.spamhaus.org,
reject_rbl_client bl.emailbasura.org, // ta lista jest wyjątkowo restrykcyjna i blokuje nawet gmail'a - nie zalecam
reject_rbl_client blackholes.five-ten-sg.com,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client db.wpbl.info,
reject_rbl_client dnsbl-3.uceprotect.net,
reject_rbl_client dnsbl.dronebl.org,
reject_rbl_client drone.abuse.ch,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client exitnodes.tor.dnsbl.sectoor.de,
reject_rbl_client ix.dnsbl.manitu.net,
reject_rbl_client noptr.spamrats.com,
reject_rbl_client proxy.bl.gweep.ca,
reject_rbl_client relays.bl.gweep.ca,
reject_rbl_client service.mailblacklist.com,
reject_rbl_client smtp.dnsbl.sorbs.net,
reject_rbl_client spam.dnsbl.sorbs.net,
reject_rbl_client spamrbl.imp.ch,
reject_rbl_client ubl.unsubscore.com,
reject_rbl_client web.dnsbl.sorbs.net,
reject_rbl_client zen.spamhaus.org,
permit
Na zakończenie restartujemy Postfix'a
/etc/init.d/postfix restart
Jest wysoce prawdopodobne, iż w tej chwili na ekranie wyświetlone zostaną liczne powiadomienia i ostrzeżenia.
Postfix 1.x
Tak samo jak dla wersji 2.x otwieramy plik /etc/postfix/main.cf, a następnie doklejamy na końcu poniższe linijki. Wcześniej jednak sprawdzamy, czy wspomniane linie istnieją już w pliku main.cf. Jeżeli tak jest nadpisujemy je właściwą konfiguracją.
[...]
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
invalid_hostname_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554
relay_domains_reject_code = 554
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_sender_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554
maps_rbl_domains =
all.s5h.net,
bl.spamcannibal.org,
blacklist.woody.ch,
cdl.anti-spam.org.cn,
dnsbl-1.uceprotect.net,
dnsbl.anticaptcha.net,
dnsbl.inps.de,
drone.abuse.ch,
dyna.spamrats.com,
http.dnsbl.sorbs.net,
korea.services.net,
orvedb.aupads.org,
psbl.surriel.com,
relays.nether.net,
short.rbl.jp,
socks.dnsbl.sorbs.net,
spam.spamrats.com,
spamsources.fabel.dk,
virbl.bit.nl,
wormrbl.imp.ch,
zombie.dnsbl.sorbs.net,
b.barracudacentral.org,
bl.spamcop.net,
bogons.cymru.com,
combined.abuse.ch,
dnsbl-2.uceprotect.net,
dnsbl.cyberlogic.net,
dnsbl.sorbs.net,
duinv.aupads.org,
dynip.rothen.com,
ips.backscatterer.org,
misc.dnsbl.sorbs.net,
pbl.spamhaus.org,
rbl.megarbl.net,
sbl.spamhaus.org,
singular.ttk.pte.hu,
spam.abuse.ch,
spambot.bls.digibase.ca,
ubl.lashback.com,virus.rbl.jp,
xbl.spamhaus.org,
bl.emailbasura.org,
blackholes.five-ten-sg.com,
cbl.abuseat.org,
db.wpbl.info,dnsbl-3.uceprotect.net,
dnsbl.dronebl.org,
drone.abuse.ch,
dul.dnsbl.sorbs.net,
exitnodes.tor.dnsbl.sectoor.de,
ix.dnsbl.manitu.net,
noptr.spamrats.com,
proxy.bl.gweep.ca,
relays.bl.gweep.ca,
service.mailblacklist.com,
smtp.dnsbl.sorbs.net,
spam.dnsbl.sorbs.net,
spamrbl.imp.ch,
ubl.unsubscore.com,
web.dnsbl.sorbs.net,
zen.spamhaus.org
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_maps_rbl,
check_relay_domains
Na zakończenie restartujemy Postfix'a
/etc/init.d/postfix restart
Źródła:
HowtoForge - How To Block Spam Before It Enters The Server (Postfix)
DNSBL.info - SPAM Database Lookup
Dodaj komentarz