Die Anforderungen an eine Messaging Plattform wie Exchange Server 2007 ist längst nicht mehr auf E-Mail beschränkt. Die Kunden möchten jederzeit und von überall auf die Mailbox zugreifen. Dies wird mit Features wie Exchange Active Sync, Outlook Web Access oder auch Outlook Anywhere (RPC over HTTPS) ermöglicht.
Mit Exchange Server 2007 wurde eine Schlüsselkomponente namens “Autodiscover” eingeführt. Das Ziel dieses Services besteht darin, dass Outlook 2007 und Windows Mobile 6.1 automatisch die entsprechende Konfiguration vom Client Access Server erhalten und den Weg zur entsprechenden Mailbox oder dem Offline Adressbuch finden. Die Kommunikation findet jeweils über HTTPS, TCP Port 443, statt. By Default wird daher bei der Installation bei jedem Exchange Server, ausgenommen bei der Mailbox Role, ein “self-signed” Certificate angelegt. Dies ist natürlich weniger für eine produktive Umgebung geeignet. Der Einsatz einer öffentlichen Zertifizierungsstelle wird daher dringendst zu erwägen.
Mit Exchange Server 2007 werden verschiedene URL’s angesprochen. Es empfiehlt sich bei der Konfiguration folgende URL’s einzuplanen, für welche auch ein Zertifikat erforderlich ist:
- mail.domain.tld (für MX-Record, SMTP, POP3, IMAP, OWA, Exchange ActiveSync)
- autodiscover.domain.tld (Autodiscover Service)
- srvname.internaldomain.tld (Exchange CAServer FQDN)
- srvname (Exchange CAServer NetBIOS Name)
Damit das Management einfach und übersichtlich bleibt, wird der Einsatz eines “Subject Alternative Name” (SAN), oder auch “Unified Communications Certificates” (UCC) genannt, empfohlen. Zum aktuellen Zeitpunkt sind diese SAN Certificates noch nicht bei allen Certification Authority (CA) verfügbar. Weitere Informationen dazu im Microsoft KB 929395. Sehr guten Service bieten Digicert und GoDaddy.
In manchen Situationen kann es vorkommen, dass man kein SAN Certificate einsetzen möchte. Mit Microsoft Outlook 2007 SP1, oder entsprechendem Hotfix, ist auch die Konfiguration mit einem Single Name Certificate möglich. Ein solches bekommt man bei schon ab $30 pro Jahr. Das empfohlene Subject Alternative Name (SAN) Certificate bekommt man allerdings inzwischen schon ab $90 pro Jahr (Stand November 2008). Wichtig, die Konfiguration von Exchange Server mit einem Single Name Certificate ist durchaus komplexer und nicht für alle Services geeignet. Ob es sich nun also wirklich lohnt die paar Dollars zu sparen lassen wir mal offen stehen…
Certificate Request und Import
Am einfachsten kann ein Certificate Request mit dem Wizard von Digicert erstellt werden. Ein PowerShell cmdlet für ein Single Name Certificate für die Domain mail.server-talk.eu sieht zum Beispiel wie folgt aus: New-ExchangeCertificate -GenerateRequest -Path c:\mail_server-talk_eu.csr -KeySize 2048 -SubjectName "c=CH, s=, l=, o=Server Talk, ou=Bloggers, cn=mail.server-talk.eu" -PrivateKeyExportable $True
Dieses cmdlet muss in der Exchange Management Shell (EMS) ausgeführt werden. Nebenbei erwähnt, Unterstützung für PowerShell bietet Quest’s PowerGUI (Freeware). In den meisten Fällen wird die Bestellung durch den Certification Authority innert wenigen Stunden bearbeitet. Der offene Request kann ebenfalls in der EMS abegschlossen und das Certificate direkt aktiviert werden. Dies wird mit diesem cmdlet durchgeführt: Import-ExchangeCertificate -Path C:\ certificates\import.pfx | Enable-ExchangeCertificate -Services IIS
DNS
Da das Singele Name Certificate auf mail.server-talk.eu ausgestellt wurde, Microsoft Outlook 2007 jedoch über autodiscover.server-talk.eu den Autodiscover Service kontaktiert wird ein SSL Fehler ausgegeben. Aus diesem Grund wird die Verbindung mittels DNS auf den registrierten Namen umgeleitet. Sämtliche HOST (A)- und CNAME Records welche für den Autodiscover Service angelegt wurden sollten vorgängig bereinigt werden. Bei einem Windows DNS Server wird ein SRV-Record wie folg angelegt:
- Im DNS Manager den DNS-Server auswählen und die “Forward Lookup Zones” erweitern.
- Auf der entsprechenden Domain mittels Rechtsklick “Other New Records… ⇒ Service Location (SRV)” anwählen und mit “Create New Record…” bestätigen.
- Folgende Werte müssen nun eingetragen werden
- Service: _autodiscover
- Protocol: _tcp
- Port Number: 443
- Host offering this service:
- Mit “OK” wird der SRV-Record angelegt.
Bei einem externen DNS stehen unter Umständen weniger Felder zur Verfügung. Die Konfiguration sieht zum Beispiel bei DynDNS wie folgt aus:
- Host: _autodiscover._tcp.server-talk.eu
- Type: SRV
- Data: 0 0 443 mail.server-talk.eu.
Ob nun der DNS-Record vorhanden ist und entsprechend funktioniert, kann mit nslookup getestet werden: nslookup -type=srv _autodiscover._tcp.server-talk.eu. Als Output sollte etwas in dieser Form geliefert werden:
_autodiscover._tcp.server-talk.eu SRV service location:
priority = 0
weight = 0
port = 443
svr hostname = mail.server-talk.eu
Exchange Server URL Konfiguration
Als letzer, aber durchaus einer der wichtigsten Punkte, ist die Konfiguration der Exchange Server URL’s. Für Exchange ActiveSync (EAS), Offline Address Book (OAB), Outlook Web Access (OWA) und Outlook Anywhere muss die im SSL Certificate registrierete URL als External URL und wenn auch intern über Port 443 kommuniziert werden soll, ebenfalls als Internal URL angepasst werden. Ein mögliches Konfigurations-Script wird in diesem Artikel beschrieben (comming soon).
Viele wichtige, interessante Hinweise zur Technik und Konfiguration liefert das ”Exchange 2007 Autodiscover Service“ White Paper von Microsoft. Weitere Unterstützung zur Konfiguration gibt es bei den Exchange Ninjas, oder bei Franks Exchange FAQ.
Connectivity Tests
Abschliessend sollte die Konfiguration getestet werden. Besonders eignet sich dazu Microsoft’s testexchangeconnectivity.com, mit welchem sich diverse Test-Szenarien durchführen lassen.
Weitere Informationen
- Microsoft Technet: Understanding the Self-Signed Certificate in Exchange 2007
- Microsoft KB 940881: Enable Outlook 2007 to use DNS Service Location (SRV) records to locate the Exchange Autodiscover service
- Microsoft KB 939184: Description of the update rollup for Outlook 2007: June 27, 2007
- Microsoft KB 200525: Using NSlookup.exe



