Ä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 (3 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 1 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - samba4 direkt im Internet freigeben (ohne Stream imrev-proxy)1 +Samba4 Verzeichnisdienst direkt im Internet freigeben (ohne Stream via rev-proxy) - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.a ku@sbede1 +XWiki.jonasmayer@sbede - Inhalt
-
... ... @@ -1,21 +1,32 @@ 1 -(% style="color:#e74c3c; font-size:18px" %)**Wichtig, diese Art der samba Freigabe wird von SBE nicht empfohlen, da hier die Freigabe unverschlüsselt erfolgt. Wir empfehlen Ihnen dieser **(% style="font-size:18px" %)**[[(% style="font-size: 18px; color: rgb(41, 128, 185); font-size: 18px" %)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:18px" %)**[[ >>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 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 +))) 2 2 3 3 4 - (% style="color:#000000" %)Wenn Sie den OpenLDAP direkt und nicht über den rev-proxy im Internet freigeben wollen, folgen Sie bitte dieser Anleitung.9 +---- 5 5 6 6 7 - ===(% style="color:#000000" %)Schritteimldhost(%%) ===12 +(% 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. 8 8 14 +{{toc start="4" numbered="true"/}} 9 9 10 -(% style="color:#000000" %)Öffnen Sie die die Datei /etc/nano/shorewall/rules mit einem Editor Ihrer Wahl und fügen Sie am Anfang folgende Zeile hinzu. 11 -Da der Port 636 intern schon vergeben ist wird mit diesem Eintrag der Port intern auf einen anderen Port umgemappt. 12 12 17 +==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)ldhost(%%) ==== 18 + 19 + 20 +(% 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. 21 +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. 22 + 13 13 (% class="box" %) 14 14 ((( 25 +(% style="color:#16a085" %)### TCP-Port 636 vom Internet-Router entgegennehmen und auf benutzerdefiniertem Port 1636 zum LXC-Container logosrv weiterleiten##(%%) 15 15 (% style="color:#000000" %)##DNAT ext dmz:172.28.29.2:1636 tcp 636## 16 16 ))) 17 17 18 -(% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu 29 +(% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu: 19 19 20 20 (% class="box" %) 21 21 ((( ... ... @@ -23,11 +23,10 @@ 23 23 ))) 24 24 25 25 26 -=== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) === 37 +==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ==== 27 27 28 28 29 -(% style="color:#000000" %)Erstellem Sie die Datei /usr/sbin/ldfirewall.custom mit einem Editor Ihrer Wahl. 30 -Sollte die Datei schin exitieren öffnen Sie sie. 40 +(% style="color:#000000" %)Erstellen Sie die Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} mit einem Editor Ihrer Wahl. 31 31 32 32 (% class="box" %) 33 33 ((( ... ... @@ -35,9 +35,14 @@ 35 35 ))) 36 36 37 37 38 -(% 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. 39 -Wie Sie dem Asbchnitt unter// ipaddr// sehen können wird hier der Port zurückhemappt: 48 +(% style="color:#000000" %)Kopieren Sie nun folgenden Text in die Datei. 40 40 50 +(% class="box infomessage" %) 51 +((( 52 +(% style="color:#000000; font-size:12px" %)**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 + 41 41 (% class="box" %) 42 42 ((( 43 43 (% style="color:#000000" %)###!/bin/bash ... ... @@ -51,64 +51,66 @@ 51 51 } 52 52 run() 53 53 { 54 - if [ "$VERBOSE" = "yes" ]; then 55 - echo "$@" 56 - fi 57 - if [ "$DRYRUN" = "no" ]; then 58 - "$@" 59 - fi 69 + if [ "$VERBOSE" = "yes" ]; then 70 + echo "$@" 71 + fi 72 + if [ "$DRYRUN" = "no" ]; then 73 + "$@" 74 + fi 60 60 } 61 61 \\case "$1" in 62 - start|restart) 63 - # Zugelassene externe IP-Adressen 64 - # (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen)65 - # ~-~-~-~-~-~--66 - # -BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.267 - # -Webuntis Server in Österreich IP: 213.208.138.14668 - ##(% style="color:#e74c3c" %)##SOURCEIP="213.23.76.144213.23.76.123195.34.83.83 87.130.28.26"69 - IP_LOGOSRV_DMZ=172.28.29.2 70 - IP_SAMBA4_SERVERNET=172.28.28.30 ##(%%)71 -\\(% style="color:# 000000" %)## for ipaddr in $SOURCEIP72 - do 73 - echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... " 74 - $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 75 - $ipt -t mangle -I m ark_from_internet_check_ports-p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed76 - echo "OK" 77 - done 78 - ;; 77 + start|restart)##(%%) 78 +(% style="color:#16a085" %)## # Zugelassene externe IP-Adressen (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen) 79 + # ~-~-~-~-~-~-- 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" 84 + IP_LOGOSRV_DMZ=172.28.29.2 85 + IP_SAMBA4_SERVERNET=172.28.28.30(%%)## 86 +\\(% style="color:#e67e22" %)## for ipaddr in $SOURCEIP 87 + do 88 + echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... " 89 + $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 90 + $ipt -t mangle -I mf_internet_cp -p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed 91 + echo "OK" 92 + done##(%%) 93 +(% style="color:#000000" %)## ;; 79 79 stop) 80 80 ;; 81 81 *) 82 - echo "Benutzung: $0 {start|restart}" 83 - exit 1 97 + echo "Benutzung: $0 {start|restart}" 98 + exit 1 84 84 ;; 85 85 esac## 86 86 ))) 87 87 103 +(% style="color:#000000; font-size:12px" %)**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. 88 88 89 -(% style="color:#000000" %)Hier müssen nun folgende Werte angepasst werden: 90 90 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 + 91 91 (% class="box" %) 92 92 ((( 93 -(% style="color:# 000000" %)##SOURCEIP="e74c3c" %)##SBEIP, dawirdeinezusätzliche gewhitelistet,dieöffentlicheip dermoodle94 -(% style="color:# 000000" %)##IP_LOGOSRV_DMZ=172.28.29.2e74c3c" %)##<-(ifconfig inlogosrv undEintrag"DMZ" anschauen##(%%)95 -(% style="color:# 000000" %)##IP_SAMBA4_SERVERNET=172.28.28.30e74c3c" %)## <- ifconfig in Sambacontainer undEintrag"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## 96 96 ))) 97 97 98 98 99 -(% style="color:#000000" %)Danach müssen Sie d ie Datei als Skriptfür denCronjobausführbargemacht werdenunduche ausfürhbar machenSkriptmussfür denCronjobausführbargemachtwerden und einmalig ausgeführt werden116 +(% style="color:#000000" %)Danach müssen Sie das Skript noch ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird: 100 100 101 101 (% class="box" %) 102 102 ((( 103 -(% style="color:#000000" %)##chmod +x ldfirewall.custom## 120 +(% style="color:#000000" %)##chmod +x /usr/sbin/ldfirewall.custom## 104 104 ))) 105 105 106 106 107 -(% style="color:#000000" %)Führen Sie nun das Skript einmal aus 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): 108 108 109 109 (% class="box" %) 110 110 ((( 111 -(% style="color:#000000" %)##bash ldfirewall.custom## 128 +(% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom restart## 112 112 ))) 113 113 114 114 ... ... @@ -120,11 +120,11 @@ 120 120 ))) 121 121 122 122 123 -(% style="color:#000000" %)Hier fügen Sie nun den Port 636 im Abschnitt //FromInternetAllowTCP// hinzu 140 +(% style="color:#000000" %)Hier fügen Sie nun den Port 1636 im Abschnitt //FromInternetAllowTCP// hinzu 124 124 125 125 (% class="box" %) 126 126 ((( 127 -(% style="color:#000000" %)FromInternetAllowTCP 636 144 +(% style="color:#000000" %)##FromInternetAllowTCP 1636## 128 128 ))) 129 129 130 130 ... ... @@ -136,6 +136,14 @@ 136 136 ))) 137 137 138 138 139 -(% style="color:#000000" %)Damit die Freigabe des samba4 funktioniert ist es wichtig die Portfreigabe (Port 636)im Routernichtzu vergessen:156 +(% style="color:#000000" %)Damit die Freigabe des Samba4-LDAP im Internet funktioniert, ist es außerdem noch wichtig, die Portfreigabe (TCP-Port 636) am vorgeschalteten Router zum LogoDIDACT Server hinzuzufügen: 140 140 141 -(% style="color:#000000" %)[[image:Port_Router.png]] 158 +[[image:1653294111427-417.png||class="img-thumbnail"]] 159 + 160 + 161 +(% class="box successmessage" %) 162 +((( 163 +(% style="color:#000000" %)**__Hinweise:__**(%%) 164 +(% style="color:#000000" %)- Bei der IP-Adresse 192.168.1.254 in der Abbildung handelt es sich um die Schnittstelle p_extern des LogoDIDACT Servers(%%) 165 +- (% style="color:#000000" %)Neben dem Port 636 (LDAP-Freigabe wie im Artikel hier beschrieben) werden hier in der Abbildung außerdem noch die Ports 80+443 zur Freischaltung von LogoDIDACT Webdiensten durch den Router weitergeleitet 166 +)))
- 1653294111427-417.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.jonasmayer@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +27.9 KB - Inhalt