let’s encrypt zertifikat unter windows

Let’s Encrypt Zertifikate erstellen für IIS Websites und Exchange Server

HTTPS verschlüsselte Webseiten sind der neue Standard, und bei Kontaktformularen sogar Pflicht. Seit 2017 markiert Google unverschlüsselte Seiten als unsicher, zudem bevorzugen Suchmaschinen HTTPS-Webseiten für tendenziell besseres Ranking. Voraussetzung für die Einrichtung einer sicheren HTTPS-Verbindung ist ein vertrauenswürdiges Zertifikat, dieses von Zertifizierungsstellen (Certificate Authority, CA) ausgestellt werden. Die verschlüsselte Datenübertragung zwischen Client und Server erfolgt dann anschliessend per SSL/TLS. In der Regel sind diese Zertifikate nicht kostenlos erhältlich – doch es gibt kostenlose Alternativen wie die Let’s Encrypt Initiative. In dieser Anleitung wird ein SSL-Zertifikat mit Let’s Encrypt selbst erstellt.

Was ist Let’s Encrypt?

Die Certificate Authority (CA) Let’s Enrypt bietet seit Ende 2015 kostenlos und automatisiert SSL-Zertifikate an. Das erklärte Ziel: die Schaffung eines einfachen, kostenlosen und verschlüsselten Internets.

Let’s Encrypt stellt noch kein offizielles Tool zur Verfügung, um die ACME Challenge wie für Linux Server, auch auf einem Windows Server durchzuführen. Da es jedoch ein offenes Protokoll ist, gibt es bereits diverse Tools, die alle auf den ACME Dienst von Let’s Encrypt zurückgreifen. Zu empfehlen ist hier Certify the web von Webprofusion. Zum aktuellen Zeitpunkt ist Certify the web mit der Version 4.1.6 für eine begrenzte Anzahl Zertifikate kostenlos erhältlich. Es ist das bisher einzige Tool mit GUI und bietet Premium-Funktionen wie die automatisierte Verlängerung der Zertifikate und Multidomain Zertifikate.

Certify the web Installation

Als Voraussetzung gilt, dass der Windows Server auf dem neusten Stand ist und IIS bereits installiert ist, die Webseite auf dem Webserver muss über Port 80 erreichbar sein. Außerdem muss man eine Domain besitzen, und Zugriff haben auf deren DNS Einträge. Man fügt in der DNS-Zone der Domain, einen A-Record auf die IPv4 Adresse und einen AAAA-Record auf die IPv6 Adresse des Webservers ein.

Das kostenlose Tool kann hier heruntergeladen werden, es wird auf dem Server installiert, auf diesem IIS ausgeführt wird. Beim ersten start wird man begrüsst mit der Bitte, einen neuen Kontakt zu registrieren, über die E-Mail Adresse die man registriert, lässt Let’s Encrypt einem auf dem laufenden, und erinnert uns über die Laufzeit des Zertifikats.

Im IIS-Manager (inetmgr) wird als Bindung der Hostname mit dem Domainname eintragen, zum Beispiel web.shop.net.

Bindungen bearbeiten…

Unter Sites über der entsprechenden Site mit Rechtsklick das Kontextmenü öffnen und auf Bindungen bearbeiten gehen.

Sitebindung und Let’s Encrypt Zertifikat

Als Hostname wird hier web.shop.net eingetragen.

Jetzt den “Certify the web” Manger starten, um für die Domain ein CA Zertifikat anfordern zu lassen.

Man Klickt auf New Certificate um eine neues Zertifikat ausstellen zu lassen, nach dem man im Feld Add domains to certificate den Domainname einträgt und auf den Button ADD DOMAIN klickt.

Mit klick auf Request Certificate wird das Zertifikat angefordert und automatisch installiert.

ACME auf Exchange Server

Zertifikat für IIS und Exchange mit ACME Lets Encrypt ausstellen. Die CA von Let’s Encrypt stellt Zertifikate auch für SAN (Subject Alternative Name) Zertifikate aus, Wildcard-Zertifikate werden seit Anfang 2018 unterstützt.

Für öffentlich zugäng­liche Web­sites sind SSL-Verbin­dungen mittler­weile Standard, und selbiges sollte auch für Exchange gelten. Let’s Encrypt betreibt eine freie CA, die Zerti­fikate nicht nur kosten­los, sondern auch weit­gehend automa­tisiert ausstellt. Diese Anleitung zeigt das Vorgehen für IIS und Exchange.

Zur Verifikation, ob der Antragsteller jener ist, der die Domäne kontrolliert, für die er ein Zertifikat beanträgt, setzt Let’s Encrypt das ACME-Protokoll (Automatic Certificate Management Environment) ein.

Bei jeder Methode die zur Verifizierung der Domain verwendet wird, muss der FQDN über ein öffentlichen DNS-Server auflösbar und der Host auf Port 80 aus dem Internet erreichbar sein.

Das gilt auch, wenn man sich für die Verifizierung mittels Datei entscheidet, die der Client auf den lokalen Rechner herunterlädt. Diese muss dann auf den Host kopiert werden und dort für Let’s Encrypt zugänglich sein. Damit der ACME-Client die Hostnamen aus der IIS-Konfiguration ermitteln kann, muss im IIS-Manager sichergestellt werden, dass HTTP bei den gewünschten Sites an die jeweiligen FQDN gebunden ist.

Zertifikat anfordern

Das interaktive Tool win-acme kann hier heruntergeladen werden, nach dem entpacken wird in einem als Administrator geöffneten Comand Prompt wacs.exe ausgeführt.

Wir wählen hier also M Create new certificate (full options) für ein SAN Certificate. Seit Exchange 2013 werden zwei IIS-Sites verwendet, die ein Zertifikat benötigen. Danach wählen wir als Methode die Option 3 „[http-01] Create temporary application in IIS“.

Nach erfolgreicher Ausstellung des Zertifikats legt wacs.exe das Zertifikat unter C:\ProgramData\win-acme\httpsacme-v01.api.letsencrypt.org ab.

Dienste IIS SMTP IMAP zuweisen

Exchange hat an dieser Stelle noch nicht für jeden Dienst ein Zertifikat. Das kann man manuell in der ECP-Konsole erledigen, oder aber das hierfür bereitgestellte Script ImportExchange.ps1 werwenden.

Interactive ausführung in Exchange Command Prompt (wacs.exe)

Es muss sichergestellt sein, das aufgrund der 90 Tage begrenzten Gültigkeit des Zertifikats, das dessen Erneuerung nicht verpasst wird. Am besten erstellt man hierfür ein geplanten Task. Dieser sollte nicht nur den ACME-Client mit dem renew-Parameter enthalten, sondern auch die zuweisung der Dienste.

Windows 10 Dateitypen-Einstellungen

Windows 10 Dateitypen anpassen und hinzufügen

Windows wählt anhand der Dateiendung, welche Anwendung beim doppelklicken einer Datei geöffnet wird. Weist eine Datei die Endung .txt auf, wird normalerweise diese in Notepad geöffnet. Ein Bild mit der Erweiterung .jpg öffnet standardmässig den Windows-Fotobetrachter oder ein Bildbearbeitungsprogramm, wenn ein solches installiert wurde. Es kann jedoch vorkommen das Windows zur falschen, oder nicht gewünschten Anwendung greift, oder es findet gar kein Programm. Mit welchem Programm ein bestimmter Dateityp geöffnet wird, entscheidet Windows aufgrund von Einstellungen in der Windows-Registry.

Standard-Apps nach Dateityp auswählen

Windows blendet die Dateiendungen standardmässig aus, die Auskunft darüber geben könnte, ob beispielsweise ein Bild im PNG-, im JPG- oder BMP-Format vorliegt. Möchte man wissen um was für eine Datei es sich handelt, öffnet man mit einem Rechtsklick auf der Datei das Kontextmenü und geht zu Eigenschaften. Im Reiter Allgemein steht hinter Dateityp zum Beispiel JPG File (.jpg). Hier wurde IrfanView zum öffnen von JPG-Dateien registriert, mit dem Button Ändern kann ein anderes Programm zum öffnen gewählt werden.

Die Dateiendungen standardmässig einblenden, dazu geht man im Windows-Explorer auf Ansicht – Optionen – Ordner- und Suchoptionen ändern.

Explorer: Ordner- und Suchoptionen ändern

Im Reiter Ansicht bei Erweiterungen bei bekannten Dateitypen ausblenden die Option deaktivieren, danach werden bei den Dateinamen die zuvor verborgenen Endungen sichtbar.

Die App zu einem Dateityp findet man auch in den Einstellungen.

Unter Standard-Apps können Anwendungen zu Dateitypen ausgewählt werden, weiter unten findet man unter Standard-Apps nach Dateityp auswählen eine Liste mit Dateitypen, mit klick auf ein + können Apps (Anwendungen) ausgewählt werden.

Windows 10 Kontextmenü bearbeiten

Mit klick der rechten Maustaste im Explorer an einer leeren stelle in einem Ordner, erscheint normalerweise das Kontextmenü – Neu > Textdokument.

Fehlt im Explorer-Kontextmenü der Eintrag Textdokument, kann dieser wieder hinzugefügt werden.

Die Zuordnung zum Explorer-Kontextmenü – Neu > Textdokument zu einem Programm kann direkt in die Windows-Registry eingetragen werden, hierzu in einem als Administrator geöffneten Command Prompt die folgenden Zeilen ausführen:

Die Schlüssel für das Explorer-Kontextmenü Neu > Textdokument, im Registrierungseditor unter HKEY_CLASSES_ROOT\.txt

Windows-Registry
Windows-Registry

  Werden mehrere Editoren installiert, wie beispielsweise Notepad++ und VS Code, kann es vorkommen das bei der Konfiguration der von Windows standardmässig zugewiesene Notepad Editor aus der Registry entfernt wurde. Eine Dateiendung kann auf verschiedene weise zu einem Programm zugeordnet werden, einerseits durch ausführen der folgenden zwei Zeilen in einem als Administrator geöffneten Command Prompt:

Tipp! Möchte man zum Beispiel unter Windows 10 Perl Scripts ausführen, kann mit folgenden Zeilen die Dateiendung .pl zum Perl Interpreter zugeordnet werden:

  Vorausgesetzt ist das ActivePerl für Windows installiert ist.

Computer Seriennummer Abfragen

BIOS und Seriennummer ermitteln

Die Seriennummer kann nützlich sein, um Computerhardware für Inventurzwecke zu identifizieren, die oft auf einem kleinen Aufkleber auf der Rückseite des Geräts steht. Wir können diese Seriennummer auch aus der BIOS-Konfiguration erhalten. Hierzu kann die Windows Management Instrumentation (WMI)-Klasse Win32_Bios genutzt werden.

Die Seriennummer gibt ebenso Aufschluss über den Status der Herstellergarantie. Wie es bei Hewlett Packard Enterprise 14,76 -0,40 -2,64% die Produktgarantie-Prüfung gibt, oder bei Lenovo Group Ltd. 14,31 -0,27 -1,85% auf der Support-Webseite es möglich ist. Die BIOS-Version und Seriennummer um den Computer zu identifizieren, bei der Suche nach Software-Updates und passenden Treiber bei den Herstellerwebseiten.

Die Abfrage der Seriennummer mittels WMI-Klasse Win32_Bios aus dem Command Prompt:

Im Command Prompt gibt folgender Befehl die Ausgabe der BIOS-Version:

In der PowerShell werden BIOS Informationen und die Seriennummer wie folgt ermittelt:

Der folgende PowerShell Befehl enthält die Seriennummer des aktuellen Computers:

Das Cmdlet ruft die Klasse win32_bios ab, aus einer CIM-Instanz des CIM-Server, und bringt die BIOS Information zur Ausgabe.