seo-nerd® GmbH - digital success
Akazienstraße 3a, 10823, Berlin, Berlin, Deutschland

Lets Encrypt SSL.

HTTPS als Rankingfaktor
Schlösser an einem Zaun, darüber: "HTTPS - Sichere Webseiten schaffen tiefere Verbindungen" - zum Beispiel durch Let's Encrypt

Bereits seit 2014 ist die sichere Verschlüsselung von Webseiten ein Rankingfaktor bei Google. Die dafür notwendige Zertifizierung einer Domain verursacht Kosten und ist zudem aufwendig. Mit Let’s Encrypt gibt es nun jedoch eine Zertifizierungsstelle, die weitgehend automatisiert und vor allem kostenfrei Zertifikate für verschlüsselte Websites vergibt.Let’s Encrypt ist eine Initiative, die gegründet wurde, um die Verschlüsselung des gesamten WWW zu erreichen.

Angeboten wird der Dienst von der gemeinnützigen Internet Security Research Group (ISRP), hinter der so klangvolle Sponsoren stehen wie Mozilla, Akamai, Cisco, Google Chrome, Facebook, IdenTrust oder die Nichtregierungsorganisation Electronic Frontier Foundation (EFF), die sich für Grundrechte im Informationszeitalter einsetzt.

Was leistet HTTPS?

Bildlich gesprochen gehört zur DNA des Internets, dass alle („angeschlossenen“) Geräte im Netz miteinander kommunizieren können. Die Geräte (Computer, Smartphone etc.) verwenden dafür festgelegte Protokolle. Das World Wide Web baut auf das HyperText Transfer Protocol, abgekürzt HTTP. Webseiten sind im Wesentlichen also Hypertext-Dokumente, die von einem Webserver an interessierte User (über einen Browser) ausgeliefert werden. Ist die Webseite unverschlüsselt, können Dritte die zwischen Endnutzer und Webserver ausgetauschten Daten im Klartext einsehen und manipulieren, indem sie sich Zugang zum LAN oder WLAN verschaffen – was auf vielfältige Weise möglich ist.

Beim HTTPS-Protokoll werden die ausgetauschten Dokumente verschlüsselt, sodass nur noch der Computer (genauer: der Browser) des Users und der Webserver, auf dem die Webseite liegt, die Informationen lesen können. Für diese Verschlüsselung werden TLS-Protokolle verwendet, auch bekannt unter der Vorgängerbezeichnung SSL (Secure Sockets Layer). Die Verwendung einer TLS/SSL-Verschlüsselung allein reicht jedoch für einen sicheren Datenaustausch nicht aus, da ja auch sie prinzipiell von Unbefugten benutzt werden kann.

Benötigt wird daher eine dritte, unabhängige Institution, die bestätigt, dass der angezeigten Webseite auch tatsächlich zu vertrauen ist. (Deutlich wird das, wenn man sich einen möglichen Missbrauch vor Augen hält: beispielsweise könnte es sich um eine nachgebaute Seite handeln, die „nur so tut“ als sei sie die Webseite der Bank oder des Shops XY, um so an vertrauliche Daten zu kommen.) Diese unabhängige Institution ist eine sogenannte Zertifizierungsstelle (englisch: CA für „certificate authority“). Let’s Encrypt ist genau das: eine Zertifizierungsstelle, die HTTPS-Zertifikate (x.509-Zertifikate) für Domains vergibt.

User erkennen die verschlüsselte Verbindung ganz einfach an der ausgeschriebenen HTTPS-Auszeichnung in der Adresszeile sowie einem grün unterlegtem Schlosssymbol, das angeklickt werden kann und dann Auskunft über die Zertifizierungsstelle gibt.

Wie prüft Let’s Encrypt, ob es sich um eine sichere Domain handelt?

Webseitenbetreiber, die eine HTTPS-Zertifizierung von Let’s Encrypt wünschen, müssen sich über ihren Server bei der Zertifizierungsstelle anmelden und ein signiertes Zertifikat für die Domain anfordern. Let’s Encrypt stellt daraufhin dem Webserver eine Aufgabe, die er lösen muss. Passen die Rückmeldungen, gilt das für Let’s Encript als Bestätigung, dass der Webserver tatsächlich über die Domain verfügt und sie kontrolliert. Die Domain gilt als validiert, sobald auch der Private Key des Webservers mit dem Initialisierungsvektor (Nonce) der Zertifizierungsstelle erstellt und signiert ist. Let’s Encrypt stellt jetzt der Webseite ein HTTPS-Zertifikat aus. Dieses Zertifikat kann fortan bei jedem Aufruf der HTTPS-Verbindung anhand des von Let’s Encrypt signierten Schlüssels überprüft und so die Identität des Webservers festgestellt werden.

Warum sind die HTTPS-Zertifikate von Let’s Encrypt zeitlich beschränkt?

Wie alle SSL/TLS-Zertifikate sind auch die Zertifikate von Let’s Encrypt zeitlich beschränkt. Bei kommerziellen Anbietern ist das ebenfalls so, jedoch sind hier, je nach angefragtem Zertifikat, Laufzeiten zwischen einem und fünf Jahren üblich. Let’s Encrypt möchte mit der deutlich kürzeren Laufzeit zweierlei erreichen:

1. Missbrauch schneller bekämpfen können
2. Den Druck erhöhen, den Zertifizierungsprozess zu automatisieren

Derzeit muss für ein Zertifikat noch einiges manuell angestoßen werden. Sobald alle Prozesse automatisiert laufen, soll die zeitliche Beschränkung jedoch sogar auf 30 Tage heruntergesetzt werden. Das Erneuern des Zertifikats erfolgt dann natürlich auch automatisch.

Anleitung zum Einbau einer TLS / SSL-Zertifizierung  von Let’s Encrypt

Derzeit befindet sich Let’s Encrypt noch immer in der Beta-Phase, kann also noch viele Bugs enthalten. Gleichwohl werden die Zertifikate von allen gängigen Browsern und Betriebssystemen bereits unterstützt.

Zum Signieren der Zertifikate stellt Let’s Encrpyt ein offenes Protokoll, ACME (Automated Management Environment), zur Verfügung, das mit der Zertifizierungsstelle (den CA-Servern) kommuniziert. Das Tool erfordert root-Rechte. Zudem muss der Webserver zeitweise heruntergefahren werden.

1. ACME Client installieren

1 cd /opt
2 git clone https://github.com/letsencrypt/letsencrypt
3 cd letsencrypt

2. Zertifikate erstellen

Bevor der Client aktiviert wird, muss der Webserver gestoppt und neu hochgefahren werden, damit Port 80 für den Client frei verwendbar ist.

Nun wird die Zertifizierungsanfrage wird gestellt:

1 /letsencrypt-auto certonly –rsa-key-size 4096 -d domain.de -d www.domain.de

Die Optionen bewirken:

  • „certonly“: die Zertifikate werden nur abgeholt und gespeichert. Auf eine automatische Einbindung in die Webserver-Konfiguration wird verzichtet
  • rsa-key-size 4096: statt der standardmäßig gesetzten 2048 Bit für den RSA Private Key wird eine Länge von 4096 Bit festgelegt
  • -d: für diese Domains wird das Zertifikat beantragt. Es können auch Subdomains angegeben werden

Wird der Client nun aufgerufen, muss man den Nutzungsbedingungen zustimmen sowie eine E-Mail-Adresse hinterlegen, die zur Verlängerung des Zertifikates benötigt wird und als Anlaufadresse für Let’s Encrpyt bei Sicherheitsproblemen dient. Ist die Beantragung durch, werden die Zertifikatsdateien vom ACME-Server in „etc/letsencrypt/live/[domain]“ hinterlegt:

  • cert.pem: das Server bzw. öffentliche Zertifikat
  • chain.pem: ein öffentliches Zertifikat, das Zwischenzertifikate enthält und daher auch „Intermediate Zertifikat“ genannt wird
  • fullchain.pem: enthält cert.pem UND chain.pem
  • privkey.pem: der private Schlüssel

Die Beantragung ist damit abgeschlossen. Nun muss das Zertifikat im Webserver hinterlegt werden.

3. Zertifikat konfigurieren

Welche der Zertifikatsdateien benötigt werden, hängt vom Webserver ab.
Apache-Webserver (ab 2.4.8) sowie nging-Webserver benötigen die fullchain.pem- sowie die prickey.pem:

ssl_certificate /etc/letsencrypt/live/thomas-leister.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/thomas-leister.de/privkey.pem;

Apachache-Webserver (unter 2.4.8) können mit der fullchain.pem-Datei wenig anfangen, stattdessen muss die cert.pem- und chain.pem- sowie erneut die privkey.pem-Datei hinterlegt werden:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/thomas-leister.de/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/thomas-leister.de/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/thomas-leister.de/privkey.pem

Der Webserver kann nun wieder gestartet werden und sollte jetzt die TLS- / SSL-Zertifizierung ordnungsgemäß ausweisen.

4. Zertifikat verlängern

Auch zum Verlängern des Zertifikats muss der Webserver erneut gestoppt werden. Verlängern lässt sich das Let’s Encrpyt Zertifikat dann einfach mit dem Befehl:

/opt/letsencrypt/letsencrypt-auto certonly –renew-by-default -d domain.de www.domain.de

 

Das könnte Dich auch interessieren