{"id":84,"date":"2016-06-30T15:55:29","date_gmt":"2016-06-30T13:55:29","guid":{"rendered":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/?p=84"},"modified":"2022-12-01T15:55:51","modified_gmt":"2022-12-01T14:55:51","slug":"keine-ausreden-ssl-fuer-alle-webseiten","status":"publish","type":"post","link":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/?p=84","title":{"rendered":"Keine Ausreden &#8211; SSL f\u00fcr alle Webseiten"},"content":{"rendered":"\n<p>Durch das Projekt <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Lets Encrypt<\/a> ist es nun m\u00f6glich f\u00fcr alle Web-Seiten einfach und kostenfrei ein SSL Zertifikat zu erstellen. Es gibt also keine Ausreden mehr f\u00fcr ungesichert Verbindungen. Neben dem Sicherheitsaspektwerden Nutzer nicht mehr durch Warnungen im Browser irritiert. Des Weiteren ist zwar im offiziellen Standard von HTTP\/2 zwar auch Verbindungen ohne SSL (https:\/\/) vorgesehen, aber die Browser-Hersteller bieten HTTP\/2 nicht ohne Verschl\u00fcsselung an.<\/p>\n\n\n\n<p>Also ran an die Zertifikate! Die folgende Beschreibung beschreibt wie ein Apache auf einer Ubuntu Installation abgesichert wird und wie die erstellten Zertifikate automatisch aktualisiert werden. Parmeter und andere Informationen auf die ich hier nicht eingehe, k\u00f6nnen unter anderem in der <a href=\"https:\/\/letsencrypt.readthedocs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Dokumentation<\/a> nachgelesen werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<p>Die Installation der Let&#8217;s-Encrypt Skripte erfolgt entweder \u00fcber apt-get (in Ubuntu 14.04. sind diese noch nicht in den Repositories) oder durch Auschecken der Skripte aus Git.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">git clone https:\/\/github.com\/letsencrypt\/letsencrypt\n.\/letsencrypt-auto --help\n<\/pre>\n\n\n\n<p>Eine erste Hilfe wird mit folgenden Befehlen angezeigt.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd letsencrypt\n.\/letsencrypt-auto --help\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Aktualisierung der Installation<\/h2>\n\n\n\n<p>Die Installation wird automatisch mit dem Befehl letsencrypt-auto aktualisiert, der im Folgenden noch \u00f6fter zum Einsatz kommt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Erzeugen eines Zertifikats<\/h2>\n\n\n\n<p>Das Erzeugen der Zertifikate erfolgt in dem Installationsverzeichnis. Im ersten Schritt wird festgelegt f\u00fcr welche Domains das Zertifikat gelten soll (z.B. mit und ohne www) und wo sich das Homeverzeichnis f\u00fcr die Domain befindet. In dieses Verzeichnis wird im Laufe der Erzeugung eine Datei abgelegt \u00fcber die gepr\u00fcft wird, ob der Antragsteller Zugriff auf den Server hat.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.\/letsencrypt-auto certonly -d www.mein-name.de -d mein-name.de -w \/var\/www\/mein-name\/\n<\/pre>\n\n\n\n<p>Die obige Anweisung erzeugt f\u00fcr www.mein-name.de und mein-name.de ein Zertifikat. Das Basisverzeichnis der Web-Seiten liegt unter \/var\/www\/mein-name\/. Auf die Frage<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">How would you like to authenticate with the Let's Encypt CA?\n<\/pre>\n\n\n\n<p>w\u00e4hle ich<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">2 place files in webroot directory.\n<\/pre>\n\n\n\n<p>Im Anschluss werden die Dateien f\u00fcr das Zertifikat erzeugt und verfiziert. Sie finden sic dann unter<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/etc\/letsencrypt\/live\/www.mein-name.de\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguration von Apache<\/h2>\n\n\n\n<p>F\u00fcr die installation ben\u00f6tige ich die Version des installierten Apache.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apache2ctl -v\n<\/pre>\n\n\n\n<p>Bis Apache 2.4.7 sieht die Konfiguration wie folgt aus<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\nSSLEngine on\nSSLCertificateFile \/etc\/letsencrypt\/live\/thomas-leister.de\/cert.pem\nSSLCertificateChainFile \/etc\/letsencrypt\/live\/thomas-leister.de\/chain.pem\nSSLCertificateKeyFile \/etc\/letsencrypt\/live\/thomas-leister.de\/privkey.pem\n...\n<\/pre>\n\n\n\n<p>Ab Apache 2.4.8 (Ubuntu 15.04) sollte auf das SSLCertificateChainFile\u201c verzichtet und stattdessen nur SSLCertificateFile mit der Datei fullchain.pem statt cert.pem genutzt werden:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\nSSLEngine on\nSSLCertificateFile \/etc\/letsencrypt\/live\/thomas-leister.de\/fullchain.pem\nSSLCertificateKeyFile \/etc\/letsencrypt\/live\/thomas-leister.de\/privkey.pem\n...\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Erneuerung der Zertifikate<\/h2>\n\n\n\n<p>Let\u2018s Encrypt stellt Befehle f\u00fcr die Erneuerung von Zertifikaten bereit (<a href=\"https:\/\/letsencrypt.readthedocs.org\/en\/latest\/using.html#renewal\" target=\"_blank\" rel=\"noreferrer noopener\">link<\/a>). Mit dem Befehl<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.\/letsencrypt-auto renew\n<\/pre>\n\n\n\n<p>werden alle aktuellen Zertifikate gepr\u00fcft. L\u00e4uft dieser Befehl problemlos, kann er in crontab \u00fcbernommen werden und legt somit automatisch die Zertifikate bei Bedarf neu an. Es werden Zertifikate erneuert, die keine 30 Tage G\u00fcltigkeit mehr besitzen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Das war es &#8230;<\/h2>\n\n\n\n<p>Einfach und sicher &#8230; Vielen Dank an Let\u2018s Encrypt!!!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durch das Projekt Lets Encrypt ist es nun m\u00f6glich f\u00fcr alle Web-Seiten einfach und kostenfrei ein SSL Zertifikat zu erstellen. Es gibt also keine Ausreden mehr f\u00fcr ungesichert Verbindungen. Neben dem Sicherheitsaspektwerden Nutzer nicht mehr durch Warnungen im Browser irritiert. Des Weiteren ist zwar im offiziellen Standard von HTTP\/2 zwar auch Verbindungen ohne SSL (https:\/\/) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-84","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=\/wp\/v2\/posts\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=84"}],"version-history":[{"count":1,"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions"}],"predecessor-version":[{"id":85,"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions\/85"}],"wp:attachment":[{"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.schoenberg-solutions.de\/arndtblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}