Outlook Anywhere und Proxyserver
Sie können in Outlook keine HTTP-Proxies einstellen. Outlook nutzt einfach die gleichen Einstellungen, die Sie auch im Internet Explorer konfiguriert haben. Um Outlook daher über einen Proxy arbeiten zu lassen, müssen Sie die Proxyeinstellungen des Internet Explorers konfigurieren.
So schön das alles ist mit dem HTTP, aber es gibt immer noch weitere Aspekte, die betrachtet werden müssen. So können sich ja mehrere Proxies in der Verbindung befinden. So kann es sein, dass:
- Outlook einen Proxy benötigt, um in das Internet zu kommen
- Dieser Internet Proxy eine Authentifizierung erwartet
- Zwischen Outlook und Internet ein Router mit NAT steht
- Der Zugang aus dem Internet zum Exchange über einen reverse Proxy läuft
- Der Zugang aus dem Internet zum Exchange über reverse NAT läuft
- Der RPC-Proxy auf Exchange installiert ist
- Der RPC-Proxy auf einem Frontendserver installiert ist
Und vieles mehr. mit folgenden Ketten habe ich bislang Erfahrung gemacht:
Client | zum Internet | Internet | zum Exchange Server | Server | Ergebnis |
---|---|---|---|---|---|
|
Direkt (Offizielle IP) |
|
ISA-ReverseProxy->RPCProxy |
|
|
Private IP (Router/NAT) |
ISA-ReverseProxy->RPCProxy |
|
|||
SQUID-Proxy ohne Auth |
ISA-ReverseProxy->RPCProxy |
|
|||
ISA-Proxy ohne Auth |
ISA-ReverseProxy->RPCProxy |
|
|||
SQUID-Proxy-mit-auth |
ISA-ReverseProxy->RPCProxy |
|
|||
Jana-Server mit AUTH an SQUID-Proxy(Auth) |
ISA-ReverseProxy->RPCProxy |
|
Die Verbindung über einen HTTP-Proxy mit expliziter nicht integrierter Anmeldung funktioniert nicht, da Outlook mit RPC over HTTP keine Möglichkeit bietet, zusätzlich zur Anmeldung an Exchange selbst auch noch eine Anmeldung an einem Proxy-Server zu machen. Der Zugriff über einen Proxy funktioniert also nur dann, wenn der Proxy die "integrierte Anmeldung" (ISA-Server, Microsoft Proxy 2.0) unterstützt oder auf eine Anmeldung verzichtet.
Um dieses Manko zu umgehen gibt es weitere Möglichkeiten:
- VPN über HTTP
Immer mehr Produkte erlauben es, eine VPN-Verbindung über HTTP aufzubauen, z.B.: www.htthost.com oder http://openvpn.sourceforge.net/. Dazu benötigen Sie aber zusätzlich eine Gegenseite. - Eigener Proxy
Ein anderer Weg ist das Zwischenschalten eines eigenen Proxy Servers, welcher den eigentlichen Proxy Server als "Upstream Proxy" verwendet und hierbei die Anmeldung durchführt. Outlook verbinden Sich dann mit ihrem lokalen Proxy Server ohne weitere Anmeldung. So kann z.B. Proxomitron oder Jana Server (http://www.janaserver.de) diese Funktion ausführen.
Schade dass es nicht auch von Microsoft ein VPN über HTTP gibt. Kritisch kann sein, dass RPC over HTTP auf einen Timeout läuft. Dann kann mit Regedit ein entsprechender Eintrag vorgenommen werden.
- 831060 Outlook 2003 Cannot Connect Over the Internet to Exchange Server 2003
- Q822595 You receive a "server unavailable" error message when you try to connect to Exchange Server 2003 by using remote procedure call over HTTP
Einfacher ist es, einfach folgende Datei in Notepad als REG-Datei zu speichern und zu importieren:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_User\Software\Microsoft\Office\11.0\Outlook\RPC] "ConnectTimeout"=dword:000493e0 "ConnectTimeoutLow"=dword:000493e0 "RFRTimeout"=dword:000493e0
RPC über fremden Proxy mit Proxomitron
Im vorherigen Abschnitt habe ich erläutert, dass Outlook RPC over HTTP nur nutzen kann, wenn der Proxy entweder keine oder eine integrierte Authentifizierung nutzt und damit ihr PC keine weitere Authentifizierung erfordert. Verlangt der Proxy jedoch beim Zugriff auf das Internet zusätzliche Benutzerdaten, dann ist eine Nutzung mit Outlook ohne Hilfsmittel ausgeschlossen. Aber nur weil Outlook keine zusätzliche Authentifizierung für den Zugang per HTTP über das Internet zum Exchange Server unterstützt, heißt das noch lange nicht, dass es überhaupt nicht geht. Die Lösung funktioniert so, dass wir zwischen Outlook und dem Proxy, der eine Authentifizierung erfordert, einen weiteren Proxy schalten.
Bei mir hat sich dazu das kostenfreie Programm Proxomitron bewährt, welches einmal gestartet als kleines Icon in der Systemsteuerung liegt und als Proxy fungiert. In Proxomitron stelle ich nun den Firmenproxy als "Upstream Proxy" ein. Hier kann ich auch die Anmeldedaten hinterlegen. Nun muss ich meinen Internet Explorer nur noch so einstellen, dass er als Proxy "localhost:8080" verwendet. Proxomitron selbst erlaubt per Default nur den Zugriff vom lokalen PC selbst und fordert keine Anmeldung an. So kann ich dann auch in Umgebungen mit unfreundlichem Proxy doch RPC over HTTP nutzen. Nur wenn der upstream Proxy keine BasicAuth anbietet, ist auch dieser Weg verbaut.
- Weitere Informationen zu Proxomitron
RPC/HTTP und andere Proxies
Wer . Outlook Anywhere (RPC over HTTP) veröffentlichen will, dann müssen Sie wissen, dass Outlook immer einen Request mit 1GB (1073741824 genaue Bytes) anfordert, selbst wenn die Menge an Daten dann kleiner ist. Das können Sie bei der Fehlersuche mit Fiddler sehen:
Diverse Firewalls mögen so etwas natürlich nicht. Beim Einsatz des IIS7 AAR (siehe auch LoadBalancer) stoppt ein Default Limit von 30 MB (HTTP Request Limit) die Funktion. Im IISLog kann man aber nicht erkennen, dass der Client einen so großen Request anfordert aber nicht wirklich verwendet. Entsprechend müssen Sie den Wert für "maximum allowed content length (Bytes)" im IIS7 anpassen.
HTTPS über entschlüsselnde Proxies
Als Dienstleister darf man sich das ein oder andere Mal natürlich auch beim Kunden anschließen und bekommt freundlicherweise einen Zugang über einen Proxy. Natürlich nutze ich für alle Zugriffe SSL, damit eine echte Verschlüsselung von Ende zu Ende erfolgt. Leider können damit normale Proxies nicht in den Traffic rein schauen. Aber es gibt Proxy-Systeme, die dann sich behelfen und mir meinen Webserver mit einem anderen Zertifikat vorgaukeln, um den SSL-Tunnel aufzubrechen. Da solch ein Proxy natürlich kein "offizielles" Zertifikat für den Namen bekommt (und bezahlen kann), muss er mit einer eigenen CA arbeiten. Auf meinem Notebook fällt das natürlich auf:
Auf Clients in einer Firma können diese Meldungen natürlich einfach unterdrückt werden, indem die "WebWasher Root CA" einfach als "Trusted" automatische (-> Gruppenrichtlinien) eingetragen wird. Insofern kann man als Mitarbeiter in einer Firma bei der Verwendung von SSL keineswegs sicher sein, dass es wirklich eine Ende zu Ende Verschlüsselung ist.
Proxy und Authentifizierung
Outlook Anywhere erfordert natürlich eine "Anmeldung". Der Exchange Administrator kann dazu in den Einstellungen zwischen "Basic" und "NTLM" wählen. Dies ist aber primär die Einstellung, die an den Client per Autodiscover gesendet wird. Aber die Wahl will gut bedacht sein:
- Basic
Einfach, schnell aber sollte per SSL verschlüsselt werden, damit die Daten nicht abgefischt werden. Allerdings erlauben ältere Outlooks nicht das Kennwort zu speichern. - NTLM
Diverse Outlook Versionen senden per Default die "lokalen Anmeldedaten" mit. Wenn der Anbieter in der "Cloud" ist, wird das aber nicht funktionieren. Nicht jede Outlook-Version fragt dann nach alternativen Anmeldedaten. Hier hilft dann die Konfiguration auf Outlook, explizit nachzufragen
Dann gibt es noch die Einflüsse eines Proxy:
Use Basic Authentication or
Windows Integrated Authentication to
authenticate to the RPC Proxy?
RPC over HTTP
currently supports only NTLM - it doesn't
support Kerberos. Also, if there is an HTTP
Proxy or a firewall between the RPC over HTTP
client and the RPC Proxy which inserts the via
pragma in the HTTP header, NTLM authentication
will not work.
Quelle:
http://msdn.microsoft.com/en-us/library/aa378641(v=vs.85).aspx
Insofern ist "Basic" oft die kompatibelste Version und in Verbindung mit neueren Outlooks kann der Anwender das Kennwort ja auch speichern. Nur wenn die Clients und Server im gleichen Forest sind und man die Probleme mit Proxies vermeiden kann, wäre NTLM eine option