Wiki-Quellcode von Webdienste extern freischalten
Zuletzt geändert von Clemens Dörfler am 2024/03/06 15:58
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{toc/}} | ||
2 | |||
3 | === __Getestete Versionen__ === | ||
4 | |||
5 | Die Funktionalität wurde in folgenden Puppet-Versionen sichergestellt: | ||
6 | |||
7 | * ((( | ||
8 | 7.0.4-7 | ||
9 | ))) | ||
10 | |||
11 | Es muss somit unter LogoDIDACT 4.0 mindestens die Puppet-Version 7.0.4-7 am Server aufgespielt sein, um LDAPs im Internet freizuschalten. | ||
12 | |||
13 | |||
14 | === __Forwarder aktivieren__ === | ||
15 | |||
16 | (% class="box" %) | ||
17 | ((( | ||
18 | ##ssh puppeteer-g3 | ||
19 | vi /etc/logodidact/hiera/custom.d/ldhost.yaml## | ||
20 | ))) | ||
21 | |||
22 | Gemäß Manpage-Eintrag (##//man role.rev-proxy//##) muss die Forwarder-Komponente aktiviert werden, damit externe Anfragen an interne Dienste getunnelt werden können. Dazu folgende Zeile hinzufügen, falls noch nicht vorhanden. | ||
23 | |||
24 | (% class="box" %) | ||
25 | ((( | ||
26 | ##ld_base::components: {forwarder: true}## | ||
27 | ))) | ||
28 | |||
29 | Dadurch wird die Software HAProxy als Application-Proxy im **ldhost **hinzugefügt. Dies wird durch einen anschließenden **//prun //**dort ausgelöst. | ||
30 | |||
31 | |||
32 | === __Dienst extern im rproxy freischalten__ === | ||
33 | |||
34 | Anschließend muss der Dienst mit dem vordefinierten Schlüsselwort "//##CONTAINERNAME##//" im LXC-Container rproxy-ext freigeschaltet werden. Dazu im selbigen Verzeichnis eine neue Datei anlegen oder aber falls bereits vorhanden, dieselbe nutzen & ergänzen. (Infos dazu in: //##man host.rproxy-ext##// und //##components.forwarder##//, sowie ##//features.ldap//##) | ||
35 | |||
36 | (% class="box" %) | ||
37 | ((( | ||
38 | ##ssh puppeteer-g3 | ||
39 | vi /etc/logodidact/hiera/custom.d/rproxy-ext.yaml## | ||
40 | ))) | ||
41 | |||
42 | (% class="box" %) | ||
43 | ((( | ||
44 | ##ld_rproxy2::access: [//CONTAINERNAME//] # weitere Dienste können kommagetrennt innerhalb der eckigen Klammern als Liste hinzugefügt werden## | ||
45 | ))) | ||
46 | |||
47 | (% class="box infomessage" %) | ||
48 | ((( | ||
49 | **Hinweis:** | ||
50 | Es ist auch möglich, anstatt der **rproxy-ext.yaml** eine allgemeingültige **rev-proxy.yaml** zu erstellen. Diese muss man allerdings mit demselben Inhalt im Verzeichnis **/etc/logodidact/hiera/custom.d/role.d/ **abspeichern. | ||
51 | Bei Verwendung der allgemeingültigen **rev-proxy.yaml** schaltet man die Dienste sowohl für den Zugriff vom lokalen Netzwerk als auch im Internet parallel frei. Dies ist üblicherweise bei Webdiensten sinnvoll, unter Umständen jedoch auch beim LDAPS-Zugriff auf den Server. | ||
52 | ))) | ||
53 | |||
54 | |||
55 | |||
56 | === __SSL-Zertifikat beantragen__ === | ||
57 | |||
58 | Für eine gesicherte Verbindung wird natürlich auch ein Zertifikat benötigt. Das Tool 'acme.sh' zur Registrierung von Let's Encrypt Zertifikaten ist unter LD4.0 standardmäßig nicht aktiviert. Deshalb muss es zunächst aktiviert werden, falls noch nicht geschehen. | ||
59 | |||
60 | (% class="box" %) | ||
61 | ((( | ||
62 | ##ssh puppeteer-g3 | ||
63 | vi /etc/logodidact/hiera/custom.d/puppeteer-g3.yaml## | ||
64 | ))) | ||
65 | |||
66 | (% class="box" %) | ||
67 | ((( | ||
68 | ##ld_acme::client: 'acme.sh' | ||
69 | ld_acme::ensure: 'present' | ||
70 | ld_acme::mail: 'support@sbe.de' # ggf. eine andere Mailadresse einsetzen, an die Benachrichtigungen von Let's Encrypt gesendet werden sollen## | ||
71 | ))) | ||
72 | |||
73 | Danach die Änderungen mit //**git**// commiten und einen //**prun **//im **Puppeteer **starten, damit acme.sh installiert wird. Mittels **'sle**' wechselt man nach erfolgreicher Installation in die Zertifikatsverwaltung und kann ein Zertifikat beantragen. | ||
74 | |||
75 | |||
76 | (% class="box" %) | ||
77 | ((( | ||
78 | ##issue CONTAINERNAME.[ShortName].logoip.de## | ||
79 | ))) | ||
80 | |||
81 | |||
82 | |||
83 | (% class="box infomessage" %) | ||
84 | ((( | ||
85 | **__Hinweis:__** | ||
86 | Falls die Beantragung des Zertifikates fehlschlägt, müssen unter Umständen noch die Webports 80/HTTP und 443/HTTPS in der Shorewall des **ldhost** geöffnet werden. | ||
87 | Dazu in der Shorewall-Konfigurationsdatei **/etc/shorewall/rules** ganz oben folgende beiden Einträge hinzufügen, falls noch nicht vorhanden: | ||
88 | \\HTTP(ACCEPT) ext $FW | ||
89 | HTTPS(ACCEPT) ext $FW | ||
90 | \\Danach das Kommando **shorewall restart** zum Laden der geänderten Einstellungen im **ldhost** absenden. | ||
91 | Außerdem vergewissern, dass diese beiden genannten TCP-Ports am vorgeschalteten Internetrouter auf die Schnittstelle **p_extern** des LogoDIDACT Servers weitergeleitet werden! | ||
92 | ))) |