{"id":141,"date":"2019-08-30T11:08:50","date_gmt":"2019-08-30T09:08:50","guid":{"rendered":"https:\/\/coding-hard.com\/blog\/?p=141"},"modified":"2019-10-25T13:51:30","modified_gmt":"2019-10-25T11:51:30","slug":"letsencrypt-ssl-tls-verschluesselung","status":"publish","type":"post","link":"https:\/\/blog.coding-hard.com\/?p=141","title":{"rendered":"LetsEncrypt SSL\/TLS Verschl\u00fcsselung"},"content":{"rendered":"\n<p>Im folgenden Tutorial wird gezeigt, wie man mit LetsEncrypt und dem Certbot seine Verbindung zum Webserver verschl\u00fcsseln kann.<\/p>\n\n\n\n<p>Falls noch eine Subdomain erstellt werden soll, muss ein DNS Eintrag f\u00fcr die Domain bei dem Anbieter erstellt werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">subdomain IN CNAME domain.de.<\/pre>\n\n\n\n<p>Zuerst muss ein Repository hinzugef\u00fcgt werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Datei \u00f6ffnen\nnano \/etc\/apt\/sources.list\n# Wert unten eintragen\ndeb http:\/\/ftp.debian.org\/debian stretch-backports main<\/pre>\n\n\n\n<p>Als n\u00e4chstes muss dann alles geupdatet werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt-get update<\/pre>\n\n\n\n<p>Nun wird der Certbot installiert:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt-get install python-certbot-apache -t stretch-backports<\/pre>\n\n\n\n<p>Nach der Installation hat man zwei M\u00f6glichkeiten:<\/p>\n\n\n\n<ul><li>Zertifikat herunterladen und die Apache Konfigurationen automatisch anpassen<\/li><li>Nur das Zertifikat herunterladen und die Konfiguration manuell anpassen<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Automatisch\ncertbot --apache\n# Manuell\ncertbot certonly --apache<\/pre>\n\n\n\n<p>Es wird nach den Domains und Subdomain gefragt, f\u00fcr welche das Zertikat installiert werden soll. Hier sollte die Domains mit Kommata getrennt eingegeben werden. Die Subdomains sollten als DNS Eintrag vorhanden sein:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">domain.de,subdomain.domain.de,subdomain2.domain.de<\/pre>\n\n\n\n<p>Nun sollten sich die generierten Dateien im folgenden Verzeichnis befinden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/etc\/letsencrypt\/live\/domain.de\/fullchain.pem\n\/etc\/letsencrypt\/live\/domain.de\/privkey.pem<\/pre>\n\n\n\n<p>Um nun noch daf\u00fcr zu sorgen, dass das Zertifikat automatisch verl\u00e4ngert wird, kommt folgender Befehl zu tragen:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">certbot renew --dry-run<\/pre>\n\n\n\n<p>Nun sollten die Daten verschl\u00fcsselt transportiert werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">https:\/\/domain.de<\/pre>\n\n\n\n<p>Falls sp\u00e4ter weitere Subdomains zum Zertifikat hinzugef\u00fcgt werden sollen, muss folgender Befehl eingegeben werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">certbot certonly -d domain.de,subdomain.domain.de,subdomain2.domain.de<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">a2enmod rewrite proxy proxy_http headers ssl\nsystemctl reload apache2<\/pre>\n\n\n\n<p><strong>Quellen:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/certbot.eff.org\/lets-encrypt\/debianstretch-apache\">Certbot installieren<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/backports.debian.org\/Instructions\/\">Backports<\/a><\/div>\n\n\n\n<p><\/p>\n ","protected":false},"excerpt":{"rendered":"<p>Im folgenden Tutorial wird gezeigt, wie man mit LetsEncrypt und dem Certbot seine Verbindung zum Webserver verschl\u00fcsseln kann. Falls noch&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=\/wp\/v2\/posts\/141"}],"collection":[{"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=141"}],"version-history":[{"count":7,"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":222,"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions\/222"}],"wp:attachment":[{"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.coding-hard.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}