fziegler
Goto Top

Exchange 2003 Relay bzw. SMTP Missbrauch

Exchange als direkter Mailserver, feste IP, extern erreichbar, Viren und Spam geschützt, Standard SMPT Konfiguration nur authentifizierte Benutzer / lokales Netz dürfen relayen.

Hallo Zusammen

Ich bin noch neu in der Exchangewelt, habe mich aber nach Rund 2 Wochen Doku einigermassen durch die Konfigurationswelt geschleust und verstehe auch wie Exchange handelt bim senden und empfangen über smtp.

Und gerade hier stelle ich mir die Frage ob es keine Möglichkeit gibt wie bei anderen Mailserver eingehende SMTP anfragen standardmässig vor eine Authentifizierung zu stellen. Der Server nimmt nämlich in der momentanen Konfiguration im ersten schritt erstmal alle Anfragen an und checkt dann VON WEM (MAIL FROM) die Mail ist und AN WEN (RCPT TO) sie geht und wirft dann fröhlich ein Sender OK aus und merkt dann dass das MAIL FROM nicht von der zugelassenen Domäne ist! Es ist demnach kein offenes Relay aber ich komm gleich auf meine Probleme zurück nachdem man sich hier mal ein beispiel von abuse.net anschauen kann:

Connecting to X.X.X.X for anonymous test ...

220 domain.de Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Tue, 15 Jul 2008 15:29:49 +0200
HELO www.abuse.net
250 domain.de Hello [X.X.X.X]

Relay test 1
RSET
250 2.0.0 Resetting
MAIL FROM:<spamtest@abuse.net>
250 2.1.0 spamtest@abuse.net....Sender OK
RCPT TO:<securitytest@abuse.net>
550 5.7.1 Unable to relay for securitytest@abuse.net

Relay test 2
RSET
250 2.0.0 Resetting
MAIL FROM:<spamtest>
250 2.1.0 spamtest@domain.de....Sender OK
RCPT TO:<securitytest@abuse.net>
550 5.7.1 Unable to relay for securitytest@abuse.net

Relay test 3
RSET
250 2.0.0 Resetting
MAIL FROM:<>
250 2.1.0 <>....Sender OK
RCPT TO:<securitytest@abuse.net>
550 5.7.1 Unable to relay for securitytest@abuse.net

Relay test 4
RSET
250 2.0.0 Resetting
MAIL FROM:<spamtest@[X.X.X.X]
250 2.1.0 spamtest@[X.X.X.X]....Sender OK
RCPT TO:<securitytest@abuse.net>
550 5.7.1 Unable to relay for securitytest@abuse.net

Relay test 5
RESET
250 2.0.0 Resetting
MAIL FROM:<spamtest@mail.domain.de>
250 2.1.0 spamtest@mail.domain.de....Sender OK
RCPT TO:<securitytest@abuse.net>
550 5.7.1 Unable to relay for securitytest@abuse.net

Relay test 6
RSET
250 2.0.0 Resetting
MAIL FROM:<spamtest@[X.X.X.X]>
250 2.1.0 spamtest@[X.X.X.X]....Sender OK
RCPT TO:<securitytest%abuse.net@[X.X.X.X]>
550 5.7.1 Unable to relay for securitytest%abuse.net@[X.X.X.X]

Relay test 7
RSET
250 2.0.0 Resetting
MAIL FROM:<spamtest@[X.X.X.X]>
250 2.1.0 spamtest@[X.X.X.X]....Sender OK
RCPT TO:<securitytest%abuse.net@mail.domain.de>
550 5.7.1 Unable to relay for securitytest%abuse.net@mail.domain.de

Relay test 8
RSET
250 2.0.0 Resetting
MAIL FROM:<spamtest@[X.X.X.X]>
250 2.1.0 spamtest@[X.X.X.X]....Sender OK
RCPT TO:<"securitytest@abuse.net">
250 2.1.5 "securitytest@abuse.net"@domain.de


Beim Test8 erschreckt mich das Spammer sozusagen ohne Probleme in die Domain von uns Spammen könnten wenn ich den Mailserver in live Betrieb nehme! Sie müssen lediglich einen richtigen Benutzer wie z.B. "richtiger.benutzer@domain.de" im MAIL FROM und RCPT TO angeben und zack, die mail wird übermittelt. Ich hab das ganze per telnet direkt auf port 25 getestet und tatsache, er übermittelt die mails!


Auf dem Mailserver muss beim relayen von externen hosts eine Authetifizierung zuvor erfolgen, wenn aber extern keine Anonymen Anfragen angenommen werden, kann der Exchange keine Mails mehr von extern (Internet) empfangen. Wenn ich mich jetzt irre müsste ich in der Konfiguration einen großen Fehler gemacht haben...Meine Konfigurationen ähneln denen hier: http://www.msxfaq.com/internet/relay2000.htm

Hier mal ein Mailserver (Postfix) mit richtiger Authentifizierung, der egal bei welchem von den 18 Tests genau richtig reagiert mit 554 5.7.1 <securitytest@abuse.net>: Relay access denied

Mail relay testing
Connecting to perfect.de for anonymous test ...

220 perfect.de ESMTP Postfix
HELO www.abuse.net
250 perfect.de

Relay test 1
RSET
250 2.0.0 Ok
MAIL FROM:<spamtest@abuse.net>
250 2.1.0 Ok
RCPT TO:<securitytest@abuse.net>
554 5.7.1 <securitytest@abuse.net>: Relay access denied

Relay test 2
RSET
250 2.0.0 Ok
MAIL FROM:<spamtest>
250 2.1.0 Ok
RCPT TO:<securitytest@abuse.net>
554 5.7.1 <securitytest@abuse.net>: Relay access denied
All tests performed, no relays accepted.


Danke & Gruß
fz

Content-ID: 92082

Url: https://administrator.de/contentid/92082

Ausgedruckt am: 16.11.2024 um 05:11 Uhr

GuentherH
GuentherH 15.07.2008 um 16:35:59 Uhr
Goto Top
Hallo.

Und gerade hier stelle ich mir die Frage ob es keine Möglichkeit gibt wie bei anderen Mailserver eingehende SMTP anfragen standardmässig vor eine Authentifizierung zu stellen.

Ich kenne keinen Mailserver, der dies für die Zustelllung von Nachrichten verlangt (Relaying ist natürlich etwas anderes). Überlege einmal, wie sollte ich dir dann eine E-Mail senden?

Der Server nimmt nämlich in der momentanen Konfiguration im ersten schritt erstmal alle Anfragen

Richtig, das Verhalten ist auch hier beschrieben - http://support.microsoft.com/kb/304897/en-us. - Grund dafür ist, das es dann Brute Force Attacken auf gültige Adressen nicht durchgeführt werden können.

Der Exchange ändert aber sein Verhalten, wenn der Empfängerfilter aktiviert ist. Aktiviere diesen, und es wird bei einem nicht vorhandenen Empfänger die SMTP Verbindung mit "no such User here" abgebrochen - http://www.sbspraxis.de/exchange/ex03010/ex03010.html
Wichtig ist aber hier, dass auf jeden Fall Windows 2003 SP2 installiert ist. Bei diesem ist "Tarpitting" aktiviert, das wiederum Brute Force Attacken verhindert.

LG Günther
fziegler
fziegler 15.07.2008 um 17:08:25 Uhr
Goto Top
Vielen Dank für deine Antwort GuenterH

Ich kenne keinen Mailserver, der dies für die Zustelllung von Nachrichten verlangt (Relaying ist natürlich etwas anderes). Überlege einmal, wie sollte ich dir dann eine E-Mail senden?

Entschuldige die falsche Formulierung, SMTP ja und Relay nein! Alles was funktionieren soll ist eine Authentifizierung wenn von extern jemand Mails über den Server versenden will per SMTP. Was nicht sein darf ist ohne Authentifizierung einfach mal eine Mail zu versenden (was momentan funktioniert wenn der user lokal existiert) ich habe z.B. den mailserver domain.de und dort ist der benutzer xy tatsächlich angelegt, ich verwende sendmail oder outlook oder thunderbird und gib einfach als smtp server domain.de ein, als sender xy@domain.de und als empfänger xy@domain.de und in den betreff und die mail schreib ich rein was ich will! und das kommt dann auch durch und soll verhindert werden!

Der Exchange ändert aber sein Verhalten, wenn der Empfängerfilter aktiviert ist. Aktiviere diesen, und es wird bei einem nicht vorhandenen Empfänger die SMTP Verbindung mit "no such User here" abgebrochen ... Wichtig ist aber hier, dass auf jeden Fall Windows 2003 SP2 installiert ist. Bei diesem ist "Tarpitting" aktiviert, das wiederum Brute Force Attacken verhindert.

Danke für die hilfreiche Info, es ist windows server SP2 2003 enterprise und exchange 2003 mit sp2 installiert, demnach werde ich das gleich mal einstellen! das nimmt erstmal einen haufen mails aus dem umlauf die an empfänger addressiert sind die nicht existieren. danke! gibt es aber eine lösung für das oben beschriebene problem?
GuentherH
GuentherH 15.07.2008 um 18:50:28 Uhr
Goto Top
Hallo.

Alles was funktionieren soll ist eine Authentifizierung wenn von extern jemand Mails über den Server versenden will per SMTP

Das ist auch per default so. Hast du das von extern (also nicht vom internen LAN) aus getestet.

Überprüfe im ESM (Exchange System Manager) die Einstellungen des virtuellen SMTP -> Register Zugriff -> Relaying. Wenn du auch den internen PCs das Relaying verbieten willst (was durchaus sinnvoll ist), dann deaktiviere die Checkbox "Jeder Computer der erfolgreich authentifiziert ist..." und trage in der Liste der Computer die ein, die über den SMTP des Exchange versenden dürfen. Damit sich nun die Benutzer über die NT-Authentifizierung des Relayingrecht erschleichen können, kannst du dies auch noch "Authentifizierung" -> Benutzer sehr genau steuern.

LG Günther
fziegler
fziegler 16.07.2008 um 09:07:03 Uhr
Goto Top
Ja ich hab es von extern getestet und auch beim bestehenden mailserver funktioniert dies, wenn man die benutzer kennt kann man mit telnet simpel nachrichten im jeweiligen postfach ablegen hier mal ein beispiel beim heimischen linux postfix (dahinter liegt für die authentifizierung eine mysql datenbank):


telnet ex2x.ath.cx 25
220 ex2x.ath.cx ESMTP Postfix
helo google.de
250 ex2x.ath.cx
mail from:ziegler.falko@ex2x.ath.cx
250 2.1.0 Ok
rcpt to:ziegler.falko@ex2x.ath.cx
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from:ziegler.falko@ex2x.ath.cx
to:ziegler.falko@ex2x.ath.cx
.
250 2.0.0 Ok: queued as 3F6CC9CC4A8
quit
221 2.0.0 Bye
Verbindung zu Host verloren.

Wenn man das ganze bei web oder gmx testet ist eine authentifizierung nötig...Bei gmx sieht das nach smtp after pop3 aus und bei web.de ähnlich....also irgendwie verteh ich jetzt irgendwas garnicht mehr....kannst das ganze ja mal bei deinem eigenen server testen, würde mich interresieren.

Ich glaub ohne weiteres kann ich diese lücke nicht schliessen, was sehr lustig bzw. unlustig ist, dass z.B. heute 4 Spammails im postfach lagen, immer die selbe, mit selben bild und sehbaren busen *harr* und als text was ganz normales wie ein newsletter von microsoft, als absender meine eigene emailadresse und als empfänger ebenfalls, das ganze bei rund 169 mitarbeitern, unser filter blockt täglich rund 300 spams pro benutzer aber mit dieser einen kann er nicht umgehen...ich werd nun mal zu den RBL,s und SpamAssissan den Bayesian Filter aktivieren.

Jetzt nochmal zu der authentifizierungsgeschichte:
Überprüfe im ESM (Exchange System Manager) die Einstellungen des virtuellen SMTP -> Register Zugriff -> Relaying. Wenn du auch den internen PCs das Relaying verbieten willst (was durchaus sinnvoll ist), dann deaktiviere die Checkbox "Jeder Computer der erfolgreich authentifiziert ist..." und trage in der Liste der Computer die ein, die über den SMTP des Exchange versenden dürfen. Damit sich nun die Benutzer über die NT-Authentifizierung des Relayingrecht erschleichen können, kannst du dies auch noch "Authentifizierung" -> Benutzer sehr genau steuern.

Also auf der einen seite verbiete ich den authentifizierten benutzern das Relaying und füge sie dann in der liste mit ihren IPs wieder hinzu und erlaube es ihnen das relayen wieder? oder füge ich hier nur den exchangeserver mit seiner IP hinzu?....unter authentifizierung würde ich dann "authentifizierte benutzer" löschen und gezielt einzelne benutzer eintragen die dann relayen dürfen...oder gar eine gruppe?

Vielen Dank GuentherH du bringst mich jedes mal ein Stück weiter

Gruß
fz
GuentherH
GuentherH 16.07.2008 um 22:25:40 Uhr
Goto Top
Hallo.

wenn man die benutzer kennt kann man mit telnet simpel nachrichten im jeweiligen postfach ablegen

Das ist bei einem Mailserver normal. Deshalb landen ja auch die von dir angesprochenen SPAMs bei dir. Für den Mailserver ist das ein User auf der Domäne, der einem anderen User in der Domäne ein Mail schickt. Der Exchange unterscheidet hier nicht, ob der Absender aus dem WAN oder LAN kommt.

Abhilfe gegen derartigen Mißbrauch bieten nur 3rd Party Produkte wie z.B WALL von http://www.dataenter.at

oder füge ich hier nur den exchangeserver mit seiner IP hinzu

Über die IP Adressen erlaube ich z.B. Servern, Kopierern usw. der Relayen, da diese Geräte meist keine Authentifizierung besitzen

würde ich dann "authentifizierte benutzer" löschen und gezielt einzelne benutzer eintragen die dann relayen dürfen.

Benutzer musst du nicht löschen, nur das Recht nehmen, und die restlichen Benutzer fügst dann hinzu. Gruppe kann ich jetzt nicht auf Anhieb sagen, sollte aber auch klappen.

LG Günther
yabbax
yabbax 02.09.2008 um 14:21:51 Uhr
Goto Top
Hallo,

ich habe den Thread aufmerksam verfolgt und habe nun auch eine Frage: Was ist denn nun mit der Aussage von fz:

Ich soll den auth. Computern relaying verbieten und zeitgleich in der Liste der verruenswürdigen wieder hinzufügen.

Welchen Sinn macht das???

Vielen Dank
Gruß
Thomas
fziegler
fziegler 02.09.2008 um 15:46:13 Uhr
Goto Top
Zitat von @yabbax:
Hallo,

ich habe den Thread aufmerksam verfolgt und habe nun auch eine Frage:
Was ist denn nun mit der Aussage von fz:

Ich soll den auth. Computern relaying verbieten und zeitgleich in der
Liste der verruenswürdigen wieder hinzufügen.

Welchen Sinn macht das???

Vielen Dank
Gruß
Thomas


Nunja, das war von mir keine Aussage sondern eher eine Frage...Aber Sinn macht es eigetlich schon! Das einen sind die authentifizierten User/Computer, also jeder der z.B. ein Postfach oder eine Mailadresse beim Exchange hat und das andere sind dann z.B. tatsächlich gezielte Server die relayen dürfen.

Alles in allem ist der Server mittlerweile im Echtbetrieb seit dem 20.07 und funktioniert bisher ohne einen einzigen Ausfall, auch das prüfen des Server von Abuse sagt das es ein geschlossenes Relay ist. Was absolut wichtig ist, war folgender Tipp von Günther:

Richtig, das Verhalten ist auch hier beschrieben - http://support.microsoft.com/kb/304897/en-us - Grund dafür ist, das es dann Brute Force Attacken auf gültige Adressen
nicht durchgeführt werden können.

Der Exchange ändert aber sein Verhalten, wenn der Empfängerfilter aktiviert ist. Aktiviere diesen, und es wird bei einem nicht vorhandenen Empfänger die SMTP Verbindung mit
"no such User here" abgebrochen http://www.sbspraxis.de/exchange/ex03010/ex03010.html
Wichtig ist aber hier, dass auf jeden Fall Windows 2003 SP2 installiert ist. Bei diesem ist "Tarpitting" aktiviert, das wiederum Brute Force Attacken verhindert.

LG Günther

Die Installation bei mir Umfasst auf dem Exchange Server mittlerweile:
Windows Server 2003 Enterprise mit Service Pack2
Exchange Server 2003 Enteprise mit Service Pack2
Kaspersky Open Space Security

Und der Geheimtipp überhaupt: Exchange Server Toolbox (von JAM-Software) einen günstigeren Spam / Virenschutz dürfte man nicht bekommen und obendrein funktioniert er auch noch gut und Filtert bei uns täglich (kleines Unternehmen mit 150 mitarbeitern) 45.000 Spams aus, was zu wünschen übrig lässt ist der intigrierte ClamAV, der is nicht so toll, aber Kaspersky lässt sich auch einbinden!

Gruß "fz" ;)