Exchange Server 2007–Interne Server Festlegen

Bei Spam Filtering in Exchange 2007 ist das Festlegen bestimmter Server als “interne” Server wichtig für die richtige Funktionsweise des Connection Filtering Agents.
image

Wenn man nur eine reine Exchange Organisation hat, braucht man sich nicht weiter darum kümmern, da die Anti Spam Konfiguration alle Edge Server betrifft und damit alle eingehenden Nachrichten abdeckt. Hat man aber Nicht-Exchange Server, in meinem Fall einen Sendmail Server auf Windows und einen Postfix Server auf Linux welche Mail (ungefiltert) an die Exchange Organisation weiterleiten – sei es auch nur für einen einzelnen User, muss man diese Server – egal ob sie physisch im eigenen Netz sind, oder bei einem Provider oder Partner oder in einer Filiale stehen, als „Internal SMTP Servers“ definieren, da sie sonst von einem Filter, den wir später näher betrachten werden, nämlich dem Sender Reputation Filter auf die Blocklist gesetzt werden, weil sie ja in großen Mengen Spam in‘s Unternehmen bringen.

Sie auf die Whitelist zu setzen wäre auch der falsche Ansatz, da dann alle Nachrichten völlig ungefiltert angenommen werden.

Der einzig richtige Weg ist daher in der Powershell den Befehl:
Set-TransportConfig -InternalSMTPServers {IP}
auszuführen.

Wichtig ist, zu verstehen, dass der Connection Filter, der der erste in der Reihenfolge der Exchange Spam Filter ist, immer den letzten Nicht-Internen Server überprüft. Würden wir also unsere „Weiterleitungs-Server“ nicht mittels Set-TransportConfig als interne Server definieren, würden sie als externe Server vom Connection Filter behandelt werden.

FALSCH (ohne “InternalSMTPServers”) RICHTIG (mit “InteralSMTPServers”)
Hop1: Server des Absenders 
Hop2: Weiterleitender Server <-- Diese IP wird geprüft
Hop3: Eigener Exchange Server
Hop1: Server des Absenders <-- Diese IP wird geprüft
Hop2: Weiterleitender Server
Hop3: Eigener Exchange Server

Durch diese Konfiguration ergibt sich aber noch etwas weiteres, das man beachten muss: Dadurch dass der „Weiterleitungs-Server“ jetzt ein interner Server ist, kann es sein, dass der Server davor im Mail Header „RECEIVED FROM:“ als erster „fremder Server“ behandelt wird. Wenn dieser aber das Mail Programm des Absenders ist, liegt er möglicherweise auf einer dynamischen IP – daher ist es wichtig, keine DNSBL Listen zu verwenden, die alle dynamischen IP‘s sperren – das ist ohnedies etwas, was eigentlich gegen alle Regeln des SMTP Protokoll verstößt. Denn wenngleich Spam oft von dynamischen Adressen kommt, bedeutet das noch lange nicht, dass das sicher Spam ist, außerdem darf man sehr wohl auch auf dynamischen Adressen Server betreiben. – Gerade in Amerika ist das auch von den Providern fast immer erlaubt.

Message Size Limits in Exchange 2007 setzen

In Exchange Server 2007 können bzw. müssen Nachrichtengrößen an verschiedenen Stellen gesetzt werden.

Einerseits in der Transport-Config, andererseits auf den Send- und Receive Konnektoren.

In Powershell kann ich sämtliche aktuellen Limits so abfragen:

get-transportconfig | select identity,maxreceivesize,maxsendsize
get-receiveconnector | select identity,maxmessagesize
get-sendconnector | select identity,maxmessagesize
get-mailbox | select name,maxreceivesize,maxsendsize
get-mailcontact | select name,maxreceivesize,maxsendsize
get-mailPublicFolder | select name,maxreceivesize,maxsendsize
get-distributiongroup | select name,maxreceivesize,maxsendsize

So setze ich das Sende Limit für einen bestimmten Sendconnector:

set-sendconnector –identity "Name des Send Connectors" -maxmessagesize 50MB

image

So setze ich es für alle Send-Konnektoren (Vorsicht! Ist das wirklich erwünscht?)

get-sendconnector | set-sendconnector -maxmessagesize 50MB

image

 

Genau das gleiche kann ich mit den Receive Konnektoren machen:

set-receiveconnector –identity "Name des Receive Connectors" -maxmessagesize 50MB

oder für alle:

get-receiveconnector | set-receiveconnector -maxmessagesize 50MB

image

Und jetzt noch für die Transport Config:

get-transportconfig | set-transportconfig -maxreceivesize 50MB -maxsendsize 50MB

image

 

Weiters gibt es User-Limits, die man aber explizit gesetzt haben muss (Standard ist “Unlimited”)

Man kann alle weiteren Limits auf Mailboxen, Kontakten, Öffentlichen Ordern und Verteilerlisten überprüfen:

get-mailbox | select name,maxreceivesize,maxsendsize
get-mailcontact | select name,maxreceivesize,maxsendsize
get-mailPublicFolder | select name,maxreceivesize,maxsendsize
get-distributiongroup | select name,maxreceivesize,maxsendsize

Dann kann man natürlich mit den entsprechenden Befehlen die Limits wieder ändern, ich zeige es jetzt hier nur am Beispiel einer Mailbox:

Für eine bestimmte Mailbox:

get-mailbox -Identity ChristianHaberl | set-mailbox -maxreceivesize 50MB -maxsendsize 50MB

oder für alle Mailboxen:

get-mailbox | set-mailbox -maxreceivesize 50MB -maxsendsize 50MB

oder alle Mailbox Limits entfernen:

get-mailbox | set-mailbox -maxreceivesize unlimited -maxsendsize unlimited

Meine Exchange 2007 IPBlocklist-Provider

Hier meine Exchange 2007 IPBlocklist-Provider (DNSBL/RBL) Liste, wie ich sie über die letzten 2 Jahre durch ständiges überwachen, testen und fein-tunen herausbekommen habe. Listen mit zu vielen False-Positives habe ich nur ausgeblendet (-Enabled $false).
Um nachzusehen ob und auf welchen DNSBL Listen eine Adresse ist, eignet sich recht gut dieser Dienst: http://www.kloth.net/services/dnsbl.php
Mit dem Powershell Skript Get-AntispamTopRBLProviders.ps1 kann man den Erfolg der einzelnen RBL Anbieter testen, wobei hier natürlich die Priorität (Reihenfolge) der einzelnen Anbieter das Ergebnis verfälscht:
 image

Hier meine Konfiguration als Powershell Skript, geeignet zum Importieren auf weitere Server:

Add-IPBlockListProvider -Name:'Spamhaus' -LookupDomain:sbl.spamhaus.org -Priority:1 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'Spamcop' -LookupDomain:bl.spamcop.net -Priority:2 -AnyMatch $True -Enabled $True
Add-IPBlockListProvider -Name:'SORBS' -LookupDomain:dnsbl.sorbs.net -Priority:4 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'UCEprotect Level 1' -LookupDomain:dnsbl-1.uceprotect.net -Priority:5 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'NJABL Combined' -LookupDomain:combined.njabl.org -Priority:6 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'NJABL' -LookupDomain:dnsbl.njabl.org -IPAddressesMatch '127.0.0.2','127.0.0.4','127.0.0.5','127.0.0.6','127.0.0.8','127.0.0.9' -Priority:7 -AnyMatch $False -Enabled $True
Add-IPBlockListProvider -Name:'no-more-funn.moensted.dk' -LookupDomain:no-more-funn.moensted.dk -Priority:9 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'tqmcube.com' -LookupDomain:dnsbl.tqmcube.com -Priority:10 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'l2.apews.dnsbl.uceprotect.net' -LookupDomain:l2.apews.dnsbl.uceprotect.net -Priority:11 -AnyMatch $True -Enabled $False
Add-IPBlockListProvider -Name:'Manitu.net' -LookupDomain:ix.dnsbl.manitu.net -Priority:12 -AnyMatch $True -Enabled $True
Add-IPBlockListProvider -Name:'cbl.abuseat.org' -LookupDomain:cbl.abuseat.org -Priority:13 -AnyMatch $True -Enabled $True

Anbieter für geblockte IP-Adressen IP Block List Providers

EDIT 8.7.2009:

Natürlich reicht es, die 4 Listen, die ich tatsächlich aktiviert habe (“-Enabled $True” - grün) einzutragen, die anderen, deaktivierten IP Block List Providers habe ich nur zu Testzwecken in meiner Konfiguration.

Ob die Reihenfolge ideal ist, lässt sich schwer testen, da der zweit-, dritt- und viertgereihte IP Blocklist Provider natürlich nicht dran kommt, wenn schon der erstgereihte einen Match liefert.

Spamhaus stehe ich übrigens sehr kritisch gegenüber seitdem sie nic.at geblockt haben als “Strafe” dafür, dass nic.at eine Domain nicht sperren wollte, von der gespammt wurde (was weder nic.at’s Aufgabe ist, noch es eine rechtliche Handhabe gäbe)

Andere Listen, wie dnsbl-2.uceprotect.net und dnsbl-3.uceprotect.net oder dnsbl.sorbs.net/127.0.0.10 sowie blackholes.five-ten-sg.com würde ich gerne zusätzlich verwenden allerdings nicht “absolut” – sondern nur in Kombination mit anderen Anti-spam Filtern wie dem Content Filter. Würde man diese Listen absolut verwenden, käme es massenhaft zu False Positives da diese Listen entweder ganze Netzwerke listen, oder alle dynamischen IP Adressen (was man keinesfalls blocken darf, denn es ist grundsätzlich nicht verboten auf dynamischen IP Adressen Mail Server zu betreiben, selbst wenn vermutlich 99% der Leute die sowas tun, Spammer sind.

Ich bin gerade auf der Suche nach einem C# Developer der mir hilft einen Exchange Transport Agent zu schreiben, der genau das tut, nämlich nach dem Content Filtering bestimmte DNSBL Listen auswerten und bei einem Match den SCL Wert erhöhen.

Facebook

Letzte Tweets

Twitter Mai 26, 23:39
Gelbe Engel! Danke!

Twitter Mai 18, 21:34
Finland was terrible. #Eurovision

Twitter Mai 17, 12:49
just blogged Ist das Surface Pro teuer? – Ein Fact-Check: Gestern wurde angekündigt, dass das Surface Pro in D... http://t.co/PhW7qzhkUq

Folge mir auf Twitter!

Über den Autor

MCTS

Christian Haberl Christian Haberl ist seit mehr als 10 Jahren als EDV Berater, Vortragender und Trainer tätig. Er kann sich nicht für ein Spezialgebiet entscheiden, drum heißt dieser Blog auch "Kraut & Rüben Blog" - Unter seine Interessen fallen Web-Entwicklung auf ASP.NET Basis, Information Worker & Productivity Technologien (Windows, Office), Server (Windows Server, Small Business, Virtualisierung, Exchange), Scripting, Spam Filtering/Security und Digital Home. Christian Haberl ist auch einer der führenden Produktspezialisten für Windows Media Center und Windows Home Server und ist Direktor des ClubDigitalHome.
Im Jahr 2008 hat Christian Haberl über 200 Vorträge und Schulungen durchgeführt.
Im Frühjahr 2009 wurde Christian Haberl von Microsoft Österreich zum "Influencer" ernannt, weiters wurde er Microsoft Certified Technology Specialist / Microsoft Certified Connected Home Integrator sowie Microsoft Certified Consumer Sales Specialist.

Month List

Netzwerk Management

Bandwidth

RecentComments

Comment RSS