SSL für den Webspace
SSL und HTTPS
Dank der SSL-Verschlüsselung können Du und Deine Besucher Deine Webseiten abgesichert und verschlüsselt über HTTPS aufrufen. Für die SSL-Verschlüsselung wird ein SSL-Zertifikat benötigt, welches wir kostenlos und automatisch per Let's Encrypt ausstellen.
Es ist auch möglich, kostenpflichtige SSL-Zertifikate zu kaufen, dies wird jedoch in diesem Artikel nicht behandelt.
Ausstellen von Zertifikaten
Das System stellt automatisch SSL-Zertifikate für neu registrierte Domains und neu erstellte Subdomains aus. Webseiten werden somit automatisch mit SSL-Zertifikaten ausgestattet, sobald sie erstellt werden. Bei transferierten oder neu registrierten Domains kann dies einige Zeit in Anspruch nehmen, da Let's Encrypt zuerst per DNS die IP-Adressen unserer Server erhalten muss, bevor die Autorisierung unserer Server für das Ausstellen von Zertifikaten erfolgen kann. Das System versucht aber regelmäßig, die Zertifikate auszustellen.
Ein manuelles Ausstellen von Zertifikaten über Let's Encrypt ist weder nötig noch möglich.
On Demand-Ausstellung von Zertifikaten
Fehlt für einen angefragten Hostnamen ein gültiges Zertifikat, kann beim HTTPS-Aufruf eine Zertifikatswarnung erscheinen und eine Ausstellung angestoßen werden. Der Auftrag wird asynchron verarbeitet. Die Ausstellung gelingt nur, wenn die Domainvalidierung erfolgreich ist und keine Rate-Limits oder anderen Fehler entgegenstehen. DNS-Caches, falsche DNS-/CAA-Einträge oder nicht erreichbare Validierungsadressen können sie verzögern oder verhindern. Es gibt daher keine Zusage, dass nur ein Besucher eine Warnung sieht oder die Ausstellung innerhalb weniger Sekunden gelingt. Übergehe Zertifikatswarnungen nicht für Logins; prüfe bei anhaltenden Fehlern DNS und Erreichbarkeit und kontaktiere den Support.
Verlängerung von SSL-Zertifikaten
SSL-Zertifikate werden vor Ablauf automatisch zur Erneuerung vorgesehen. Prüfe die konkrete Gültigkeit im Browser. Auch die Erneuerung benötigt eine erfolgreiche Validierung; anhaltende DNS-, CAA- oder Erreichbarkeitsprobleme können deshalb zum Ablauf führen. Wiederholte Versuche und eine On-Demand-Anfrage garantieren kein jederzeit gültiges HTTPS.
Ein manuelles Verlängern von Zertifikaten über Let's Encrypt ist weder nötig noch möglich.
CSR für ein eigenes SSL-Zertifikat
Für bei lima-city verwaltete Domains ist normalerweise kein Certificate Signing Request nötig, weil die SSL-Zertifikate automatisch ausgestellt und verlängert werden.
Ein CSR wird nur benötigt, wenn Du ein eigenes Zertifikat über eine externe Zertifizierungsstelle beantragst. Auf einem Linux-System kannst Du CSR und privaten Schlüssel zum Beispiel mit OpenSSL erzeugen:
openssl req -nodes -newkey rsa:2048 -sha256 -keyout 'meinedomain_de.key' -out 'meinedomain_de.csr' -subj '/CN=meinedomain.de/C=DE'
Ersetze meinedomain.de durch Deine Domain. Die .csr-Datei enthält den Antrag für die Zertifizierungsstelle, die .key-Datei enthält den privaten Schlüssel. Bewahre den privaten Schlüssel sicher auf und gib ihn nicht weiter.
SSL-Zertifikate können nur für Domains ausgestellt werden, deren Inhaberschaft oder Kontrolle nachgewiesen werden kann. Je nach Zertifizierungsstelle erfolgt die Prüfung per DNS, HTTP oder E-Mail.
Bündelung von Zertifikaten
Ein Zertifikat kann mehrere Hostnamen in seinen Subject Alternative Names (SANs) enthalten, auch von unterschiedlichen Kunden. Entscheidend für den Browser ist, dass die aufgerufene Adresse vom gültigen Zertifikat abgedeckt ist. Die DNS-Namen findest Du in den Zertifikatsdetails.
Die Zusammenstellung kann sich bei Ausstellung und Erneuerung ändern. Falls Du für Deinen Einsatz ein Zertifikat mit ausschließlich eigenen Hostnamen benötigst, kläre die Möglichkeiten für Dein Paket vorab mit dem Support. Aus dem Paketnamen allein solltest Du keine feste Zertifikatszusammensetzung ableiten.
Von HTTP auf HTTPS umleiten
Wenn der gesamte HTTP-Traffic einer Domain auf HTTPS umgeleitet werden soll, nutze bevorzugt die Verwaltung:
- Öffne Websites & Domains.
- Wähle bei der Webseite das Schlosssymbol.
- Aktiviere die SSL-Weiterleitung.
Prüfe vor der Aktivierung, dass die betreffende Adresse bereits per HTTPS ohne Zertifikatswarnung funktioniert.
Nach einigen Minuten ist die Umleitung aktiv. Gegebenenfalls muss der Browser-Cache geleert werden.
Alternativ ist eine Weiterleitung per .htaccess möglich:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Bei R=301 handelt es sich um eine permanente Weiterleitung. Für temporäre Weiterleitungen kann R=302 verwendet werden.
HSTS aktivieren
HSTS weist Browser an, eine Domain künftig nur noch per HTTPS aufzurufen. Aktiviere HSTS nur, wenn SSL für die Domain zuverlässig funktioniert.
Lege dafür im Verzeichnis der Webseite eine .htaccess-Datei an oder ergänze eine vorhandene Datei:
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Bei ownCloud oder Nextcloud sollte die Zeile unterhalb der Update-Markierung eingefügt werden:
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Prüfe nach der HSTS-Konfiguration in den Browser-Entwicklerwerkzeugen die Antwortheader eines HTTPS-Aufrufs. Der Header muss tatsächlich mit dem gewünschten max-age ausgeliefert werden; teste auch nach Anwendungsupdates erneut.