Exchange CAS in der DMZ?

Es kommt öfters vor das es Fragen zu CAS-Servern in einer DMZ gibt. Gleich vorweg: Dieses Scenario ist nicht supportet von Microsoft. Warum das auch ganz gut so ist werde ich im folgenden ein wenig erläutern.


Die DMZ


Eine DMZ oder auch “demilitarisierte Zone” (siehe Wikipedia) hat den Sinn interne wichtige Dienste von denen die der Öffentlichkeit zugänglich gemacht werden sollen, also zum Beispiel Email oder Webseiten, zu trennen. Dadurch wird ganz enorm die Angriffsfläche für Hacker verringert.


Die Rolle Client Access Server von Exchange


Die CAS-Rolle ab Exchange 2007 ist für die Veröffentlichung des Mailboxzuganges für Outlook Web Access / Outlook Web App, Imap – Clients, POP3 – Clients und auch Active Sync Verbindungen zuständig. Ab Exchange 2010 kommt noch der Zugriff aller Outlook Benutzer hinzu. Um den Zugriff von extern zu ermöglichen scheint es im ersten Augenblick eine gute Idee zu sein die Rolle des CAS-Servers in einer DMZ unterzubringen. Ein Hacker der dort eindringt hätte in der Theorie keinen direkten Zugang zu anderen Daten. Leider ist nicht nur diese Theorie falsch sondern die nachfolgenden Abhängikeiten führen die eingerichtete DMZ “ad absurdum”.


Der CAS in der DMZ, ein Widerspruch in sich


Die Exchange CAS-Rolle veröffentlicht zwar nach extern nur Port 443, mit dem Server der die Mailboxrolle innehat wird jedoch über Mapi kommuniziert. Dieses Protokoll verwendet RPC (Remote Procedure Call). RPC funktioniert so das auf dem Zielport 135 die Kommunikation gestartet wird und dann ein oder mehrere hohe Ports für die weitere Datenübertragung genutzt werden. Möchte man nun den CAS-Server in die DMZ stellen müsste man in Richtung Mailboxserver alle Ports öffnen. Die DMZ wäre damit dahin. Die Beschränkung der Ports ist zwar möglich, jedoch nur in Richtung Client supportet, nicht in Richtung des Mailboxservers (der wiederum auch mittels MAPI/RPC mit dem Server mit der CAS – Rolle kommuniziert).


Weiterhin muß der CAS – Server auch Mitglied eines Active Directory Forests bzw. einer Domäne sein. Auch hier wird RPC zur Kommunikation teilweise verwendet.


Eine Idee wäre noch alle Server in der DMZ mit IPSec anzusprechen. Für die Tunnelung über den IPSec – Port müsste jedoch zuerst einmal ein Kerberos Ticket eines DC´s erstellt werden (über RPC). Weiterhin wäre die Verschlüsselung noch mit Klartextpasswort (das will in der DMZ wahrscheinlich niemand einrichten) oder per Zertifikat möglich. Hier ergeben sich jedoch wieder andere Problemstellungen und IPSec zu überwachen bzw. im Fehlerfall das Problem zu lösen ist nicht so einfach.


Was passiert wenn der Server mit der CAS – Rolle von einem Hacker übernommen wird?


Der Hacker hätte bei der Übernahme des Servers mit der CAS – Rolle sofort Zugriff auf die Komplette Domäne. Der Grund dafür ist das die Exchange-Server weitgehende Rechte brauchen um die Objekte in der Domäne verwalten zu können (Beschreiben des Accounts mit verschiedenen Attributen wie Mailbox, SMTP-Adressen etc.). Ein solche Übernahme sollte recht selten sein, die Veröffentlichung über Port 443 ins Internet ist sehr ausgereift. Die DMZ trägt hier allerdings überhaupt nicht zum Schutz bei, die Installation der CAS Rolle sorgt eher für ein Aufweichen der DMZ. Mit der entsprechenden Firewall (ISA, TMG) kann auch die Terminierung auf diese Geräte gelegt werden und ein zusätzlicher Sicherheitsfaktor eingebaut werden. Wichtig in diesem Zusammenhang ist noch das OWA möglichst nur von vertrauenswürdigen Computern benutzt wird. Wer weiß schon ob nicht in Internetcafes oder sonstigen öffentlich zugänglichen Terminals Hard oder Software Keylogger installiert sind. Diese würden alle Tastatureingaben aufzeichnen, ein böswilliger Mensch wäre äußerst schnell mit den Rechten des Benutzers in der Domäne angemeldet. Hoffentlich hatte der dann keine Domänenadminrechte…


Hier noch einige Anmerkungen der Exchange Teams zu dem Thema.


Happy secure Computing ;-)


 


Walter Steinsdorfer

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>