Schlagwort-Archive: Lets Encrypt

Let’s Encrypt ist eine Zertifizierungsstelle, die Ende 2015 in Betrieb gegangen ist und kostenlose X.509-Zertifikate für Transport Layer Security (TLS) anbietet.

Lets Encrypt Installation für Debian 10

Apache mit Let’s Encrypt unter Debian 10

Let’s Encrypt ist eine Zertifizierungsstelle (CA), die eine einfache Möglichkeit bietet, kostenlose TLS/SSL-Zertifikate zu beziehen und zu installieren, wodurch verschlüsseltes HTTPS auf Webservern ermöglicht wird. Es vereinfacht den Prozess, indem es einen Software-Client, Certbot, bereitstellt, der versucht, die meisten der erforderlichen Schritte zu automatisieren. Let’s Encrypt verwendet das ACME-Protokoll (ACMEv2), um den Domainnamen zu überprüfen und das Zertifikat zu steuern und auszustellen. Derzeit ist der gesamte Prozess zum Erhalten und Installieren eines Zertifikats sowohl auf Apache als auch auf Nginx vollständig automatisiert.

In diesem Tutorial wird Certbot verwendet, um ein kostenloses SSL-Zertifikat für Apache unter Debian 10 zu erhalten und um Zertifikate so einzurichten, dass sie automatisch installiert werden.

Voraussetzungen

  • Ein Debian 10 Server, ein Nicht-Root Benutzer mit sudo Berechtigungen ist angelegt und eine Firewall (ufw oder firewalld) ist eingerichtet.
  • Ein vollständig registrierter Domainname, zum Beispiel unblog.ch.
  • Beide der folgenden DNS-Einträge sind für den Server eingerichtet.
    • Ein A Record für meine_domain der auf die öffentliche IP-Adresse des Servers verweist.
    • Ein A Record für www.meine_domain der auf die öffentliche IP-Adresse des Servers verweist.
  • Apache ist installiert, hierzu kann die Anleitung LAMP Stack auf Debian Installieren befolgt werden. Stelle sicher, dass eine virtuelle Hostdatei für die Domain eingerichtet ist. Dieses Tutorial verwendet als Beispiel /etc/apache2/sites-available/meine_domain.conf

Hinweis : Derzeit ist Certbot standardmäßig nicht in den Debian-Software-Repositorys verfügbar. Um Certbot als Snap auf Debian zu installieren, muss zuerst snapd auf dem Server installiert werden. snapd ist ein Daemon, der zum installieren und Verwalten von Snaps erforderlich ist.

Snap ist ein Softwareverteilungssystem und eine Paketverwaltung für Linux, das bzw. die distributionsübergreifend arbeitet. Das von Canonical entwickelte System unterstützt transaktionale Updates und Rollbacks. Es wurde von Canonical für Ubuntu entwickelt und ist mittlerweile auch für andere Linux-Distributionen verfügbar.

Certbot Installation auf Debian 10

Führe die folgenden Anweisungen in der Befehlszeile auf dem Debian Server aus, um die neueste Version von snapd zu installieren.

$ sudo snap install core; sudo snap refresh core

Führe diesen Befehl in der Befehlszeile aus, um Certbot zu installieren.

$ sudo snap install --classic certbot

Die folgende Anweisung in der Befehlszeile ausführen, um sicherzustellen, dass der Befehl certbot ausgeführt werden kann.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Dieser Befehl um ein Zertifikat abzurufen und um Certbot die Apache-Konfiguration automatisch bearbeiten zu lassen, indem der HTTPS-Zugriff in einem einzigen Schritt aktiviert wird.

$ sudo certbot --apache

Wer die Änderungen an der Apache-Konfiguration selber vornehmen möchte, kann diesen Befehl ausführen.

$ sudo certbot certonly --apache

Die automatische Verlängerung derZertifikate testen, geht mit dem folgenden Befehl.

$ sudo certbot renew --dry-run

Um das ganze zu überprüfen, besuche https://meine_domain/ im Browser deiner Wahl und schaue in der URL-Zeile nach dem Schlosssymbol.

Einrichten des SSL-Zertifikats

Certbot muss den richtigen virtuellen Host in der Apache-Konfiguration finden, damit SSL automatisch konfiguriert werden kann. Dies geschieht insbesondere, indem nach der ServerName Anweisung gesucht wird, die der Domäne entspricht, für die ein Zertifikat angefordert werden soll.

Öffne zur Überprüfung die virtuelle Hostdatei für die Domain mit vim oder nano Texteditor.

$ vi /etc/apache2/sites-available/meine_domain.conf

Suche in der Zeile nach ServerName. Es sollte hier der Domainname stehen meine_domain.

ServerName meine_domain

Falls noch nicht geschehen, aktualisiere die ServerName Anweisung so, dass sie auf den Domainname verweist.

Überprüfe als Nächstes die Syntax der Konfigurationsänderungen.

$ sudo apache2ctl configtest

Certbot bietet eine Vielzahl von Möglichkeiten, SSL-Zertifikate über Plugins zu erhalten. Das Apache-Plugin kümmert sich um die Neukonfiguration von Apache und lädt die Konfiguration bei Bedarf neu. Folgender Befehl verwendet dieses Plugin.

$ sudo certbot --apache -d meine_domain -d www.meine_domain

Es wird certbot mit dem --apache Plugin ausgeführt und verwendet -d, um die Domain Namen anzugeben, für die das Zertifikat gültig sein soll.

Wenn man Certbot zum ersten Mal startet, werd man aufgefordert, eine E-Mail-Adresse einzugeben und den Nutzungsbedingungen zuzustimmen. Darüber hinaus wird man gefragt, ob man bereit ist, die E-Mail-Adresse an die Electronic Frontier Foundation weiterzugeben, eine gemeinnützige Organisation, die sich für digitale Rechte einsetzt und auch Certbot herstellt. Bestätige hier mit Y für die E-Mail-Adresse oder N um abzulehnen.

Um den Erneuerungsprozess zu testen gibt es folgender Probelauf.

$ sudo certbot renew --dry-run

Fazit

In diesem Tutorial haben wir den Let’s Encrypt-Client installiert, SSL-Zertifikate für die Domain heruntergeladen, Apache für die Verwendung dieser Zertifikate konfiguriert und die automatische Zertifikatserneuerung eingerichtet.

Quellenlink: certbot instructions

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)

Create certificate with full options
 Manually input host names
 [http-01] Self-host verification files
 Create or update https bindings in IIS
 Would you like to add another installer step? (y/n): Y
 Run a custom script
 Would you like to add another installer step? (y/n): N
 Choose site to create new bindings: Default Web Site (or where ever OWA is at)
 Enter the path to the script that you want to run after renewal: ./Scripts/ImportExchange.ps1
 Enter the parameter format string for the script: '{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'

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.

Let’s Encrypt SSL-Zertifikat für Synology

Let’s Encrypt Zertifikat Erstellen

Let’s Encrypt Zertifikate mit einfacher Bereitstellung und Anwendung für Synology DSM.

Die Vorteile von Let’s Encrypt Zertifikate sind, dass sie automatisiert sind, eine kurze Lebensdauer von 90 Tage haben, und dass sie völlig KOSTENLOS sind!

Let’s Encrypt ist eine offene Zertifizierungsstelle (Certificate Authority, CA), und eine Dienstleistung der Internet Security Research Group (ISRG).

https

Eine Kurzanleitung zur Installation von Let’s Encrypt SSL auf einer Synology DiskStation oder RackStation.

Voraussetzungen bevor es los geht

  • Ein eigener Domain-Name wie zB. MaxMusterBilder.ch wird vorausgesetzt.
  • Der DDNS-Dienst von Synology kann hilfreich sein und die Nutzung ist kostenlos.
  • Ein CNAME-DNS Eintrag bei einem DNS Registrator, um Anfragen an den DDNS-Dienst weiterzuleiten.
  • Aktivieren der Weiterleitung von Port 80 auf dem Router zum NAS, Let’s Encrypt benötigt zur Validierung den HTTP Zugang, ohne wird es nicht funktionieren.

Let's Encrypt ZertifikatLet’s Encrypt SSL auf Synology NAS Installieren

Anmelden zum NAS und im DSM navigieren zu: Systemsteuerung> Sicherheit> Zertifikat – und auf Hinzufügen klicken.

Synology Systemsteuerung Sicherheit Zertifikat

Wähle Neues Zertifikat hinzufügen.

Synology Zertifikat erstellen

Wähle Zertifikat von Let’s Encrypt abrufen, und aktiviere, Als Standardzertifikat festlegen.

Auf Synology ein Let's Encrypt Zertifikat erstellen

Gib nun abschließend dein Domainname und deine E-Mail-Adresse ein und wähle Übernehmen.

Synology Let's Encrypt Zertifikat abrufen

Von nun an erhält dein Synology NAS das Let’s Encrypt SSL-Zertifikat und startet die Webdienste automatisch neu. Jetzt kannst Du mit https://nas.maxmusterbilder.ch verschlüsselt auf die Webseiten auf dem NAS zugreifen. Alle 90 Tage erneuert das Synology NAS das Let’s Encrypt SSL-Zertifikat automatisch.

Möchte man mehrere SSL-Zertifikate nutzen, ist es möglich die Zertifikate über den Button Konfigurieren zu verwalten.

Synology Let's Encrypt Zertifikat  Konfigurieren

Die Synology Web Station sollte natürlich für Web Projekte zuvor installiert sein.

Quellen Links:  letsencrypt.org  Synology DSM Zertifikate verwalten