Änderungen von Dokument Let’s Encrypt SSL-Zertifikat für Kopano beantragen
Zuletzt geändert von Jens Gruber am 2022/05/25 09:01
Von Version 19.1
bearbeitet von Jens Gruber
am 2022/05/25 09:01
am 2022/05/25 09:01
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 1.1
bearbeitet von Jens Gruber
am 2022/05/02 09:53
am 2022/05/02 09:53
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,14 +1,12 @@ 1 -(% style="color:#000000" %)Damit Webzugriffe auf Kopano über ein Zertifikat abgesichert sind, muss dieses zunächst auf dem LogoDIDACT-Server beantragt werden. Dies ist insbesondere für die Nutzung von Z-Push (ActiveSync-Protokoll) von hoher Relevanz. 2 -In diesem Artikel erfahren Sie, welche Voraussetzungen es gibt und wie ein signiertes Let's Encrypt Zertifikat generiert werden kann. 1 +Damit der Webzugriff von Kopano über ein Zertifikat abgesichert ist, muss dieses erst auf dem logoDIDACT-Server generiert werden. In folgendem Artikel erfahren Sie, was für Vorrausetzungen es gibt und über welche Wege ein Zertifikat generiert werden kann. 3 3 4 -{{toc start="4"/}} 5 5 4 +==== __**Vorrausetzungen**__ ==== 6 6 7 ----- 8 8 9 -==== (% style="color:#000000"%)__Voraussetzungen__(%%)====7 +===== __Portweiterleitung__ ===== 10 10 11 - (% style="color:#000000" %)Damit ein Zertifikat generiert werden kann, müssen folgende Ports vomvorgeschaltetenRouter (WAN) an den logoDIDACT-Server weitergeleitet werden:9 +Damit ein Zertifikat generiert werden kann, müssen folgende Ports vom Router (WAN) an den logoDIDACT-Server weitergeleitet werden: 12 12 13 13 {{code language="bash"}} 14 14 WAN (Internet) TCP-Port 80 -> auf externe IP-Adresse des logoDIDACT-Servers [http] ... ... @@ -16,137 +16,11 @@ 16 16 {{/code}} 17 17 18 18 19 -===== __ Freigabe von Kopano über rev-proxy__ =====17 +===== __Split-DNS__ ===== 20 20 21 - (%style="color:#000000"%)StellenSie zunächstsicher,dassder rev-proxyContaineramServer aktiviertist,fallsSieKopanoimInternetfreischaltenmöchten.19 +Split-DNS muss im logosrv eingerichtet werden und sorgt für ein zuverlässiges beantragen des SSL-Zertifikates. Hintergrund für Split-DNS ist ein oftmals fehlerhaftes NAT-Loopback am Router. Dies sorgt dafür dass nicht versucht wird, interne Adressen auch intern aufzulösen sondern ins Internet geschickt werden. 22 22 23 -(% style="color:#000000" %)Erweitern Sie die ##{{code}}/etc/logodidact/hosts/rev-proxy/revproxy.conf{{/code}}## im Puppeteer-LXC um folgende Zeilen, um Kopano im rev-proxy freizugeben. Achten Sie hierbei auf Angabe des richtigen Templates. 24 24 25 -{{code language="bash"}} 26 -[ReverseProxy kopano.ShortName.logoip.de] 27 -Url https://kopano 28 -Template kopano 29 -{{/code}} 22 +Führen Sie folgende Schritte zur Einrichtung durch: 30 30 31 -(% style="color:#000000" %) Übernehmen Sie die neuen Dateien bzw. die Änderungen ins Git: 32 - 33 -{{code language="bash"}} 34 -cd /etc/logodidact/ 35 -git add . 36 -git commit -a -m "Kopano über rev-proxy freigegeben." 37 -{{/code}} 38 - 39 - 40 -===== (% style="color:#000000" %)__Split-DNS__(%%) ===== 41 - 42 -(% style="color:#000000" %)Hintergrund für Split-DNS ist ein oftmals fehlerhaftes NAT-Loopback am Router. Dies stellt sicher, dass externe Adressen wie z.b. kopano.shortname.logoip.de nicht zum Router geschickt werden, sondern zum internen rev-proxy weitergeleitet werden. Dadurch wird der Router als Fehlerquelle ausgeschlossen und alle Benutzer können im Schulnetz wie auch Zuhause die gleiche URL für den Zugriff verwenden. 43 - 44 -(% style="color:#000000" %)Führen Sie folgende Schritte für die Einrichtung durch, falls noch nicht erfolgt. 45 - 46 -(% style="color:#000000" %)Öffnen Sie die Datei "named.conf.local" im logosrv: 47 - 48 -{{code language="bash"}} 49 -root@logosrv:~ # vim /etc/bind/named.conf.local 50 -{{/code}} 51 - 52 - 53 -(% style="color:#000000" %)Bearbeiten Sie die Datei wie folgt (Ersetzen Sie "musterstadt" durch den Schul-Shortname): 54 - 55 -{{code language="bash"}} 56 -## Externe dynamische IP intern auflösen 57 -zone "musterstadt.logoip.de" { 58 - type master; 59 - file "/etc/bind/db.dynip"; 60 - check-names ignore; 61 -}; 62 -{{/code}} 63 - 64 - 65 -(% style="color:#000000" %)Öffnen Sie die referenzierte Datei {{box}}db.dynip{{/box}} im logosrv: 66 - 67 -{{code language="bash"}} 68 -root@logosrv:~ # vim /etc/bind/db.dynip 69 -{{/code}} 70 - 71 - 72 -(% style="color:#000000" %)Passen Sie gegebenenfalls die IP-Adresse in den letzten beiden Zeilen an, als Ziel muss auf den Rev-Proxy Container verwiesen werden. Im Standard lautet dessen IP-Adresse "172.28.28.27": 73 - 74 -{{code language="bash"}} 75 -$TTL 1h 76 -@ IN SOA ns1.schule.local. postmaster.schule.local. ( 77 - 2009010101 ; serial 78 - 86400 ; refresh (1 day) 79 - 900 ; retry (15 minutes) 80 - 604800 ; expire (1 week) 81 - 900 ; minimum (15 minutes) 82 - ) 83 - 84 - NS ns1.schule.local. 85 - NS ns2.schule.local. 86 - 87 -@ A 172.28.28.27 88 -* A 172.28.28.27 89 -{{/code}} 90 - 91 - 92 -(% style="color:#000000" %)Starten Sie nach den Anpassungen den DNS-Server im logosrv neu: 93 - 94 -{{code language="bash"}} 95 -root@logosrv:~ # /etc/init.d/bind9 restart 96 -{{/code}} 97 - 98 - 99 ----- 100 - 101 -==== (% style="color:#000000" %)__SSL-Zertifikat über Tool acmetool oder acme.sh anfordern__(%%) ==== 102 - 103 -(% style="color:#000000" %)Nach Schaffung der technischen Voraussetzungen können Sie das Let's Encrypt-Zertifikat anfordern. Je nach verwendeter Software/Serverstand können Sie die folgenden 2 Wege nutzen: 104 - 105 - 106 -===== (% style="color:#000000" %)__acmetool__(%%) ===== 107 - 108 -(% style="color:#000000" %)Wechseln Sie in den puppeteer Container: 109 - 110 -{{code language="bash"}} 111 -root@ldhost:~ # lxc-ssh -n puppeteer 112 -{{/code}} 113 - 114 - 115 -(% style="color:#000000" %)Fordern Sie das Zertifikat mit folgendem Befehl an (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 116 - 117 -{{code language="bash"}} 118 -root@puppeteer:~ # acmetool want kopano.SCHULKUERZEL.logoip.de 119 -{{/code}} 120 - 121 - 122 -===== (% style="color:#000000" %)__acme.sh__(%%) ===== 123 - 124 -(% style="color:#000000" %)Wechseln Sie in den puppeteer Container: 125 - 126 -{{code language="bash"}} 127 -root@ldhost:~ # lxc-ssh -n puppeteer 128 -{{/code}} 129 - 130 - 131 -(% style="color:#000000" %)Wechseln Sie im puppeteer Container in die Umgebung des Benutzers le-acme zur Verwaltung der Let's Encrypt Zertifikate: 132 - 133 -{{code language="bash"}} 134 -root@puppeteer:~ # sle 135 -{{/code}} 136 - 137 - 138 -(% style="color:#000000" %)Beantragen Sie ein neues Zertifikat mit folgendem Befehl (ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 139 - 140 -{{code language="bash"}} 141 -le-acme@puppeteer:~ $ issue kopano.SCHULKUERZEL.logoip.de 142 -{{/code}} 143 - 144 - 145 -(% style="color:#000000" %)Um das Verteilen der Zertifikate zu beschleunigen, können Sie nacheinander einen {{box}}prun{{/box}} im puppeteer und rev-proxy Container durchführen: 146 - 147 -{{code language="bash"}} 148 -root@puppeteer:~ # prun 149 -root@rev-proxy:~ # prun 150 -{{/code}} 151 - 152 152