Microsoft Exchange 2013: OWA mit Zertifikat-basierter Authentifizierung

Mit OWA (Outlook Web App) ist keine Authentifizierung per Zertifikat/Smartcard möglich? Dem ist nicht mehr so. Seit Exchange 2013 SP1 wird von OWA und ECP nativ ADFS-basierte Authentifizierung unterstützt und in ADFS kann granular konfiguriert werden, wer sich woher wie anmelden muss. Lesen Sie in diesem Beitrag, wies geht.

Autor Markus Hengstler
Datum 13.11.2014
Lesezeit 7 Minuten

Vor Kurzen war ich bei einem sicherheitsbewussten Kunden. Es kam zur Sprache, dass OWA (Outlook Web App) nicht eingesetzt werde, weil keine Authentifizierung per Zertifikat/Smartcard möglich sei. Nun: Seit Exchange 2013 SP1 wird von OWA und ECP nativ ADFS-basierte Authentifizierung unterstützt und in ADFS kann granular konfiguriert werden, wer sich woher wie anmelden muss.

Die Ausgangslage

  • 1 DC mit Windows Server 2012 R2 und den Rollen Certificate Services und Federation Services installiert
  • 1 Windows 2012 R2 Server mit Exchange 2013 CU6
  • 1 Windows 8.1 Client

Die Konfigurationsschritte:

ADFS Relying Party einrichten

In der ADFS-Management-Konsole muss je ein Relying Party Trust für OWA und ECP erstellt werden:

exchange-2013-owa-client-certification-authentication-01

Microsoft Exchange Trainings

Für mehr Informationen zu Exchange 2013 und 2016 besuchen Sie einen der folgenden Kurse.

Zu allen Exchange-Server-Trainings

Für mehr Informationen zu Exchange 2013 und 2016 besuchen Sie einen der folgenden Kurse.

Zu allen Exchange-Server-Trainings

Die Daten müssen manuell eingegeben werden. Trusts zwischen zwei ADFS Servern können hingegen oft über die Metadaten-URL des Partnerservers konfiguriert werden:

exchange-2013-owa-client-certification-authentication-02

Die Eingabe des Display-Namens ist nur zu Informationszwecken – sollte aber aussagekräftig sein, da er zum Beispiel bei der Konfiguration eines WAP Server für die Veröffentlichung ins Internet automatisch aufgelistet wird:

exchange-2013-owa-client-certification-authentication-03

Der Trust muss nicht abwärtskompatibel sein:

exchange-2013-owa-client-certification-authentication-04

Die Verschlüsselung der Claims ist auch nicht nötig – die nächste Eingabemaske kann also leer bleiben:

exchange-2013-owa-client-certification-authentication-05

Da für OWA/ECP ein passiver Zugriff über einen Browser verwendet wird, muss WS-Fed gewählt und die entsprechenden URLs eingegeben werden:

exchange-2013-owa-client-certification-authentication-06

Damit der ADFS Server anhand der Webrequests erkennt, welche Trustkonfiguration verwendet werden soll, muss der Identifier (entspricht wiederum der URL) eingegeben werden, respektive wird dieser anhand der WS-Fed URL vom letzten Schritt automatisch übernommen:

exchange-2013-owa-client-certification-authentication-07

Es wird keine Multi-Faktor-Konfiguration benötigt:

exchange-2013-owa-client-certification-authentication-08

Es lässt sich in ADFS noch weiter einschränken, unter welchen Bedingungen ein Zugriff stattfinden darf. Im Assistent stehen aber nur die Optionen «Zugriff für alle» oder «Kein Zugriff» zur Verfügung. Dies kann später manuell verfeinert werden. Im Test wird der Zugriff für alle erlaubt:

exchange-2013-owa-client-certification-authentication-09

In der nächsten Maske muss nichts angepasst werden:

exchange-2013-owa-client-certification-authentication-10

Die Regeln, welche Claims für diesen Trust ausgestellt werden, können sofort oder erst später hinzugefügt werden. In diesem Beispiel öffnen wir den Assistenten sofort:

exchange-2013-owa-client-certification-authentication-11

exchange-2013-owa-client-certification-authentication-12

Insgesamt werden 3 Custom Rules benötigt:

exchange-2013-owa-client-certification-authentication-13

exchange-2013-owa-client-certification-authentication-14

exchange-2013-owa-client-certification-authentication-15

exchange-2013-owa-client-certification-authentication-16

Das Resultat sind die beiden Relying Party Trusts für OWA und ECP. Der Device Registration Service ist standardmässig in ADFS auf Windows Server 2012 R2 schon vorhanden.

exchange-2013-owa-client-certification-authentication-17

ADFS Primary Authentication auf Certificates ändern

In der Grundkonfiguration verwendet ADFS für interne Clients Windows Integrated Authentication und für externe (über Web Application Proxy empfangene Anforderungen) Forms-based Authentication. Um dies zu ändern, muss die Global Primary Authentication geändert werden:

exchange-2013-owa-client-certification-authentication-18

Im folgenden Screenshot ist ersichtlich, dass zwischen Extranet und Intranet unterschieden wird. Technisch wird das erreicht, indem Zugriffe über WAP extern sind und solche direkt über den ADFS Server intern. Dies liesse sich aber auch noch über Issuance Authorization Rules verfeinern – zum Beispiel mit bestimmten IP Ranges, in denen die Clients liegen.

exchange-2013-owa-client-certification-authentication-19

Exchange OWA/ECP Authentisierung von FBA auf ADFS ändern

In Exchange wird für die virtuellen Verzeichnisse von OWA und ECP die Authentisierungsmethode auf ADFS geändert. Dies schliesst alle anderen Verfahren aus. Zuerst ECP anpassen, danach OWA – sonst schlägt die Konfiguration fehl:

exchange-2013-owa-client-certification-authentication-20

IISreset kann mit dem standardmässigen Timeout von 20 Sekunden fehlschlagen, weswegen der Parameter /Timout:120 hinzugefügt wird:

exchange-2013-owa-client-certification-authentication-21

Token-Signing Certificate des ADFS Servers auf Exchange den Trusted Root CA hinzufügen

Der Exchange Server benötigt im Trusted Root Certification Authority Store des Computer Accounts das Token-Signing Zertifikat des ADFS Servers. Dieses kann in der ADFS-Management-Konsole angezeigt und dann exportiert werden:

exchange-2013-owa-client-certification-authentication-22

exchange-2013-owa-client-certification-authentication-23

exchange-2013-owa-client-certification-authentication-24

In Exchange wiederum wird es importiert:

exchange-2013-owa-client-certification-authentication-25

Exchange benötigt nun noch Informationen, damit die ADFS-basierte Authentifizierung klappt: die URL des Services (hier: https://sts.coho-vineyard.com/adfs/ls/), die URLs der lokalen Dienste, die den Service nutzen sollen, sowie den Fingerabdruck des vorher importierten Token-Signing Certificates. Dieser lässt sich mit folgendem PowerShell-Befehl finden und in die Konfiguration kopieren:

exchange-2013-owa-client-certification-authentication-26

exchange-2013-owa-client-certification-authentication-27

 

Testen des Zugriffs

Das Gerät für den Zugriff muss nicht zwingend Mitglied der Domäne sein. Allerdings benötigt der angemeldete Benutzer ein Zertifikat, das mit den AD-Account und der Zielmailbox korrespondiert. Dieses wurde von der internen CA ausgestellt und mit Private Key exportiert/importiert.

exchange-2013-owa-client-certification-authentication-28

Wenn im Browser die URL von OWA/ECP eingegeben wird, leitet Exchange diesen auf die URL von ADFS um und die Auswahl der Zertifikate wird angezeigt:

exchange-2013-owa-client-certification-authentication-29

Eventuell wird beim ersten Zugriff auf den Private Key um Erlaubnis gefragt:

exchange-2013-owa-client-certification-authentication-30

Danach wird der Browser wieder auf die OWA/ECP URL zurückgeleitet, wo er sich mit dem Token des ADFS Servers anmelden kann.
Falls die Revocation List der CA nicht zugänglich ist, kommt vorher noch diese Warnmeldung

exchange-2013-owa-client-certification-authentication-31

 

Falls der Client nicht Domänen-Mitglied ist, muss die Revocation List per HTTP(S) zur Verfügung gestellt werden, oder im Browser muss der Revocation Check deaktiviert werden (nicht empfohlen):

exchange-2013-owa-client-certification-authentication-32

Test des Zugriffs mit Smartcard

Da in meiner Testumgebung keine physischen Smartcards und Reader vorhanden sind, bin ich auf virtuelle Smartcards – ein Feature in Windows 8.x – ausgewichen. Nach Eingabe der URL im Browser erscheint ebenfalls die Auswahl, allerdings mit der weiteren Option des Zertifikats auf der Smartcard:

exchange-2013-owa-client-certification-authentication-33

Danach muss für den Zugriff auf den Private Key noch der Pin eingegeben werden:

exchange-2013-owa-client-certification-authentication-34

Fazit

Der Einsatz von ADFS mit Exchange bietet den Vorteil von erweiterten Authentisierungsmethoden, die noch granular angepasst werden könnten (z.B. nur registrierte Geräte, nur bestimmte Benutzergruppen).


Über den Autor

Markus Hengstler

Markus Hengstler arbeitet bei der UMB AG als Senior Systems Engineer in den Bereichen Exchange, Windows und Citrix. Dank seiner Erfahrungen in diesen Bereichen ist er zertifizierter «MCSE: Server Infrastructure». Ausserdem ist er einer von drei «MCSM: Messaging» in der Schweiz. Seit 2001 unterrichtet er als Microsoft Certified Trainer und seit 2010 als Citrix Certified Instructor bei Digicomp.