E-mail heeft zich stevig gevestigd als de standaard voor zakelijke communicatie. Dankzij de hoge economische efficiëntie van e-mails en een aantal kenmerken die verband houden met het citeren van tekst en het bijvoegen van bijlagen, zijn e-mails bij uitstek geschikt als universele methode voor documentuitwisseling en beleefde zakelijke communicatie. Deze kenmerken zijn ook de reden waarom spammers zo dol zijn op e-mail. Tegenwoordig vertegenwoordigt e-mail een enorme, woelige oceaan van spam, waarin slechts sporadisch zakelijke berichten opduiken. Daarom is een van de belangrijkste taken van de beheerder van elke mailserver het beschermen tegen spam-berichten. Laten we eens kijken naar wat we hieraan kunnen doen in Zimbra Collaboration Suite Open-Source Edition.

Ondanks de gratis aard van de oplossing kan Zimbra OSE een systeembeheerder tal van uiterst effectieve tools bieden om het probleem van ongewenste e-mails aan te pakken. We hebben al geschreven over tools zoals Amavis, SpamAssassin, ClamAV en cbpolicyd, die betrouwbare filtering van binnenkomende e-mail mogelijk maken, waarbij spam-berichten, evenals besmette en phishing-e-mails worden gefilterd. Een belangrijk nadeel van deze tools is echter dat ze allemaal werken met al ontvangen e-mailberichten en systeembronnen verbruiken voor het filteren van nutteloze berichten, terwijl die bronnen veel beter kunnen worden benut. Maar wat als uw onderneming in het vizier is gekomen van een groot botnet dat constant uw mailserver bombardeert met zoveel junk-e-mails dat een groot deel van de servercapaciteit van de MTA alleen al aan de filtering ervan moet worden besteed?
In theorie kan bescherming hiertegen worden geboden door een cloudservice voor het filteren van inkomende e-mail te gebruiken, maar in de praktijk is deze beveiligingsmethode niet voor elk bedrijf geschikt. Dit komt doordat je derden de verwerking van niet alleen spam, maar ook zakelijke correspondentie moet toevertrouwen, wat niet altijd veilig is en vaak in strijd is met het beveiligingsbeleid van het bedrijf. Bovendien ontstaan er risico's met betrekking tot de betrouwbaarheid van de cloudspamfilter. Een oplossing voor deze situatie kan zijn om de server eigenhandig te beschermen. Voor dit doel is in Zimbra de utility Postscreen ingebouwd, die is ontworpen om de mailserver te beschermen tegen berichten die door botnets worden verzonden, zonder de mailserver daarbij te belasten.
De werking van Postscreen is eenvoudig: deze utility controleert alle verzoeken om verbinding te maken met de mailserver server en laat geen verbinding maken met de server door klanten die verdacht voorkomen. Volgens statistieken wordt ongeveer 90% van de spam wereldwijd namelijk verzonden door botnets, daarom wordt Postscreen vaak gebruikt als de eerste verdedigingslinie voor de mailserver tegen ongewenste e-mailcampagnes. Hierdoor kan de mailserver stabiel blijven functioneren zonder overbelasting, zelfs onder zware spamaanvallen van grote botnets.
Het principe van de werking van Postscreen is vrij eenvoudig: de utility kan een aantal eenvoudige controles uitvoeren op inkomende berichten voordat deze naar de mailserver of andere diensten worden gestuurd, die een diepgaandere en gedetailleerdere controle op inkomende berichten uitvoeren. Elke controle kan, afhankelijk van de uitkomst, succesvol zijn of niet. Op basis van de resultaten van elke controle kan Postscreen een van de drie acties toepassen, zoals gekozen door de Zimbra-beheerder: Drop, Ignore of Enforce. De actie Drop forceert het verbreken van de verbinding met de client in het geval de controle niet is geslaagd, terwijl de actie Ignore de resultaten van de controle negeert bij het nemen van de uiteindelijke beslissing, maar hierbij informatie en statistieken over de uitgevoerde controles verzamelt, en de actie Enforce laat de resultaten van de uitgevoerde controles meewegen in de uiteindelijke beslissing, maar blijft alle tests uitvoeren die door de systeembeheerder zijn gepland.
Een eenvoudig werkingsprincipe betekent niet dat het eenvoudig is in gebruik en configuratie. Het probleem is dat een verkeerd geconfigureerde Postscreen de reden kan zijn waarom verschillende belangrijke e-mails het doel niet bereiken. Daarom moet de configuratie van een krachtig hulpmiddel zoals Postscreen met grote voorzichtigheid worden uitgevoerd en voortdurend getest worden op gedrag in verschillende situaties.
Postscreen is standaard ingeschakeld in Zimbra, maar velen zullen wellicht niet tevreden zijn met de standaardconfiguratie. Nu gaan we de veiligste en risicoloze manier om Postscreen in te stellen bekijken. Het komt erop neer dat na een mislukking van een van de controles, Postscreen de verbinding met de client niet zomaar verbreekt, maar alle controles tot het einde uitvoert. Als deze controles zijn mislukt, wordt een foutmelding gegeven. Dit stelt een echte afzender in staat om te worden geïnformeerd over de niet-levering van de e-mail indien Postscreen het als spam beschouwt. Dit wordt bereikt door de waarde enforce in de parameters voor controles in te stellen. Deze waarde zorgt ervoor dat de lopende controles tot het einde worden uitgevoerd, zonder de verbinding met de client te verbreken bij de eerste mislukking, maar desondanks de spam-e-mail blokkeert en deze niet op de server aflevert.
Om de benodigde controles in te schakelen, moet je de volgende commando's invoeren:
zmprov mcf zimbraMtaPostscreenDnsblSites ‘b.barracudacentral.org=127.0.0.2*7’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.[10;11]*8’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.[4..7]*6’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.3*4’ zimbraMtaPostscreenDnsblSites ‘zen.spamhaus.org=127.0.0.2*3’
Dit commando voegt een DNS-controle toe voor binnenkomende verbindingen op de twee meest populaire publieke spamdatabases en rateert e-mails op basis van welke database het e-mailadres van de afzender wordt gevonden. Hoe meer strafpunten de client verzamelt, des te waarschijnlijker het is dat hij spammer is.
zmprov mcf zimbraMtaPostscreenDnsblAction enforce
Dit commando bepaalt de actie die wordt ondernomen na het uitvoeren van de DNS-controle. In dit geval wordt het resultaat van de controle opgeslagen, terwijl de e-mail verdere tests blijft ondergaan.
zmprov mcf zimbraMtaPostscreenGreetAction enforce
Aangezien de SMTP-protocol, na de directe verbinding, als eerste communiceert met de cliënt, kan Postscreen de cliënt begroeten. Veel spam-clients beginnen echter al met het verzenden van commando's zonder te wachten op de begroeting, waardoor ze gemakkelijk te herkennen zijn. Dit commando maakt het mogelijk om de resultaten van deze controle te registreren, terwijl verdere tests kunnen worden uitgevoerd.
zmprov mcf zimbraMtaPostscreenNonSmtpCommandAction drop
In het kader van deze controle stelt Postscreen in staat om verbindingen uit te sluiten die niet van e-mailclients afkomstig zijn. Aangezien ze geen e-mails verzenden, kunnen ze zonder enige bezorgdheid van de server worden afgesloten.
zmprov mcf zimbraMtaPostscreenPipeliningAction enforce
Deze controle is gebaseerd op het feit dat een client standaard in het SMTP-protocol slechts één commando tegelijk kan verzenden en vervolgens op een antwoord van de server kan wachten. Veel spam-bots gedragen zich echter anders door meerdere commando's te verzenden zonder op een antwoord te wachten. Dit maakt het bijna foutloos mogelijk om spam-bots te identificeren.
In principe zijn deze controles voor Postscreen meer dan voldoende om de meeste spam-bots van de server te filteren en een aanzienlijke vermindering van de belasting van uw e-mailserver te bereiken. Levensechte mensen ontvangen echter een bericht dat hun e-mail niet is afgeleverd, wat het risico op het verliezen van belangrijke e-mails door Postscreen-instellingen aanzienlijk vermindert. Mocht dit gebeuren, dan kunt u een betrouwbare afzender aan de witte lijst van Postscreen toevoegen. Om witte en zwarte lijsten voor Postscreen aan te maken, moet u eerst een bestand aanmaken. /opt/zimbra/conf/postfix/postscreen_wblist.
Hierin zullen we een lijst van toegestane en geblokkeerde IP-adressen en subnetten in CIDR-tabelvorm toevoegen. Ter illustratie zullen we het subnet 121.144.169.* blokkeren, maar we staan toe dat alleen IP-adres uit dit subnet:
# Rules are evaluated in the order as specified.
# Blacklist 121.144.169.* except 121.144.169.196.
121.144.169.196/32 permit
121.144.169.0/24 reject
Let op het belang van de volgorde van de records. Postscreen scant het bestand met witte en zwarte lijsten tot de eerste overeenkomst en als het geblokkeerde subnet eerder staat dan het toegelaten IP-adres, zal de controle simpelweg niet doorgaan naar de vermelding dat dit IP-adres op de witte lijst is gezet en zal er geen verbinding met de server plaatsvinden.
Nadat het bestand met de witte en zwarte lijsten is bewerkt en opgeslagen, kan de bijbehorende controle worden ingeschakeld met de volgende opdrachten:
zmprov mcf zimbraMtaPostscreenAccessList «permit_mynetworks, cidr: /opt/zimbra/conf/postfix/postscreen_wblist»
zmprov mcf zimbraMtaPostscreenBlacklistAction enforce
Nu zal Postscreen, naast de controles die we al hebben ingesteld, ook het bestand met de witte en zwarte lijsten raadplegen, waardoor de beheerder het redelijk eenvoudig kan oplossen wanneer betrouwbare verzenders niet kunnen verbinden met de server.
Bron: habr.com
