Apache als Reverse Proxy

RPC und Apache
Anscheinend kann Apache ab Version 2.0.55 nicht mehr als Reverse Proxy für RPC over HTTP eingesetzt werden. Laut Apache Entwickler verhält sich Outlook/Exchange nicht HTTP-Konform und könnte bei einer Umsetzung dieser Abweichung ein Sicherheitsloch öffnen.
http://www.mail-archive.com/bugs@httpd.apache.org/msg23000.html
Andere Quellen behauten aber mit 2.2.8 eine funktionierende Konfiguration zu haben

Case Sensibel
Die Apache Veröffentlichungen beachten Groß/Kleinschreibung. Die Benutzer müssen also die "richtige" URL eingeben. Das ist ungewohnt, da ISA und IIS nicht darauf achten.

Lesen Sie dazu auch die Seite OWA Absichern

Zwar ist der Marktanteil des ISA-Servers schon recht hoch aber sehr viele Firmen setzen andere Proxy Systeme für den Zugriff auf das Internet und die Veröffentlichung von Webseiten ein. Für den Outlook Webzugriff sind auch hier einige "Besonderheiten" zu beachten

Auch wenn Apache eher als leistungsstarker Webserver bekannt ist, so kann Apache über die "MOD"-Schnittstelle mit zusätzlichen Funktionen erweitert werden, z.B. mit einer Anmeldung gegen ein Active Directory. Apache kann zwar nicht als OWA-Server arbeiten, da er ISAPI-Filter nicht unterstützt, aber Apache kann über das Modul MOD_PROXY als HTTP-Proxy arbeiten. Das  funktioniert sogar in beide Richtungen. Apache kann also als "OWA Veröffentlichungsserver" als auch als Proxy für den Zugriff über das Internet auf einen entfernten OWA-Server genutzt werden.

Ich bin nun kein Apache Spezialist, aber folgende Einträge in der httpd.conf sollen für OWA und ActiveSync funktionieren, wenn Sie "exchangesrever.firma.tld." durch ihren Server ersetzen.

LoadModule proxy_module /usr/lib/apache/mod_proxy.so
AddModule mod_proxy.c

ProxyPreserveHost On
#Config:
#Veroeffentlichungen fuer OWA

ProxyPass /owa https://exchangserver.firma.tld/owa
ProxyPassReverse /owa https://exchangeserver.firma.tld/owa

ProxyPass /exchange https://exchangserver.firma.tld/exchange
ProxyPassReverse /exchange https://exchangeserver.firma.tld/exchange

ProxyPass /Exchange https://exchangeserver.firma.tld/exchange
ProxyPassReverse /Exchange https://exchangeserver.firma.tld/exchange

ProxyPass /exchweb https://exchangeserver.firma.tld/exchweb
ProxyPassReverse /exchweb https://exchangeserver.firma.tld/exchweb

ProxyPass /public https://exchangeserver.firma.tld/public
ProxyPassReverse /public https://exchangeserver.firma.tld/public


# Einstellungen um per OWA das Kennwort zu aendern
ProxyPass /iisadmpwd https://exchangeserver.firma.tld/iisadmpwd
ProxyPassReverse /iisadmpwd https://exchangeserver.firma.tld/iisadmpwd

# Einstellungen fuer ActiveSync
ProxyPass /Microsoft-Server-ActiveSync https://exchangeserver.firma.tld/Microsoft-Server-ActiveSync
ProxyPassReverse /Microsoft-Server-ActiveSync https://exchangeserver.firma.tld/Microsoft-Server-ActiveSync

# Proxy fuer SSL aktivieren
SSLProxyEngine On

# Zeichensatz spezifieren fuer Umlaute
AddDefaultCharset ISO-8859-1

Auch wenn hier sich mehrere Parameter oft wiederholen, möchte ich drei Einträge erläutern, da sie sehr wichtig sind

Dies sind die drei wichtigsten Einstellungen aber nicht die einzigen Parameter, die in Verbindung mit Apache als Reverse Proxy eingesetzt werden können. Wer z. B. Kerberos oder NTLM einsetzt, wird in größeren Umgebungen die Buffer für die Ticketsize (Siehe Kerberos Ticketsize) und andere Dinge anpassen müssen.

Reverse Proxy mit Authentifizierung

Apache kann aber nicht nur ein dummer Reverse Proxy sein. Über entsprechende Module kann Apache sogar Windows DCs zur Überprüfung der Anmeldedaten heran ziehen. So könnte ein Apache den Zugriff auf die per Reverse Proxy veröffentlichten Dateien ebenfalls per Anmeldung absichern. Der Client würde also zuerst eine 401 Meldung vom Apache bekommen und müsste sich z.B.: per Kerberos anmelden, ehe der Apache dann die Anfragen weiter gibt. Allerdings wäre dann zu prüfen, wie der nachgeschaltete Server die Anmeldung akzeptiert. Apache kann zwar Header-Felder setzen aber das Kennwort des Anwender hat er in der Regel erst einmal nicht und kann dies daher auch nicht weiter geben. Inwieweit Kerberos Constraint Delegation möglich ist, wäre zu testen.

Weitere Links

Weitergehende Informationen finden Sie auf:

Keywords:Apache Proxy ISA Reverse OWA