Änderungen von Dokument Samba4 Verzeichnisdienst direkt im Internet freigeben (ohne Stream via rev-proxy)
Zuletzt geändert von Jonas Mayer am 2022/05/23 10:48
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,12 +1,15 @@ 1 -(% style="color:#e74c3c; font-size:18px" %)**__Wichtig__**(%%) 2 -(% style="color:#e74c3c; font-size:16px" %)**Diese Art der Verzeichnisdienst-Freigabe wird von SBE nicht empfohlen, da hier die Freischaltung ohne zertifikatsgesicherte Transportverschlüsselung erfolgt. 3 -Wir empfehlen Ihnen stattdessen, dieser **(% style="font-size:16px" %)**[[(% style="font-size: 16px; color: rgb(41, 128, 185); font-size: 16px" %)Anleitung>>doc:Main.LD Server.Puppet-Version.1\.3\.22\.14.Geändert\: LDAP Admin-Benutzer und ReadOnly-Benutzer im logosrv.WebHome||target="_blank"]](%%)**(% style="color:#e74c3c; font-size:16px" %)**[[ >>doc:Main.LD Server.Puppet-Version.1\.3\.22\.14.Geändert\: LDAP Admin-Benutzer und ReadOnly-Benutzer im logosrv.WebHome||target="_blank"]]zu folgen, um den LDAP-Dienst auf sichere Art mit Lets' Encrypt SSL-Zertifikaten freizugeben!** 1 +(% class="box warningmessage" %) 2 +((( 3 +(% style="font-size:16px" %)__**Wichtig**__(%%) 4 +Diese Art der Verzeichnisdienst-Freigabe wird von SBE nicht empfohlen, da hier die Freischaltung ohne zertifikatsgesicherte Transportverschlüsselung erfolgt. 5 +Wir empfehlen Ihnen stattdessen, dieser [[Anleitung >>doc:Main.LD Server.Puppet-Version.1\.3\.22\.14.Geändert\: LDAP Admin-Benutzer und ReadOnly-Benutzer im logosrv.WebHome||target="_blank"]]zu folgen, um den LDAP-Dienst auf sichere Art mit Lets' Encrypt SSL-Zertifikaten freizugeben! 6 +))) 4 4 5 5 6 6 ---- 7 7 8 8 9 -(% style="color:#000000" %)Wenn Sie den Verzeichnisdienst des Samba4-Containers direkt ( und nicht über einen Tunnel via12 +(% style="color:#000000" %)Wenn Sie den Verzeichnisdienst des Samba4-Containers direkt (d.h. nicht über einen Tunnel via (% style="color:#2980b9" %)**rev-proxy**(% style="color:#000000" %) / (% style="color:#27ae60" %)**nginx**(% style="color:#000000" %)) im Internet freigeben wollen, folgen Sie bitte dieser Anleitung. 10 10 11 11 {{toc start="4" numbered="true"/}} 12 12 ... ... @@ -15,11 +15,12 @@ 15 15 16 16 17 17 (% style="color:#000000" %)Öffnen Sie die die Datei {{box}}/etc/nano/shorewall/rules{{/box}} mit einem Editor Ihrer Wahl und fügen Sie am Anfang folgende Zeile hinzu. 18 -Da der Port 636 internschonvergeben ist wird mit diesem21 +Da der LDAPS Port 636 schon durch den OpenLDAP-Dienst belegt ist, wird mit nachfolgendem Shorewall-Eintrag der Port serverintern zunächst auf einen anderen Port umgemappt. 19 19 20 20 (% class="box" %) 21 21 ((( 22 -(% style="color:#000000" %)##DNAT ext dmz:172.28.29.2:1636 tcp 636## 25 +(% style="color:#16a085" %)### TCP-Port 636 vom Internet-Router entgegennehmen und auf benutzerdefiniertem Port 1636 zum LXC-Container logosrv weiterleiten##(%%)## 26 +(% style="color:#000000" %)DNAT ext dmz:172.28.29.2:1636 tcp 636(%%)## 23 23 ))) 24 24 25 25 (% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu: ... ... @@ -34,7 +34,6 @@ 34 34 35 35 36 36 (% style="color:#000000" %)Erstellen Sie die Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} mit einem Editor Ihrer Wahl. 37 -Sollte die Datei schon mit anderweitigen Regeln existieren, bearbeiten Sie stattdessen den Inhalt in geeigneter Form. 38 38 39 39 (% class="box" %) 40 40 ((( ... ... @@ -42,9 +42,14 @@ 42 42 ))) 43 43 44 44 45 -(% style="color:#000000" %)Kopieren Sie nun folgenden Text in die Datei. Wichtig sollte sich schon Inhalt in der Datei befinden fügen sie folgenden Text hinzu. 46 -Wie Sie dem Abschnitt unter// ipaddr// sehen können wird, hier der Port auf 636 zurückgemappt: 48 +(% style="color:#000000" %)Kopieren Sie nun folgenden Text in die Datei. 47 47 50 +(% class="box infomessage" %) 51 +((( 52 +(% style="font-size: 12px; color: rgb(0, 0, 0)" %)**Hinweis:** Sollte die Datei schon mit anderweitigen Regeln existieren, bearbeiten Sie stattdessen den Inhalt in geeigneter Form und fügen Sie die relevanten Regeln darin ein. Es handelt sich um die rot & orange markierten Zeilen. 53 +))) 54 + 55 + 48 48 (% class="box" %) 49 49 ((( 50 50 (% style="color:#000000" %)###!/bin/bash ... ... @@ -66,23 +66,23 @@ 66 66 fi 67 67 } 68 68 \\case "$1" in 69 - start|restart) 70 - # Zugelassene externe IP-Adressen 71 - # (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen) 77 + start|restart)##(%%)## 78 +(% style="color:#16a085" %) # Zugelassene externe IP-Adressen (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen) 72 72 # ~-~-~-~-~-~-- 73 - # - BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.2 74 - # - Webuntis Server in Österreich IP: 213.208.138.146 75 - ##(% style="color:#e74c3c" %)## SOURCEIP="213.23.76.144 213.23.76.123 195.34.83.83 87.130.28.26" 80 + # Beispiele: 81 + # * BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.2 82 + # * Webuntis Server in Österreich IP: 213.208.138.146(%%) 83 +(% style="color:#e74c3c" %) SOURCEIP="129.143.69.1 129.143.232.18 129.143.255.2 213.208.138.146" 76 76 IP_LOGOSRV_DMZ=172.28.29.2 77 - IP_SAMBA4_SERVERNET=172.28.28.30 ##(%%)78 -\\(% style="color:# 000000" %)## for ipaddr in $SOURCEIP85 + IP_SAMBA4_SERVERNET=172.28.28.30(%%)## 86 +\\(% style="color:#e67e22" %)## for ipaddr in $SOURCEIP 79 79 do 80 80 echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... " 81 81 $ipt -t nat -I PREROUTING -i dmz -p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -j DNAT ~-~-to-destination ${IP_SAMBA4_SERVERNET}:636 82 - $ipt -t mangle -I m ark_from_internet_check_ports-p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed90 + $ipt -t mangle -I mf_internet_cp -p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed 83 83 echo "OK" 84 - done 85 - ;; 92 + done##(%%)## 93 +(% style="color:#000000" %) ;; 86 86 stop) 87 87 ;; 88 88 *) ... ... @@ -89,21 +89,23 @@ 89 89 echo "Benutzung: $0 {start|restart}" 90 90 exit 1 91 91 ;; 92 -esac## 100 +esac(%%)## 93 93 ))) 94 94 103 +(% style="font-size: 12px; color: rgb(0, 0, 0)" %)**Info:** Durch die letzte iptables-Regel wird der temporär verwendete, benutzerdefinierte TCP-Port 1636 serverintern wieder auf Port 636 zurückgemappt, bevor die Verbindung zum LXC-Container samba4-ad weitergeleitet wird. An diesen Port ist der Samba4 Verzeichnisdienst gebunden. 95 95 96 -(% style="color:#000000" %)Hier müssen nun folgende Werte angepasst werden: 97 97 106 +(% style="color:#000000" %)In der Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} müssen nun folgende Werte an die eigene Umgebung angepasst werden: 107 + 98 98 (% class="box" %) 99 99 ((( 100 -(% style="color:# 000000" %)##SOURCEIP="87.130.28.26"e74c3c" %)### <- Öffentliche IP(s), von denen aus Verbindungen erlaubt werden. In der Regel handelt es sich um IPv4-Adressen von Webservern, z.B. ein extern gehostete Moodle-Instanz##(%%)101 -(% style="color:# 000000" %)##IP_LOGOSRV_DMZ=172.28.29.2e74c3c" %)### <- ifconfig im logosrv und IP-Adresse der Schnittstelle "dmz" anschauen##(%%)102 -(% style="color:# 000000" %)##IP_SAMBA4_SERVERNET=172.28.28.30e74c3c" %)## # <- ifconfig imSamba4-ad Container und IP-Adresse der Schnittstelle "servernet" anschauen##110 +(% style="color:#e74c3c" %)##SOURCEIP="87.130.28.26"##(% style="color:#16a085" %)## # <- Öffentliche IP(s), von denen aus Verbindungen erlaubt werden. In der Regel handelt es sich um IPv4-Adressen von Webservern, z.B. eine extern gehostete Moodle-Instanz##(%%) 111 +(% style="color:#e74c3c" %)##IP_LOGOSRV_DMZ=172.28.29.2##(% style="color:#16a085" %)## # <- ifconfig im logosrv aufrufen, dort die IP-Adresse der Schnittstelle "dmz" anschauen und hier in der Variable eintragen##(%%) 112 +(% style="color:#e74c3c" %)##IP_SAMBA4_SERVERNET=172.28.28.30##(% style="color:#16a085" %)## # <- ifconfig im samba4-ad Container aufrufen, dort die IP-Adresse der Schnittstelle "servernet" anschauen und hier in der Variable eintragen## 103 103 ))) 104 104 105 105 106 -(% style="color:#000000" %)Danach müssen Sie das Skript ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird: 116 +(% style="color:#000000" %)Danach müssen Sie das Skript noch ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird: 107 107 108 108 (% class="box" %) 109 109 ((( ... ... @@ -111,11 +111,11 @@ 111 111 ))) 112 112 113 113 114 -(% style="color:#000000" %)Führen Sie nun das Skript einmal aus und stellen Sie sicher, dass keine Fehlermeldungen an der Konsole ausgegeben werden (Syntaxkontrolle): 124 +(% style="color:#000000" %)Führen Sie nun das Skript einmal im Vordergrund aus und stellen Sie sicher, dass keine Fehlermeldungen an der Konsole ausgegeben werden (Syntaxkontrolle): 115 115 116 116 (% class="box" %) 117 117 ((( 118 -(% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom## 128 +(% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom restart## 119 119 ))) 120 120 121 121