{"id":4319,"date":"2023-01-27T18:30:14","date_gmt":"2023-01-27T17:30:14","guid":{"rendered":"http:\/\/speefak.spdns.de\/oss_lifestyle\/?p=4319"},"modified":"2024-06-02T09:22:47","modified_gmt":"2024-06-02T07:22:47","slug":"apache-webserver-ssl-mit-lets-encrypt-zertifikaten-debian-9-10-11","status":"publish","type":"post","link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/apache-webserver-ssl-mit-lets-encrypt-zertifikaten-debian-9-10-11\/","title":{"rendered":"Apache Webserver &#8211; SSL mit Let\u2019s-Encrypt-Zertifikaten ( Debian 9\/10\/11 )"},"content":{"rendered":"<p>Das Projekt Let\u2019s Encrypt bietet kostenlose Zertifikate an, die von den meisten g\u00e4ngigen Webbrowsern akzeptiert werden, ohne manuell eine Ausnahme f\u00fcr die Verwendung des Zertifikats (wie bei selbst erstellen Zertifikaten) best\u00e4tigen zu m\u00fcssen. Let\u2019s Encrypt stellt lediglich die Zertifikats-Infrastruktur zur Verf\u00fcgung. Um die Entwicklung des offiziellen Let\u2019s-Encrypt-Client k\u00fcmmert sich die Electronic Frontier Foundation (EFF) um die Entwicklung und Wartung der Software. Der offizielle Let\u2019s-Encrypt-Client hat seither den Namen certbot. Installationsanleitungen f\u00fcr diverse Distributionen finden Sie auf der Seite https:\/\/certbot.eff.org.<\/p>\n<p>Die Installation und Konfiguration der SSL Zertifikate und des Apache Webservers ist mit dem Lets Encrypt Cerbot schnell und einfach zu bewerkstelligen. F\u00fcr das Let\u2019s-Encrypt-Projekt gelten drei Grundannahmen, die sich von den etablierten Zertifizierungsstellen wie Thawte oder Verisign unterscheiden:<\/p>\n<ol>\n<li>\u00dcberpr\u00fcft wird nur die Domain, nicht aber, wer Sie sind bzw. ob es Ihre Firma gibt. Die Zertifikate haben damit die gleiche Qualit\u00e4t wie die jeweils kosteng\u00fcnstigsten Zertifikate kommerzieller Anbieter. F\u00fcr private\/kleine Webauftritte ist das absolut ausreichend. Let\u2019s Encrypt richtet sich aber nicht an Online-Shops, gro\u00dfe Firmen, Banken etc., bei deren Zertifikaten (gegen gutes Geld) auch der Inhaber der Domain \u00fcberpr\u00fcft wird.<\/li>\n<li>Die Installation der Zertifikate erfolgt weitgehend automatisiert durch das Kommando certbot. Damit entf\u00e4llt das umst\u00e4ndliche Handling mit Schl\u00fcsseln und Zertifikatsdateien, die per E-Mail versendet bzw. manuell heruntergeladen werden m\u00fcssen. In diesem Punkt bietet Let\u2019s Encrypt mehr Komfort als kommerzielle Anbieter.<\/li>\n<li>Die Zertifikate sind generell nur 90 Tage g\u00fcltig, werden aber regelm\u00e4\u00dfig automatisch erneuert und \u00fcberpr\u00fcft.<\/li>\n<\/ol>\n<ul>\n<li>Um Missbrauch zu vermeiden, gibt es strikte <a href=\"https:\/\/letsencrypt.org\/docs\/rate-limits\" target=\"_blank\" rel=\"noopener noreferrer\">Limits<\/a>, wie viele Zertifikate f\u00fcr eine Domain in einer bestimmten Zeit erzeugt werden d\u00fcrfen.<br \/>\nDaher sollte das Kommando certbot f\u00fcr erste Tests mit der Option &#8211;staging (ehemals &#8211;test-cert) verwendet werden. Die &#8211;staging Option erstellt Zertifikate von einem Test-System. Nachdem die Konfiguration \u00fcberpr\u00fcft und sichergestellt ist, dass alles funktioniert, kann cerbot ohne die &#8211;staging Option zur Erstellung der richtigen Zertifikate aufgerufen werden.<\/li>\n<\/ul>\n<hr \/>\n<h2>SSL Module des Apache Webserver aktivieren<\/h2>\n<p>Als Basis wird eine Debian 11 Installation mit einem Apache Webserver verwendet. Die Aktivierung der SSL Standardkonfiguration erfolgt folgenderma\u00dfen :<\/p>\n<pre class=\"lang:sh decode:true\">sudo a2enmod ssl\r\nsudo a2ensite default-ssl.conf<\/pre>\n<hr \/>\n<h2>Certbot installieren<\/h2>\n<p>Certbot ist in den offiziellen Repositories enthalten und kann daher wie gewohnt einfach mit folgendem Befehl installiert werden:<\/p>\n<pre class=\"lang:sh decode:true \">sudo apt-get install certbot python3-certbot-apache<\/pre>\n<p>Alternativ kann die Installation aus dem Cerbot Repository erfolgen :<\/p>\n<pre class=\"lang:sh decode:true\">add-apt-repository ppa:certbot\/certbot\r\napt update\r\napt install python-certbot-apache<\/pre>\n<hr \/>\n<h2>Let\u2019s-Encrypt-Zertifikate f\u00fcr Apache installieren<\/h2>\n<p>Um Let\u2019s-Encrypt-Zertifikate anzufordern und f\u00fcr den Webserver Apache zu installieren, f\u00fchren Sie das folgende Kommando aus. Dabei ersetzen Sie meine-domain.de durch Ihren Domainnamen. Die Zertifikate f\u00fcr smtp.* und imap.* sollen sp\u00e4ter zur sicheren Konfiguration des Mail-Servers verwendet werden. Wenn Sie nicht vorhaben, einen Mail-Server einzurichten, lassen Sie diese beiden Hostnamen weg. Nicht verzichten sollten Sie hingegen auf die www-Variante, selbst wenn Sie http:\/\/domainname gegen\u00fcber http:\/\/www.domainname vorziehen. Das www-Subdomain-Zertifikat ist erforderlich, damit HTTPS-Rewrite-Regeln von www.domainname auf domainname funktionieren.<\/p>\n<p>Erst wenn Sie sicher sind, dass alles klappt, entfernen Sie zuletzt die Option &#8211;staging und wiederholen das Kommando nochmals zur Installation der endg\u00fcltigen Zertifikate.<\/p>\n<pre class=\"lang:sh decode:true\">certbot --apache -d www.meine-domain.de \\\r\n-d imap.meine-domain.de \\\r\n-d smtp.meine-domain.de<\/pre>\n<p>Das Kommando certbot fordert Sie auf, einen E-Mail-Namen anzugeben. \u00dcber diese E-Mail werden Sie verst\u00e4ndigt, wenn Ihre Zertifikate ablaufen. Wenn certbot in der Apache-Konfiguration keine Datei mit ServerName-Einstellungen findet, die mit den von Ihnen angegebenen Hostnamen \u00fcbereinstimmen, m\u00fcssen Sie in einem weiteren Dialog ausw\u00e4hlen, in welche Apache-Konfigurationsdatei die SSL-Konfiguration eingetragen wird. Au\u00dferdem k\u00f6nnen Sie entscheiden, ob Ihre Webseite auch via HTTP zug\u00e4nglich sein soll, oder ob HTTPS das einzig erlaubte Protokoll ist. certbot f\u00fcgt dann auch entsprechende Umleitungsanweisungen in Ihre Apache-Konfiguration ein.<\/p>\n<p>Certbot fordert nun beim Let\u2019s-Encrypt-Projekt die f\u00fcr Sie generierten Zertifikate an, l\u00e4dt diese herunter, installiert alle erforderlichen Dateien in das Verzeichnis \/etc\/letsencrypt, aktualisiert die Apache-Konfiguration und startet Apache schlie\u00dflich neu.<\/p>\n<p>Die Let\u2019s-Encrypt-Zertifikate sind grunds\u00e4tzlich universell verwendbar. Da es aber \u00fcblich ist, den SMTP-Server \u00fcber den Hostnamen smtp.meine-domain.de und den IMAP-Server \u00fcber imap.meine-domain.de anzusprechen, m\u00fcssen Sie auch f\u00fcr diese beiden Hostnamen Zertifikate anfordern.<\/p>\n<hr \/>\n<h2>Automatische Erneuerung der Let\u2019s-Encrypt Zertifikate<\/h2>\n<p>Mit der Installation von Certbot wird automatisch ein Cronjob angelegt, der zweimal t\u00e4glich die Zertifikate mit dem Certbotserver abgleicht. Dies kann mit folgendem Befehl \u00fcberpr\u00fcft werden:<\/p>\n<pre class=\"lang:default decode:true \">sudo systemctl status certbot.timer<\/pre>\n<p>Falls kein Cronjob angelegt wurde ( Debian 9 ) kann der Abgleich auch mit einem manuell erstellen Cronjob automatisiert werden:<\/p>\n<pre class=\"lang:sh decode:true\">30 17 4 *\/3 0 certbot renew &gt;\/dev\/null 2&gt;&amp;1<\/pre>\n<p>* der o.g. Cronjob wird um 17:30 am 4ten jeden 3ten Monat ausgef\u00fchrt.<\/p>\n<p>Der certbot renew Befehl \u00fcberpr\u00fcft selbst\u00e4ndig, ob eine Zertifikatserneuerung notwendig ist. Daher kann o.g. Cronjob auch t\u00e4glich oder st\u00fcndlich ausgef\u00fchrt werden um Serverausfallzeiten so gering wie m\u00f6glich zu halten (falls das erstellte Zertifikat vor dem Cronjob zur Erneuerung ablaufen sollte).<\/p>\n<hr \/>\n<h2>Umleitung von HTTP zu HTTPS erzwingen<\/h2>\n<p>Um jegliche Serveranfragen von http zu https umzuleiten wird in der Datei \/etc\/apache2\/apache2.conf folgender Eintrag hinzugef\u00fcgt:<\/p>\n<pre class=\"lang:default decode:true\">&lt;VirtualHost *:80&gt;\r\n    Redirect permanent \/ https:\/\/SERVER_NAME\/\r\n&lt;\/VirtualHost&gt;\r\n<\/pre>\n<hr \/>\n<h2>Fehlerquellen<\/h2>\n<ul>\n<li><code>DNS problem: NXDOMAIN looking up A for speefak.spdns.de- check that a DNS record exists for this\/<\/code><br \/>\n<code>DNS problem: NXDOMAIN looking up AAAA for speefak.spdns.de- check that a DNS record exists for this\/<\/code><code><\/code><br \/>\n=&gt; Falscher oder fehlender Eintrag des DDNS Anbieters f\u00fcr IPv4 (A) oder IPv6 (AAAA)<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5077\" src=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-content\/uploads\/2019\/07\/blank_pixel.png\" alt=\"\" width=\"1\" height=\"1\" \/><\/li>\n<li><code>...<\/code><\/li>\n<\/ul>\n<hr \/>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2821 alignleft\" src=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-content\/uploads\/2014\/08\/CC_BY_NC_SA.png\" alt=\"CC_BY_NC_SA\" width=\"65\" height=\"23\" \/><span style=\"font-size: 10pt;\">by Speefak |<span style=\"font-size: 8pt;\"> <a href=\"https:\/\/www.sebae.net\/blog\/how-to-install-lets-encrypt-on-debian-11\/\" target=\"_blank\" rel=\"noopener\">www.sebae.net<\/a><\/span> | <span style=\"font-size: 8pt;\"><a href=\"https:\/\/www.karl-deutsch.at\/linux_apache2_ssl_https_letsencrypt_zertifikat.html\" target=\"_blank\" rel=\"noopener noreferrer\">www.karl-deutsch.at<\/a> | <a href=\"https:\/\/kofler.info\/lets-encrypt-zertifikate-fuer-web-und-mail-unter-ubuntu-16-04\/\" target=\"_blank\" rel=\"noopener noreferrer\">kofler.info<\/a> | <a href=\"https:\/\/legacy.thomas-leister.de\/anleitung-fuer-lets-encrypt-kostenlose-tls-zertifikate-fuer-alle\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/legacy.thomas-leister.de<\/a> | <\/span><\/span><a href=\"https:\/\/www.mva.ch\/support\/webhosting-vps\/losungen\/lets-encrypt-fehler-beim-ssl-signieren-der-website\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-size: 8pt;\">www.mva.ch<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Projekt Let\u2019s Encrypt bietet kostenlose Zertifikate an, die von den meisten g\u00e4ngigen Webbrowsern akzeptiert werden, ohne manuell eine Ausnahme f\u00fcr die Verwendung des Zertifikats (wie bei selbst erstellen Zertifikaten) best\u00e4tigen zu m\u00fcssen. Let\u2019s Encrypt stellt lediglich die Zertifikats-Infrastruktur zur Verf\u00fcgung. Um die Entwicklung des offiziellen Let\u2019s-Encrypt-Client k\u00fcmmert sich die Electronic Frontier Foundation (EFF) um [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,40,43],"tags":[],"class_list":["post-4319","post","type-post","status-publish","format-standard","hentry","category-anleitungen","category-server","category-sicherheit"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"speefak","author_link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/author\/speefak_oss\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/anleitungen\/\" rel=\"category tag\">Anleitungen<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/server\/\" rel=\"category tag\">Server<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/sicherheit\/\" rel=\"category tag\">Sicherheit<\/a>","rttpg_excerpt":"Das Projekt Let\u2019s Encrypt bietet kostenlose Zertifikate an, die von den meisten g\u00e4ngigen Webbrowsern akzeptiert werden, ohne manuell eine Ausnahme f\u00fcr die Verwendung des Zertifikats (wie bei selbst erstellen Zertifikaten) best\u00e4tigen zu m\u00fcssen. Let\u2019s Encrypt stellt lediglich die Zertifikats-Infrastruktur zur Verf\u00fcgung. Um die Entwicklung des offiziellen Let\u2019s-Encrypt-Client k\u00fcmmert sich die Electronic Frontier Foundation (EFF) um&hellip;","_links":{"self":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/4319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/comments?post=4319"}],"version-history":[{"count":0,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/4319\/revisions"}],"wp:attachment":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/media?parent=4319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/categories?post=4319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/tags?post=4319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}