Neben Let’s Encrypt bietet auch StartSSL kostenlose SAN-Zertifikate für bis zu 5 Domains mit einer Laufzeit von 1 Jahr kosten los an. Die Zertifikate werden von allen gängigen Browsern und Geräten unterstützt.
Vorteil von StartSSL gegenüber Let’s Encrypt: Die Zertifikate sind 1 Jahr gültig, bei Let’s Encrypt sind es nur 3 Monate. Die Zertifikate müssen also nicht ganz so häufig getauscht werden.
StartSSL bietet ebenfalls einen Client an, der den IIS automatisch konfiguriert und das Zertifikat anfordert und installiert. Dieser Weg ist allerdings auf Exchange Servern mit Vorsicht zu genießen. Das Zertifikat nur an den IIS zu binden reicht nicht aus, es muss auch in der Exchange Konfiguration hinterlegt sein.
Ich rate also davon ab den Client zu benutzen. StartSSL bietet wie jede andere CA (Let’s Encrypt leider nicht) auch, die Möglichkeit einen CSR einzureichen und somit an das Zertifikat zu kommen. Ich finde die Variante via CSR immer noch am Besten, da man sich hier sicher sein kann, dass der private Schlüssel den Server nicht verlässt. Außerdem muss weder eine umständliche Firewall Anpassung (WAF) vorgenommen werden, noch verkonfiguriert ein Tool den IIS-Server.
Kleines Howto StartSSL SAN-Zertifikate und Exchange Server
Es wird ein Account bei StartSSL benötigt (kostenlos), damit via CSR Zertifikate angefordert werden können. Hier kann ein Account angelegt werden:
Nachdem der Account angelegt wurde und das Client Zertifikat zur Anmeldung installiert ist, kann sich hier mit dem Account angemeldet werden:
Hinweis: StartSSL fragt hier ein Client Zertifikat ab, welches beim Anlegen des Accounts ausgestellt wird. Benutzer von Firewalls mit SSL-Inspection müssen also eine entsprechende Ausnahme konfigurieren.
Um an ein Zertifikat zu kommen, muss zunächst die Domain validiert werden. Domains können unter dem Punkt „Validation Wizard“ validiert werden:
in diesem Beispiel wird die Domain „frankysweb.com“ validiert, damit später ein Zertifikat mit den Namen „outlook.frankysweb.com“ und „autodiscover.frankysweb.com“ angefordert werden kann:
Jetzt kann ausgewählt werden, an welche E-Mail Adresse der Code zur Verifikation geschickt werden soll:
Nachdem der Code eingegeben wurde, ist die Domain validiert und es kann ein CSR auf dem Exchange Server erzeugt werden:
New-ExchangeCertificate –Server "Servername" –GenerateRequest –FriendlyName "Exchange Zertifikat" –PrivateKeyExportable $true –SubjectName "c=LÄNDERCODE, s=BUNDESLAND, l=STADT, o=FIRMA, ou=ORGANISATIONSEINHEIT, cn=ALLEGMEINERNAME" –DomainName outlook.frankysweb.de,autodiscover.frankysweb.de –RequestFile "\\SERVERNAME\C$\Anforderung.csr"
-Friendlyname ist der Anzeigename des Zertifikats in ECP, der Name ist frei wählbar
-SubjectName bestimmt die Eigenschaften des Zertifikats:
“c” steht für den Ländercode, beispielsweise “DE”
“s” steht für das Bundesland
“o” steht für die Firma
“ou” steht für die Organisationseinheit (IT, Exchange, EDV..)
“cn” steht für den allgemeinen Namen, der allgemeine Name sollte den FQDN für OWA enthalten
-DomainName: Hier werden alle alternativen Namen für das Zertifikat eingetragen, sowie auch der allgemeine Name, im Normalfall werden hier nur Autodiscover und eben der Zugriffsname für Outlook, OWA, ECP, ActiveSync etc benötigt, in diesem Beispiel also:
outlook.frankysweb.com
autodiscover.frankysweb.com
-Requestfile: Eine Freigabe auf der die Anforderung gespeichert werden kann
Hier als Beispiel für meinen CSR:
New-ExchangeCertificate –Server "EX1" –GenerateRequest –FriendlyName "StartSSL Exchange Cert" –PrivateKeyExportable $true –SubjectName "c=DE, s=NRW, l=Liemke, o=FrankysWeb, ou=IT, cn=outlook.frankysweb.com" –DomainName outlook.frankysweb.com,autodiscover.frankysweb.com –RequestFile "\\EX1\C$\Anforderung.csr"
Hier wird der CSR auch direkt angezeigt, dieser kann jetzt bei StartSSL eingereicht werden. Dazu wird bei StartSSL der Punkt „Certificate Wizard“ und „Web Server SSL/TLS Certifikate“ ausgewählt
Anschließend müssen die Domains und der CSR eingetragen werden:
Nach einem Klick auf „Submit“, kann im Anschluss das Zertifikat runtergeladen werden. Der Download besteht aus einem ZIP Archiv, in dem das Zertifikat in verschiedenen Formaten vorliegt:
IIS-Server ist hier goldrichtig. In dem Order IISServer befindet sich das Zwischenzertifikat (1_Intermediate) und das Exchange Zertifikat (2_outlook.frankysweb.com)
Zunächst wird das Zwischen Zertifikat installiert:
Jetzt kann das Exchange Zertifikat mit dem folgenden Befehl installiert werden:
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\2_outlook.frankysweb.com.crt -Encoding byte -ReadCount 0))
Nachdem das Zertifikat installiert und somit die Anforderung abgeschlossen wurde, müssen noch die Exchange Dienste an das neue Zertifikat gebunden werden (Das ist der Teil, den die Tools leider außer Acht lassen):
Enable-ExchangeCertificate -Thumbprint "ThumbprintVomImport" -Services POP,IMAP,SMTP,IIS
Wichtig: Eine Erinnerung setzen, damit das Zertifikat rechtzeitig vor Ablauf erneuert werden kann. Hier gibt es eine einfache Zertifikatsverwaltung mittels Excel und PowerShell.
Update 11.01.17: Apple hat die StartSSL und Woosign aus den vertrauenswürdigen CAs entfernt. Somit lassen sich diese Zertifikate nicht mehr mit Apple Geräten verwenden. Bei Let’s Encrypt gibt es weiterhin kostenlose Zertifikate.