RPC over HTTP
RPC over HTTP auf IWndows 2008 benötigt etwas
Hilfe, da die Exchange Dienste nicht auf IPv6-Adressen lauscht, aber
RCP/HTTP über Localhost die IPv6-Adresse nutzt
http://blog.aaronmarks.com/?p=65
Lösung: IPv6 in der Registrierung abschalten
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\ParametersDisabledComponents:DWord32
= 0xFF
Outlook kann am besten mit einer RPC-Anbindung an den Exchange Server genutzt wird. Allerdings ist das nicht ganz ungefährlich, da dazu der Portmapper Dienst au 135/TCP erreichbar und ohne besondere Vorkehrungen auch alle "High-Ports" erreichbar sein müssen. Niemand wird daher ohne besondere Gründe den Exchange Server ungesichert ins Internet stellen, sondern immer eine Firewall mit Authentifizierung davor stellen.
Leider gibt es mit Windows 32bit das 2/3/4 GB Limit und das gilt auch für den IIS, in dessen Kernelspeicher der RPC-Proxy geladen wird. Microsoft empfiehlt pro Front End Server ca maximal 2.000 simultane Anwender. Siehe auch http://technet.microsoft.com/en-us/library/bb124771(EXCHG.65).aspx
Beim Einsatz von Outlook 2007 und Exchange 2007 gehen (leider) nicht mehr alle Zugriff durch den RPC/HTTP-Tunnel. Zugriff auf das offline Adressbuch (OAB), Frei/Beleg-Zeiten etc. nutzen direkt die Exchange Webservice und Autodiscover
Outlook nutzt per Default IMMER die Port 80 oder 443. Andere Ports können über den Assistent leider nicht angegeben werden. Übereinen Trick und RegEdit geht es aber doch. Siehe http://www.d-fens.net/?go=kb&id=200023.
Direktes RPC
Daher muss diese Zugang besonders gesichert werden. Die Möglichkeiten sind vielfältig:
- VPN
Der PC baut erst eine sichere verschlüsselte Verbindung zum Netzwerk auf. Damit werden die Daten verschlüsselt und getunnelt zum Zielnetzwerk übertragen. - IP-Authentifizierung
Hersteller wie RSA und andere Token-Verfahren erlauben eine Freischaltung des Clients aufgrund der IP-Adresse. Der Anwender greift zuerst mit einem Browser auf eine Seite zu, über die er sich sicher autorisiert. Damit erhält die Firewall die Information, dass diese IP-Adresse für bestimmte Dienste für eine bestimmte Zeit frei geschaltet wird. Ziel ist, dass unbekannte Personen überhaupt nicht bis zu Anmeldung des Exchange Servers auftreten. Problem ist der Einsatz von NAT, da sich hier viele Systeme hinter eine Adresse verbergen können. - ISA-Server mit RPC Veröffentlichung
Eine weitere Möglichkeit ist der Einsatz des ISA-Servers, welcher die RPC-Anfragen der Clients annehmen und nach Prüfung an den Exchange Server weitergeben. Damit übernimmt der ISA-Server die Absicherung der RPC-Kommunikation, dass z.B. "nur" Exchange erreicht werden kann und nicht noch andere Dienste (File, Print, SQL etc.) auf dem Server
Auf jeden Fall kann nur davon abgeraten werden, einen Exchange Server per RPC ungesichert im Internet erreichbar zu machen.
RPC over HTTP
Outlook 2003 und höher erlaubt es, allein über HTTP/HTTPS eine gesicherte Verbindung zwischen Client und Server aufzubauen und sowohl aktiv zu arbeiten als auch zu replizieren. Dies kann eine sinnvolle Alternative zu einem VPN sein. Allerdings sind die Voraussetzungen zum Einsatz zu beachten:
Ehe Sie nun RCP over HTTP einsetzen können, muss Windows 2003 Server auf folgenden Systemen installiert sein:
- Postfachserver müssen Exchange 2003 sein
Auf allen Server, deren Postfächer über RPC over HTTP erreicht werden müssen, muss Exchange 2003 Installiert sein - Alle Globalen Katalogserver müssen Windows 2003 Sein
die von Outlook 2003 und Exchange 2003 genutzt werden. (Das Active Directory ersetze den Exchange 5.x Verzeichnisdienst) - Exchange 2003 Frontend Server
die als RPC Proxy genutzt werden. - Exchange Server 2003 - System Requirements for RPC over HTTP on Exchange
Server 2003
http://technet.microsoft.com/en-us/library/aa998943.aspx
Zusätzlich gilt:
- Exchange 2003 oder neuer (also auch 2007 und 2010) muss auf allen Servern installiert sein, die Postfächer für RPC over HTTP bereitstellen.
- Alle Clients müssen Outlook 2003, 2007 oder neuer einsetzen
- Betriebssystem muss mindestens Windows XP SP1 + Patch "Q331320 Windows XP Patch: RPC Updates needed for Exchange Server 2003 Beta" sein. Natürlich geht auch Windows XP SP2 und höher und Windows Vista und Windows 7
- HTTPS über Standardports 443 oder 80
Offiziell ist es nicht möglich, Outlook auf einen anderen Port als 443 bzw. 80 zu konfigurieren. Bei der Nutzung von 80 (ohne SSL) wird die "Basic-Authentication" nicht unterstüzt.
Empfehlung
- Firewall mit Application Filter
Sie sollten nicht ohne entsprechende Firewall die RPC-Funktion über das Internet frei schalten.
Insofern bedeutet die Einführung des ersten Outlook 2003 Benutzers mit RPC over HTTP eventuell eine weit reichende Aktualisierung ihrer Umgebung.
RPC over HTTP Prinzip
Die prinzipielle Funktionsweise ist auf dem folgenden Bild skizziert:

Outlook spricht per HTTPS mit dem IIS, auf dem es ein virtuelles Verzeichnis /RPC gibt. Auf diesem Server ist der RPC-Proxy installiert, was im wesentlichen eine DLL in einem virtuellen Verzeichnis des IIS ist.
Die komplette Outlook Kommunikation erfolgt dabei über HTTP, d.h. auch der Zugriff auf die GAL auf einem DC etc.
Achtung: Outlook 2007 erkennt, wenn es sich um einen Exchange 2007 Server handelt und nutzt dann für OOF, OAB und andere Zugriffe die Exchange Web Services (EWS) und benötigt dazu ebenfalls "Autodiscover"
RPC over HTTP auf dem Server installieren und konfigurieren
Auf der Gegenseite müssen Sie natürlich ihren Server noch "RPC over HTTP tauglich" machen. Dazu müssen Sie wissen, dass die Funktion "RPC-Proxy" selbst erst mal keine Funktion von Exchange ist, sondern eine Funktion des Windows 2003 Servers und demnach über die Systemsteuerung - Software - Windows Komponenten installiert wird:

Dieser Dienst ist auf dem Server zu installieren, welcher die Anfragen der Clients aus dem Internet annimmt.
Danach sollten Sie in ihrem Dienstmanager für den Webserver ein neues virtuelles Verzeichnis finden:

Das Verzeichnis "/RPC" enthält einfach nur eine DLL, die bei einer Verbindung auf diese URL aufgerufen wird und die RPC-Anfragen auspackt weitergibt.
Wenn Sie den RPC-Proxy nicht auf Exchange laufen lassen und eine Verbindung aus dem Internet über weitere HTTP-Proxy Server nutzen (Siehe folgendes Kapitel), dann ist es unwahrscheinlich, dass die Standardanmeldung mit NTLM funktioniert. Sie müssen dann das virtuelle Verzeichnis /RPC für die Standardanmeldung freigeben.

Der Einsatz von dann natürlich angeraten, damit Kennworte nicht ungeschützt übertragen werden. Die NTLM-Anmeldung sollte auch aktiv sein, wenn Sie dies intern verwenden wollen.
RPC over HTTP auf dem Exchange Server 2003 konfigurieren
Achtung:
Exchange 2007 Einstellungen im folgenden Kapitel.
Seit Exchange 2003 SP1 findet sich im Exchange System Manager bei den Eigenschaften des Servers eine eine Karteikarte zur einfachen Konfiguration:

Allerdings vereinfacht diese Karteikarte nur die Konfiguration bei einer Frontend/Backend Konstellation. Bei einem einzelnen Server ist weitere Konfigurationen erforderlich. Die Einstellung "Back-End-Server" sorgt unter anderem dafür, dass auf dem Server folgende Schlüssel gesetzt werden:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem]
"Rpc/HTTP Port"=dword:00001771
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeSA\Parameters]
"HTTP Port"=dword:00001772
"Rpc/HTTP NSPI Port"=dword:00001774
Prüfen Sie diese Einträge, denn ich habe es schon erlebt, dass diese Werte NICHT gesetzt wurden oder irrtümlich lokalisiert warten (also RPC/HTTP-Anschluss" und "HTTP-Anschluss".
Diese Einträge müssen auf jedem Backend Server durchgeführt werden und werden erst nach dem Neustart der Exchange Dienste aktiv. Die Funktion sollten Sie dann mit dem Befehl NETSTAT prüfen:
netstat -a -o | find "600"
TCP nawsv001:6001 srv01.msxfaq.test:0 ABHÖREN 3996
TCP nawsv001:6002 srv01.msxfaq.test:0 ABHÖREN 3152
TCP nawsv001:6004 srv01.msxfaq.test:0 ABHÖREN 476
Dieser Server "lauscht" also auf den Port 6001,6002 und 6004.
Auf dem RPC-Proxy-Server muss nun der Zugriff auf eben diese Server ebenfalls eingetragen werden. So muss der bei einer Single Server Installation der Eintrag "ValidPorts" gepflegt werden:
HKLM\Software\Microsoft\Rpc\RPCproxy\ValidPorts:String = srv01:6001-6002;srv01.msxfaq.test:6001-6002;srv01:6004;srv01.msxfaq.test:6004
Hier muss sowohl der "kurze" NETBIOS-Name als auch der lange FQDN eingetragen werden. Nach der Installation und dem Start sollten Sie im Eventlog kontrollieren, ob der RPC-Proxy korrekt gestartet ist.

Weiterhin müssen Sie natürlich ihrem Domaincontroller eventuell den Port für RPC/HTTP eintragen, wenn diese zugleich Exchange Backend Server ist.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\NSPI interface protocol sequences: Multi_SZ = ncacn_http:6004
Diese Änderung wird erst nach einem Neustart des Servers erforderlich. Auch Microsoft liefert einige sehr viel aussagekräftigere Informationen z.B. auf:
- 833401 How to configure RPC over HTTP in Exchange Server 2003
- Technet Exchange Server 2003 RPC over HTTP Deployment Scenarios
ms-help://MS.TechNet.2006NOV.1033/exchange/tnoffline/prodtechnol/exchange/exchange2003/proddocs/library/ex2k3rpc.htm
Wenn man all die Parameter und Ports mal zusammen stellt, dann ergibt sich folgendes Bild:

In Exchange 2007 agiert der MSExchangeSA auf Port 6004 als NSPI-Proxy zum DC. Daher ist es für Exchange nicht mehr erforderlich, dass der RPCProxy auch auf den DC zugreifen muss.
Die RPCPRoxy.DLL nutzt drei Ports die zum Teil vom Exchange Server Informationsspeicher, von der Systemaufsicht aber auch vom Domaincontroller bereit gestellt werden. In den Beispielen ist der DC und Exchange Server der gleiche Server namens SRV01. Wenn Sie die Funktion auf mehrere Server verteilen, dann müssen Sie natürlich die Namen entsprechend anpassen.
RPC over HTTP und Exchange 2007
Exchange 2007 wird "ähnlich" konfiguriert. Hier sind die Einstellungen beim Server der CAS-Server-Rolle durchzuführen. Hier müssen Sie einfach "Outlook Anywhere" aktivieren.

Mehr gibt es hier eigentlich nicht zu konfigurieren. Für den Zugriff aus dem Internet sollte man auf dem IIS natürlich ein SSL-Zertifikat einrichten. Das ist dann wieder eine Einstellung in der MMC für den IIS.
Der Assistent erfragt dann zusätzlich den externen Namen, die Authentifizierungseinstellungen und die SSL-Absicherung.

Neu ist, dass die RPCProxy-DLL bzw. Exchange nun auch im Eventlog Warnungen und Fehler protokolliert, so dass ein Blick ins Eventlog durchaus lohnenswert bei der Fehlersuche ist. Holen Sie das dann einfach nach. Nach der Installation der RPC/HTTP Proxy-Komponente und Änderungen an der Exchange Konfiguration sehen Sie ebenfalls entsprechende Meldungen im Eventlog.
Sie müssen aber dennoch den "RPC over HTTP Proxy" installieren. (Auch bei Windows 64 Bit). Hier ist die Fehlermeldung, wenn Sie "Outlook Anywhere" aktivieren aber auf dem darunter liegenden Windows vergessen haben, den RPC/HP Proxy zu installieren.

RPC und DC
RPC over HTTP spricht aber nicht nur mit Exchange, sondern muss natürlich auch den Domain Controller erreichen.
In Exchange 2007 agiert der MSExchangeSA auf Port 6004 als NSPI-Proxy zum DC. Daher ist es für Exchange nicht mehr erforderlich, dass der RPCProxy auch auf den DC zugreifen muss.
Ansonsten verbindet sich der RPCProxy mit dem Port 593 auf dem Windows Domain Controller. Auch dies kann mit einem TELNET geprüft werden.
telnet servername 593

Der Globale Katalog Domaincontroller muss sich, wie im Bild sichtbar, melden.
RPC auf dem Client einstellen
Nachdem die Einrichtung auf dem Server erfolgt ist, können Sie auf den Client die Funktion RPC over HTTP nutzen. Dazu müssen folgende Voraussetzungen auf dem Client erfüllt sein:
- Windows XP mit Service Pack 2
Früher konnte auch SP1 mit einem Hotfix genutzt werden, aber Sie sollten gleich mit SP2 starten - Outlook 2003
Frühere Versionen von Outlook unterstützen kein RPC over HTTP
Erst dann können Sie in Outlook die entsprechenden Einstellungen vornehmen.
Es ist problemlos möglich, auch die Erstinstallation mit RPC/HTTP zu konfigurieren, auch wenn dies immer wieder bezweifelt wird. Aber Sie müssen auf dem Client natürlich erst einmal ein paar Fehlermeldungen wegklicken, da der Outlook bei Eingabe des Servernamens und Usernamens direkt eine Verbindung versucht, die natürlich nicht geht. Die muss man übergehen und dann in den erweiterten Einstellungen erst den RCP-Proxy eintragen, damit es dann geht.
Beim Einsatz von HTTPS muss natürlich sichergestellt sein, dass die Zertifikatskette steht. Speziell bei privaten Zertifizierungsstellen muss auf dem Client dann auch diese StammCA als vertrauenswürdig installiert sein. Outlook bietet keinen Warndialog an, wenn die Zertifikate nicht stimmen
In Outlook werden zwei Servernamen gepflegt:
- Exchange Server

Dieser Servernamen ist der interne Name des Exchange Mailboxservers, wie er vom RPC-Proxy intern aufgelöst werden kann. Es ist also nicht erforderlich, dass dieser Name per DNS aus dem Internet erreichbar ist. - RPC-Proxy-Server
Diese Adresse ist der Name des RPC-Proxy Servers, welchen Outlook per HTTPS anspricht.

Dieser Name muss aus dem Internet auflösbar und erreichbar sein.
Wenn Sie in der Taskleiste bei gedrückter "STRG-Taste" mit der rechten Maus auf das Outlook Icon klicken, können Sie sich den Verbindungsstatus anzeigen lassen und hier erkennen, dass Outlook tatsächlicher über HTTPS kommuniziert.

Auch auf dem Server können Sie im IISLog erkennen, dass nun sehr viele Anfragen mit der URL "/RPC" protokolliert werden.
RPC und Kennwort
Wer nun über Outlook und RPC/HTTP sich am Exchange Server anmeldet, wird vielleicht feststellen, dass er bei jedem Start immer wieder nach dem Kennwort gefragt wird. Outlook merkt sich das Kennwort nicht und eine Checkbox, um dies zu erlauben, ist auch nicht vorhanden.
Es gibt aber einen Trick, da man auf dem PC ja mit einem Benutzer angemeldet ist. man muss den RPC/HTTP-Endpunkt im Exchange Netz nur dazu bringen, dass man nicht nicht nur per der "Klartextauthentifizierung" anmelden kann, sondern auch per NTLM. Die Einstellung ist auf der virtuellen Webseite im Verzeichnis RPC durchzuführen.
Als zweites muss man auf dem Client natürlich noch einstellen, dass überhaupt NTLM auch erlaubt wird. Da geht über folgenden Registrierungsschlüssel:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"Lmcompatibilitylevel"=dword:00000002
Alternativ können sie auch "3" nutzen.
- Outlook über NTLM am Exchange via RPC anmelden
http://dnn.mssbsfaq.de/SBS2003/Exchange2003/OutlooküberdasInternetmitNTLMAnmeldung/tabid/406/language/de-DE/Default.aspx - 820281 You must provide Windows account credentials when you connect to Exchange Server 2003 by using the Outlook 2003 RPC over HTTP feature
- Q655 - Anmeldeinformationen von Outlook an Exchange Server speichern
http://www.synserver.de/support/faq.php?Q655
Das ganze funktioniert natürlich nur soweit, wie Proxy Server etc. die Anmeldung per NTLM passieren lassen. Da durch diese Einstellung das Kennwort "schwächer verschlüsselt" übertragen wird, sollten sie natürlich wie bei der Klartextanmeldung unbedingt SSL nutzen.
Die Einstellung ist leider nicht allein auf Outlook bezogen, sondern auf den kompletten PC und schwächt damit auch die interne Kommunikation, da Angreifer sich als "alter NT4 Client" ausgeben könnten und der PC dann das NTLM-Kennwort mit einer schwächeren Verschlüsselung absendet. Es gibt entsprechende Programme, die solche Pakete gezielt suchen und knacken (Stichwort Cain&Abel und andere)
Achtung: Mit Windows 2008 als DC "soll" dieser Trick mit einer schwächeren Authentifizierung gar nicht mehr gehen.
RPC und Absicherung
Natürlich haben Sie erst mal ein schlechtes Gefühl, einen IIS direkt am Internet zu betreiben, nur damit Clients auf das virtuelle Verzeichnis "/RPC" zugreifen können. Aber hier können Sie dann mit einer Firewall die Sicherheit erhöhen, welche die HTTPS-Verbindung annimmt und nach innen weiter gibt.

So kann z.B. der ISA-Server über eine Webveröffentlichung gezielt Verbindungen zu dieser URL passieren lassen, während alle anderen Zugriffsversuche (z.B. nach /MSADC, /Scripts, /CGI-BIN etc.) von außen blockiert werden.
- Einrichtung von RPC over HTTPS mit dem ISA Server 2004
http://www.msisafaq.de/Anleitungen/2004/Firewallrichtlinien/RPCHTTPS.htm
RPC und Checkpoint
Eine "Besonderheit" ergibt sich, wenn Sie zwischen den Exchange 2007 CAS-Servern und den Exchange 2007 Mailbox Servern eine Checkpoint Firewall steht, dann richten viele Admin einfach eine Regel ein, dass der CAS-Server alle Ports des Mailbox Servers erreichen kann. Vergessen wird dabei oft die Funktion, dass eine Checkpoint bei einem "ANY" trotzdem nicht alle Ports freigibt, sondern einige vordefinierte Ports weiterhin geblockt werden. So definiert Checkpoint die Port 6000-6069 als "Unix X11 Server" und verhindert den Zugriff. Ich Checkpoint Administrator sollte aber wissen, wie er dies korrekt einstellt.
RPC und ausgehende Proxies
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 |
|---|---|---|---|---|---|
|
Outlook |
Direkt | ">Offizielle IP
|
ISA-ReverseProxy->RPCProxy |
![]() Exchange 2003 |
|
| 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
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.
Fehlersuche
Sollte RPC over HTTP dann jedoch immer noch nicht funktionieren, dann ist eine weitere Analyse erforderlich. Hier sind zuerst folgende Punkte zu prüfen:
- Erreicht der Client den Server ?
Hier spielen die Namensauflösung, Firewalls etc. eine Rolle. Versuchen Sie einfach mal OWA zu nutzen. Damit können Sie schon fast sicher sein, dass die Namensauflösung und zumindest HTTP durch kommt.
Eine gute Kontrolle ist der Verbindungsstatus. Dazu müssen Sie bei gedrückter "STRG"-Taste mit der rechten Maustaste auf das Outlook Icon in der Taskleiste drücken. Dann können Sie im Kontextmenü den Verbindungsstatus aufrufen.

- RPC auf dem Server
Kontrollieren Sie im Eventlog den Start er RCP over HTTP Funktion und im IIS Manager die Existenz des virtuellen Verzeichnisses RPC. - SSL aktiv und gültig
Versuchen Sie einen Zugriff auf die RPC-URL über HTTPS und prüfen Sie, ob der Browser das SSL-Zertifikat ohne Warnungen annimmt. Eine Fehlermeldung wird dann natürlich kommen, da kein Browser "RPC" spricht. aber das "SSL-Schloss" muss geschlossen sein. - Basic Authentication
RPC muss die Benutzerdaten und Anmeldung des Benutzers im "Klartext" erhalten, damit es mit diesen Anmeldedaten per RPC an den Exchange Server zugreifen kann. Daher muss "Basic-Auth" auf dem Verzeichnis RPC aktiviert sein. - IIS-LogFiles
Jeder Zugriff auf den IIS wird in den entsprechenden Protokolldateien niedergeschrieben. Die Einträge können z.B.: ähnlich aussehen:
2004-05-19 14:13:30 192.168.0.1 RPC_IN_DATA /rpc/rpcproxy.dll
srv01.msxfaq.local:6001 80 - 192.168.100.12 MSRPC 401 2 2148074254
2004-05-19 14:13:30 192.168.0.1 RPC_OUT_DATA /rpc/rpcproxy.dll
srv01.msxfaq.local:6001 80 - 192.168.100.12 MSRPC 401 2 2148074254
- C:\WINDOWS\system32\LogFiles\HTTPERR\
In diesem Verzeichnis liegen per Default die Fehlermeldungen, die RPC over HTTP produziert.
2005-03-06 00:03:22 192.168.0.12 39393 192.168.0.10 443
HTTP/1.1 RPC_IN_DATA /rpc/rpcproxy.dll?srv01.msxfaq.local:6004 400 1
BadRequest
2005-03-06 00:03:28 192.168.0.12 39397 192.168.0.10 443 HTTP/1.1
RPC_IN_DATA /rpc/rpcproxy.dll?SRV01:6004 400 1 BadRequest
- Firewall/URLSCAN
Wenn das weiter nichts hilft, dann könnte es noch ein Problem der Firewall oder eine Einstellung von URLSCAN sein, die gezielt die URl "/RPC/*" blockieren
Versuchen Sie z.B. RPC over HTTP einfach erst einmal von intern ohne Firewall, Router, NAT und andere möglichen Problemen. Auch ein zweiter PCs kann hilfreich sein, wenn nur eine Unstimmigkeit auf dem einzigen Testsystem Sie auf die falsche Fährte schickt.
Links
- Clientkommunikation
- RPC
- How does Outlook Anywhere work (and not work)?
http://msexchangeteam.com/archive/2008/06/20/449053.aspx - Exchange Server 2003 - System Requirements for RPC over HTTP on
Exchange Server 2003
http://technet.microsoft.com/en-us/library/aa998943.aspx - Exchange Server 2003 Troubleshooting RPC over HTTP Communications
http://technet.microsoft.com/en-us/library/bb124649.aspx - 555316 Error 401.3 when configuring RPC over HTTP on Exchange 2003 after installing Windows Server 2003 SP1
- 325930 How to troubleshoot connectivity issues that are caused by RPC client protocol registry entries
- 331320 Outlook 2003 Performs Slowly or Stops Responding When Connected to Exchange Server 2003 Through HTTP
- 322389 How to Obtain the Latest Windows XP Service Pack
- 817322 Performance Considerations When You Configure Exchange Server 2003 for RPC Over HTTP Connections on Low-Bandwith Networks
- 820281 You Must Provide Windows Account Credentials When You Connect to Exchange Server 2003 With Outlook Over HTTP
- 822595 You receive a "server unavailable" error message when you try to connect to Exchange Server 2003 by using remote procedure call over HTTP
- 831051 How to use the RPC Ping utility to troubleshoot connectivity issues with the Exchange over the Internet feature in Outlook 2007 and in Outlook 2003
- 833401 - How to configure RPC over HTTP in Exchange Server 2003
RPCProxy muss kein Exchange 2003 sein !!! - 841652 "How to configure an RPC over HTTP topology on computers that are running Exchange 2003 with Service Pack 1"
- RPC over HTTP TechNet Artikel
http://support.Microsoft.com/default.aspx?scid=fh;EN-US;exch2003rpc - RPC over HTTP - How it Works
http://msdn.Microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/using_http_as_an_rpc_transport.asp - RPC over Internet
http://www.Microsoft.com/technet/prodtechnol/exchange/2003/library/ex2k3rpc.mspx - RPC over HTTP und Sicherheit
http://msdn.Microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp - Eine weitere Zusammenfassung
http://www.it-training-grote.de/download/vhs/msx2003/rpcoverhttp.doc - Using Outlook 2003 to connect to Exchange 2003 using RPC over HTTPS
http://www.MSExchange.org/pages/article.asp?id=586 - Designing DNS to Support Remote Outlook MAPI Client Access to
Exchange via Secure Exchange RPC Publishing
http://www.ISAserver.org/pages/article.asp?id=1157 - MSXFAQ - Internet News Connector
- OWA hinter ISA
http://www.msisafaq.de/Anleitungen/2004/Firewallrichtlinien/RPCHTTPS.htm
http://www.isaserver.org/tutorials/Publishing_Exchange_2000_Outlook_Web_Access_with_ISA_Server.html - Configuring Outlook 2003 for RPC Over HTTP
http://www.Microsoft.com/office/ork/2003/three/ch8/outc07.htm
http://office.Microsoft.com/en-us/assistance/HA011402731033.aspx - RPC over HTTP
http://www.MSExchange.org/pages/article.asp?id=586 - Title: Configuring the Outlook 2003 RPC over HTTP Client
http://www.MSExchange.org/pages/article.asp?id=614 - Webcasts zu RCP over HTTP
16. RPC/HTTP: Overview and installing RPC Proxy component
17. RPC/HTTP: IIS Config and a bit on certificates
18. RPC/HTTP: Exchange IIS Config completion
19. RPC/HTTP: Working from internal network
20. RPC/HTTP: Revisiting our ISA rules
21. RPC/HTTP: Outlook working externally. OWA still requires more work
22. RPC/HTTP: Bounce OWA through localhost
23. RPC/HTTP: OWA Back to HTTPS
24: Infrastructure essentials Blogcast - RPC/HTTP for Outlook & Exchange - RPC Publishing
http://blogs.technet.com/jhoward/archive/2005/11/29/415244.aspx -
Apache als reverse Proxy für Exchange
http://media.plominski.de/docs/Xampp-ReverseProxy-fuer-Exchange-RPCoverHTTPS-12.pdf -
Weitere Anleitung:
http://www.petri.co.il/configure_rpc_over_https_on_a_single_server.htm
http://www.petri.co.il/testing_rpc_over_http_connection.htm -
Umstellen von Outlook auf andere Ports.
http://www.d-fens.net/?go=kb&id=200023 -
Testing RPC over HTTP through ISA Server 2006 Part 1; Protocols,
Authentication and Processing
http://blogs.technet.com/isablog/archive/2007/08/13/testing-rpc-over-http-through-isa-server-2006-part-1-protocols-authentication-and-processing.aspx - TechNet article Troubleshooting RPC over HTTP Communications
http://technet.microsoft.com/en-us/library/bb124649.aspx - 831051 How to use the RPC Ping utility to troubleshoot connectivity issues with the Exchange over the Internet feature in Outlook 2007 and in Outlook 2003.
- 819124 Windows sockets error codes, values and meanings
- WinHttpTraceCfg.exe, a Trace Configuration Tool
http://msdn2.microsoft.com/en-us/library/aa384119.aspx - WinHTTP Error Messages
http://msdn2.microsoft.com/en-us/library/aa383770.aspx - RPC over HTTP Logging Wildness
http://blogs.technet.com/isablog/archive/2007/06/25/rpc-over-http-logging-wildness.aspx - Configuring Outlook 2003 for RPC over HTTP
http://office.microsoft.com/en-us/ork2003/HA011402731033.aspx - RFC’s 2616 (HTTP/1.1)
http://ietf.org/rfc/rfc2616.txt - RFC 2617 (Basic and Digest authentication for HTTP/1.1)
http://ietf.org/rfc/rfc2617.txt











