Dies ist der zweite Teil der Artikelserie. Wie schon im ersten Teil angekündigt, befasst sich dieser Artikel mit der Konfiguration.
Wichtig: Vorher unbedingt den ersten Teil lesen, da dieser Artikel direkt darauf aufbaut.
Konfiguration Exchange 2016
Der erste Teil endete mit den Überlegungen für die URLs mit denen auf Exchange zugegriffen werden soll. Der Einfachheit halber hier noch einmal die Tabelle mit den URLs:
Dienst / Protokoll | DNS-Name |
OWA (Interne URL) | https://mail.frankysweb.de/owa |
OWA (externe URL) | https://mail.frankysweb.de/owa |
OAB (interne URL) | https://mail.frankysweb.de/OAB |
OAB (externe URL) | https://mail.frankysweb.de/OAB |
ActiveSync (interne URL) | https://mail.frankysweb.de/Microsoft-Server-ActiveSync |
ActiveSync (externe URL) | https://mail.frankysweb.de/Microsoft-Server-ActiveSync |
MAPI (interne URL) | https://mail.frankysweb.de/mapi |
MAPI (externe URL) | https://mail.frankysweb.de/mapi |
EWS (interne URL) | https://mail.frankysweb.de/EWS/Exchange.asmx |
EWS (externe URL) | https://mail.frankysweb.de/EWS/Exchange.asmx |
ECP (interne URL) | https://mail.frankysweb.de/ecp |
ECP (externe URL) | https://mail.frankysweb.de/ecp |
Outlook Anywhere (Intern) | mail.frankysweb.de |
Outlook Anywhere (extern) | mail.frankysweb.de |
Autodiscover (Intern) | https://autodiscover.frankysweb.de/Autodiscover/Autodiscover.xml |
Die Konfiguration der URLs ist für Autodiscover wichtig. Diese URLs werden durch Autodiscover an Outlook verteilt, somit findet Outlook den entsprechenden Exchange Server. Werden die virtuellen Verzeichnisse nicht mit entsprechenden URLs konfiguriert, kommt es später wieder zu Zertifikatsfehlern. Es ist also genau darauf zu achten, dass für jedes virtuelle Verzeichnis eine entsprechende interne und externe URL gesetzt wird. Autodiscover verteilt sonst falsche URLs an die Clients.
Die URLs können per Exchange Administrative Center eingestellt werden, hier für OWA:
hier für ECP:
Auf diese Weise werden alle virtuellen Verzeichnisse konfiguriert, mit Ausnahme von “Powershell” und “Autodiscover”. “PowerShell” und “Autodiscover” werden _NICHT_ verändert und erhalten keine neuen URLs:
Es werden also nur die folgenden virtuellen Verzeichnisse mit den URLs aus der Tabelle gefüllt:
- owa
- OAB
- Microsoft-Server-ActiveSync
- mapi
- EWS
- ecp
Nachdem die virtuellen Verzeichnisse konfiguriert wurden, kann auch der Hostname für Outlook Anywhere vergeben werden, auch dies ist wieder per Exchange Administrative Center möglich:
Eine kleine Ausnahme bildet die Autodiscover URL für den CAS-Dienst, diese kann nur per Exchange Management Shell gesetzt werden. In der Standardeinstellung ist auch hier der interne Servername eingetragen:
Mit dem folgenden Befehl wird die URL entsprechend geändert:
Set-ClientAccessService EX1 -AutoDiscoverServiceInternalUri "https://autodiscover.frankysweb.de/Autodiscover/Autodiscover.xml"
Nachdem diese Schritte durchgeführt wurden, kann der IIS Server mittels “iisreset” neu gestartet werden:
Die Exchange Konfiguration ist soweit fertig, weiter geht es mit den erforderlichen DNS Einträgen.
DNS Konfiguration
Exchange hört nach den oben durchgeführten Schritte nur noch auf mail.frankysweb.de und Autodiscover auf autodiscover.frankysweb.de. Damit diese beiden FQDNs nun auch im internen Netzwerk, sowie auch aus dem Internet (HomeOffice) auflösbar sind, müssen entsprechende DNS Einträge konfiguriert werden.
Noch einmal kurz der Ablauf der Kommunikation (vereinfacht)
Ein interner Rechner hat als DNS Server üblicherweise den Domain Controller konfiguriert. Outlook auf dem internen Rechner wird zunächst autodiscover.frankysweb.de anfragen um den Exchange Server zu finden. Der DNS Server auf dem Domain Controller antwortet auf die Anfrage des Clients mit der internen IP Adresse des Exchange Servers. Der Client ruft die Konfiguration ab und fragt dann wiederum den internen DNS Server nach mail.frankysweb.de. Das Bild stellt die DNS Anfragen und Antworten vereinfacht dar (grüne und roter Pfeile):
Ähnliches gilt für Clients im HomeOffice. Auf den meisten Routern wird ein DNS-Forwarder laufen. Dieser DNS Forwarder auf dem Router reicht die DNS Anfragen des Clients aus dem HomeOffice an entsprechende DNS-Server im Internet weiter. Hier gibt es zwar noch mehrere beteiligte DNS-Server, aber schlussendlich wird der DNS-Server des Hosters auf die Autodiscover reagieren müssen. Die Anfragen zu autodiscover.frankysweb.de und mail.frankysweb.de, sollen nun mit der externen IP-Adresse des Internetanschlusses des Unternehmens beantwortet werden. Die Outlook Verbindung wird also diesen Weg gehen (blaue Pfeile)
Intern wird sich Outlook mit mail.frankysweb.de verbinden welches auf die interne IP-Adresse des Exchange Servers zeigt. Extern wird es ebenso mail.frankysweb.de sein, nur mit dem Unterschied, dass jetzt die externe IP aufgelöst wird.
Dazu müssen die DNS Server entsprechend konfiguriert werden:
Internen DNS Server konfigurieren
Da Autodiscover nach erfolgter Konfiguration nun die URLs wie oben angegeben verteilen wird, müssen die URLs nun auch verfügbar sein. Auf dem Domain Controller werden die DNS-Zonen etwa wie folgt aussehen:
Da das ActiveDirectory in diesem Fall auf den Namen frankysweb.local hört, gibt es dazu zwei entsprechende interne Zonen und normalerweise auch eine Reverse Lookup Zone mit den entsprechenden Subnetzen.
Intern muss Exchange nun aber über den Namen mail.frankysweb.de und autodiscover.frankysweb.de erreichbar sein, denn diese Namen wurden entsprechend konfiguriert. Daher wird zunächst eine neue DNS Zone erstellt:
Als Zonentyp wird “Primäre Zone” belassen:
Auch die Zonenreplikation kann so belassen werden:
Als Zonenname wird “mail.frankysweb.de” eingetragen:
Dynamische Updates können abgeschaltet werden:
Innerhalb der neuen Zone wird nun ein neuer HOST-A Eintrag angelegt:
Für den HOST-A Eintrag wird _KEIN_ Name konfiguriert. Im Feld IP-Adresse wird die interne IP des Exchange Servers angegeben und das Häkchen bei “Verknüpften PTR-Eintrag erstellen” entfernt:
Somit sollte es nun wie folgt aussehen:
Die Schritte werden entsprechend für Autodiscover wiederholt. Eine weitere Neue Zone mit dem Namen “Autodiscover.frankysweb.de” wird angelegt:
Und auch in der Zone autodiscover.frankysweb.de wird ein HOST-A Eintrag mit der internen IP des Exchange Servers angelegt:
Mittels nslookup können nun die beiden Zonen überprüft werden.
Autodiscover.frankysweb.de und mail.frankysweb.de müssen von einem internen Client/Rechner/Server auf die interne IP des Exchange Servers verweisen:
Konfiguration externer DNS (Hoster)
Damit der Exchange Server nun auch aus dem Internet (HomeOffice) unter dem Namen mail.frankysweb.de erreichbar ist, müssen entsprechende DNS Einträge beim Hoster der Domain gesetzt werden. Je nach Hoster (Strato, 1und1, HostEurope etc.) verläuft die Konfiguration hier etwas unterschiedlich. In diesem Beispiel ist es Strato:
Zuerst werden zwei neue Subdomains angelegt:
Einmal die Subdomain mit dem Namen “mail”, woraus sich “mail.frankysweb.de” ergibt:
Gleiches für die Subdomain mit dem Namen “autodiscover”, woraus sich autodiscover.frankysweb.de ergibt.
Für beide Subdomains wird jetzt ein A-Record definiert:
Als IP-Adresse wird die externe IP-Adresse des Internetanschlusses des Unternehmens angegeben:
Hinweis: Hier handelt es sich um die WAN-IP des Routers / Firewalls des Unternehmens.
Die WAN-IP wird für autodiscover und mail eingegeben. Die Übersicht der Domain sollte nun in etwa so aus sehen:
Autodiscover.frankysweb.de und mail.frankysweb.de verfügen über je einen A-Record mit der externen IP Adresse des Unternehmens.
Die DNS Auflösung mittels nslookup sollte jetzt die externe IP für autodiscover.frankysweb.de und mail.frankysweb.de zurückliefern:
Es fehlt jetzt noch die Portweiterleitung am Router des Unternehmens damit der Exchange Server auch unter Port 443 erreichbar ist.
Konfiguration Portweiterleitung am Router / Firewall
Die END-Einträge wurden nun konfiguriert, allerdings fehlt noch eine Portweiterleitung am Router des Unternehmens, damit der Exchange Server auch via Port 443 aus dem Internet erreichbar ist. Auch hier ist die Einrichtung wieder abhängig vom eingesetzten Router oder Firewall. Auch der Name variiert hier von Hersteller zu Hersteller, NAT-Regel, Portforward, DNAT, Portweiterleitung oder Portfreigaben sind hier gängige Begriffe.
Die Logik dahinter ist folgende:
Eine Verbindung, die an der externen IP Adresse des Routers auf einem bestimmten Port ankommt, wird weitergeleitet an eine interne IP-Adresse und Port.
Hinweis: Die Einrichtung einer Portweiterleitung macht den Exchange Server aus dem Internet via Port 443 erreichbar. Besser wäre der Einsatz einer entsprechenden Firewall bzw. Proxys (hier ein Beispiel) zwischen Internet und Exchange Server. Die Einrichtung ist aber nicht Gegenstand dieses Artikels.
Falls das Unternehmen über eine Fritzbox verfügt, funktioniert die Einrichtung einer Portfreigabe wie folgt:
Wie im Screenshot zu erkennen ist, wird nur der Port 443 (TCP) an die interne IP des Exchange Servers auf Port 443 weitergeleitet.
Das rote Tuch (Exchange Zertifikat)
Zum Schluss ist das “rote Tuch” besser bekannt als Zertifikat an der Reihe. Wenn die Vorbereitungen allerdings alle abgeschlossen wurden, ist es jetzt kein Problem mehr.
Noch einmal kurz zum Hintergrund:
In der voran gegangene Konfiguration wurden die virtuellen Verzeichnisse und die Outlook Anywhere Konfiguration soweit angepasst, das diese auf mail.frankysweb.de hören, aus diesem FQDN ergeben sich dann die entsprechenden URLs mit denen die Verzeichnisse (interne und externe URLs) entsprechend konfiguriert wurden. Internes und Externes DNS wurden ebenfalls so konfiguriert, dass der Exchange Server unter diesen URLs erreichbar ist. Somit sind für das Zertifikat nur die folgenden FQDNs von Bedeutung:
- mail.frankysweb.de
- autodiscover.frankysweb.de
Mehr muss nicht auf dem Zertifikat stehen. Nur diese beiden Namen. Falls sich jetzt schon jemand fragen sollte: Was ist denn wenn ich mehrere Domains habe und auch E-Mail Adressen mit beispielsweise “@frankysweb.com”? Weiterlesen, kommt noch…
Um die Zertifikatsanforderung zu speichern, sollte vorab ein Ordner angelegt werden. Am besten auf dem Exchange Server selbst unter C:\. In diesem Fall ist es C:\Zertifikat:
Jetzt kann die Zertifikatsanforderung erstellt werden.
Zertifikatsanforderung erstellen
Damit eine Zertifizierungsstelle ein Zertifikat ausstellen kann, wird eine Zertifikatsanforderung benötigt. Die Zertifikatsanforderung teilt der Zertifizierungsstelle die Eigenschaften für das Zertifikat mit. Um bei den Ausweisbeispiel zu bleiben: Die Zertifikatsanforderung ist der Antrag auf einen Ausweis, wobei der Antrag den Namen, Adresse usw. enthält. Der Antrag (Zertifikatsanforderung) muss jetzt von von einer Behörde/Land (Zertifizierungsstelle) ausgestellt werden.
Eine Zertifikatsanforderung kann via Exchange Admin Center erstellt werden:
Als Anzeigename wird “mail.frankysweb.de” eingetragen:
Der nächste Dialog kann so belassen werden, hier muss nichts ausgewählt werden:
Gespeichert wird das Zertifikat auf EX1 dem Exchange Server:
Im darauf folgenden Dialog werden alle URLs noch einmal angezeigt:
Wer die Liste durchscrollt, wird feststellen, das hier noch interne Servernamen und URLs angezeigt werden. Auch diese können so belassen werden:
Im nächsten Dialog lassen sich die Einträge für das Zertifikat bearbeiten, hier wird jetzt alles gelöscht, sodass nur noch “mail.frankysweb.de” und “autodiscover.frankysweb.de” überbleibt.
Vorher:
Nachher:
Jetzt müssen noch ein paar Angaben vervollständigt werden. Organisationsname entspricht dabei den Firmenname, der Abteilungsname kann frei gewählt werden, Ort, Bundesland und Land sollte klar sein:
Zum Schluss wird der Speicherort für die Zertifikatsanforderung angegeben. Im Vorfeld wurde dazu der Ordner c:\Zertifikat auf dem Exchange Server angelegt. Dieser Ordner kann nun per Administrativer Freigabe angesprochen werden:
Die Anforderung wurde erstellt im Admin Center ist nun eine ausstehende Anforderung zu sehen:
Ausstehende Anforderung bedeutet in diesem Fall soviel wie: Antrag ausgefüllt, aber noch kein Ausweis ausgestellt.
Unter C:\Zertifikat findet sich nun eine Datei mit dem Namen “Anforderung.txt”. Diese Datei enthält den Antrag für die Zertifizierungsstelle, auch “Certificate Signing Request” (CSR) genannt:
Der Antrag (CSR) muss nun bei einer Zertifizierungsstelle eingereicht werden.
Zertifikat von einer offiziellen Zertifizierungsstelle anfordern
Die zuvor generierte Anforderung muss nun bei einer Zertifizierungsstelle eingereicht werden. Die Zertifizierungsstelle stellt dann ein entsprechendes Zertifikat aus.
Wie schon mehrfach erwähnt müssen zwei Namen auf dem Zertifikat (SAN Zertifikat) vorhanden sein (autodiscover.frankysweb.de und mail.frankysweb.de). So steht es auch in der generierten Anforderung. Bei dem Reseller PSW gibt es recht günstig ein entsprechendes Zertifikat:
https://www.psw-group.de/ssl-zertifikate/detail/c44-geotrust-quickssl-premium/
3 Jahre Gültigkeit kosten 99 EUR. Verschiedene andere CAs bieten Zertifikate auch kostenlos an, wobei als wohl bekanntester Vertreter StartSSL Probleme mit Mozilla bekommen hat (StartSSL und auch WooSign haben es nicht ganz so genau mit der eigenen Sicherheit genommen).
Der Prozess wie eine Anforderung eingereicht werden muss, ist aber bei den meisten Zertifizierungsstellen ähnlich:
- Anmelden
- Zertifikatsanforderung einreichen
- Valdierung durchlaufen (das Verfahren kann unterschiedlich sein, meistens eine Mail an webmaster@domain.tld oder hostmaster@domain.tld)
- Zertifikat erhalten
- Bezahlen (ggf. auch kostenlos)
Trotz der Probleme bei StartSSL lassen sich weiterhin Zertifikate beantragen, da wie schon der Prozess bei den meisten Zertifizierungsstellen relativ ähnlich ist, folgt hier das Beispiel mit StartSSL. Die Anmeldung wurde bereits abgeschlossen:
Bei StartSSL müssen dann die beiden DNS-Namen angegeben und der Inhalt der Datei Anforderung.txt hochgeladen werden:
Nach entsprechender Validierung durch die Zertifizierungsstelle erhält man das Zertifikat. Für Testumgebungen lässt sich StartSSL weiterhin wunderbar verwenden, ich nehme an das die Probleme mit Mozilla in absehbarer Zeit geklärt werden.
Für produktive Umgebung würde ich empfehlen ein Zertifikat zu kaufen, der Preis aus dem oben genannten Beispiel ist sicherlich nicht zu hoch und bei 3 Jahren Laufzeit durchaus erschwinglich.
Sobald man das Zertifikat von der Zertifizierungsstelle erhalten hat (meistens per Download oder per Mail), kann es auf dem Exchange Server unter C:\Zertifikat abgespeichert werden.
Die meisten Zertifizierungsstellen stellen das Zertifikat in verschiedenen Formaten aus. Exchange Server kann mit .CER und .CRT Dateien umgehen. In diesem Beispiel ist es eine .CRT Datei:
Zertifikatsanforderung abschließen und Dienste zuweisen
Sobald das Zertifikat im Ordner C:\Zertifikat abgespeichert wurde, kann die Austehende Anforderung abgeschlossen werden. Dieser Vorgang kann wieder mittels Exchange Admin Center erfolgen:
Im Dialog wird dann wieder die Administrative Freigabe und der Name des Zertifikats angegeben:
Sobald die Anforderung abgeschlossen wurde, wird das Zertifikat mit “Gültig” gekennzeichnet:
Jetzt ist zwar ein gültiges Zertifikat vorhanden, aber dieses Zertifikat wurde noch nicht den Exchange Diensten zugeordnet.
Damit Exchange dieses Zertifikat auch künftig verwendet, muss es an die relevanten Dienste gebunden werden, dazu werden die Eigenschaften des Zertifikats per Doppelklick geöffnet und die folgenden Dienste zugewiesen:
- SMTP
- IMAP
- POP
- IIS
Die Warnung muss bestätigt werden, dann wird das Zertifikat ausgetauscht:
Ab jetzt benutzt Exchange das neue Zertifikat.
Überprüfung
Zur Überprüfung können nun mehrere Tests durchgeführt werden.
Zunächst kann die DNS Auflösung von internen sowie externen Rechnern getestet werden:
Intern muss die interne IP des Exchange Servers aufgelöst werden, extern die entsprechende IP des Routers mit der Portweiterleitung.
Dann kann Outlook Web Access von internen sowie externen Rechnern aufgerufen werden, jeweils unter den Namen mail.frankysweb.de. Beim Aufruf darf nun keine Zertifikatswarnung mehr auftreten:
In den Details des Zertifikat unter dem Punkt “Alternativer Antragsstellername” müssen beide Namen hinterlegt sein:
Outlook zeigt im Verbindungsstatus nur mail.frankysweb.de als Servernamen an, interne Namen dürfen hier nicht mehr vorkommen:
Der Outlook Modus “E-Mail Autokonfiguration testen” liefert nur noch URLs mit https://mail.frankysweb.de/… zurück
Exchange Remote Connectivity Analyzer lässt für den Autodiscover Test sauber durch:
Bei der URL “https://frankysweb.de:443/Autodiscover” darf es zu einem Fehler kommen, da Exchange nicht unter dieser URL erreichbar ist, für die URL https://autodiscover.frankysweb.de:443/autodisover” muss es sauber durchlaufen (Ohne Zertifikatswarnung)
Nachtrag
Dies war die grundlegende Konfiguration mit einer E-Mail Domain und einem offiziellen Zertifikat. Nun gibt es natürlich noch weitere Fälle mit einer internen Zertifizierungsstelle oder mehreren E-Mail Domänen. Das wird dann ein Fall für Teil 3 (bereits in Arbeit, wird verlinkt wenn fertig).