Ä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 (4 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 2 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - LDAPextern freigeben1 +Samba4 Verzeichnisdienst direkt im Internet freigeben (ohne Stream via rev-proxy) - Übergeordnete Seite
-
... ... @@ -1,1 +1,1 @@ 1 -Main.LD Server 2.Allgemein.WebHome1 +Main.LD Server.Allgemein.WebHome - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.m ichaelecer@sbede1 +XWiki.jonasmayer@sbede - Inhalt
-
... ... @@ -1,11 +1,33 @@ 1 -(% style="color:#2980b9" %)ldhost 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 8 + 9 +---- 10 + 11 + 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. 13 + 14 +{{toc start="4" numbered="true"/}} 15 + 16 + 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 + 3 3 (% class="box" %) 4 4 ((( 5 -(% style="color:#0 00000" %)##nano/etc/shorewall/rules6 -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(%%)## 7 7 ))) 8 8 29 +(% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu: 30 + 9 9 (% class="box" %) 10 10 ((( 11 11 (% style="color:#000000" %)##shorewall restart## ... ... @@ -12,15 +12,25 @@ 12 12 ))) 13 13 14 14 15 -(% style="color:#2980b9" %)logosrv 37 +==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ==== 16 16 39 + 40 +(% style="color:#000000" %)Erstellen Sie die Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} mit einem Editor Ihrer Wahl. 41 + 17 17 (% class="box" %) 18 18 ((( 19 19 (% style="color:#000000" %)##nano /usr/sbin/ldfirewall.custom## 20 20 ))) 21 21 22 -(% style="color:#000000" %)folgenden Text pasten und bearbeiten: 23 23 48 +(% style="color:#000000" %)Kopieren Sie nun folgenden Text in die Datei. 49 + 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 + 24 24 (% class="box" %) 25 25 ((( 26 26 (% style="color:#000000" %)###!/bin/bash ... ... @@ -42,23 +42,23 @@ 42 42 fi 43 43 } 44 44 \\case "$1" in 45 - start|restart) 46 - # Zugelassene externe IP-Adressen 47 - # (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) 48 48 # ~-~-~-~-~-~-- 49 - # - BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.2 50 - # - Webuntis Server in Österreich IP: 213.208.138.146 51 - 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" 52 52 IP_LOGOSRV_DMZ=172.28.29.2 53 - IP_SAMBA4_SERVERNET=172.28.28.30 54 -\\ for ipaddr in $SOURCEIP 85 + IP_SAMBA4_SERVERNET=172.28.28.30(%%)## 86 +\\(% style="color:#e67e22" %)## for ipaddr in $SOURCEIP 55 55 do 56 56 echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... " 57 57 $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 58 - $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 59 59 echo "OK" 60 - done 61 - ;; 92 + done##(%%)## 93 +(% style="color:#000000" %) ;; 62 62 stop) 63 63 ;; 64 64 *) ... ... @@ -65,39 +65,70 @@ 65 65 echo "Benutzung: $0 {start|restart}" 66 66 exit 1 67 67 ;; 68 -esac## 100 +esac(%%)## 69 69 ))) 70 70 71 -(% style="color: #000000" %)folgendesmusshier angepasst werden: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. 72 72 105 + 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 + 73 73 (% class="box" %) 74 74 ((( 75 -(% style="color:# 000000" %)##SOURCEIP="SBEIP, dawirdeinezusätzliche gewhitelistet,dieöffentlicheip dermoodle76 -IP_LOGOSRV_DMZ=172.28.29.2 (ifconfig inlogosrv undEintrag"DMZ" anschauen77 -IP_SAMBA4_SERVERNET=172.28.28.30 n 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## 78 78 ))) 79 79 80 -(% style="color:#000000" %)Das Skript muss für den Cronjob ausführbar gemacht werden und einmalig ausgeführt werden 81 81 116 +(% style="color:#000000" %)Danach müssen Sie das Skript noch ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird: 117 + 82 82 (% class="box" %) 83 83 ((( 84 -(% style="color:#000000" %)##chmod +x ldfirewall.custom 85 -bash ldfirewall.custom## 120 +(% style="color:#000000" %)##chmod +x /usr/sbin/ldfirewall.custom## 86 86 ))) 87 87 123 + 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): 125 + 88 88 (% class="box" %) 89 89 ((( 128 +(% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom restart## 129 +))) 130 + 131 + 132 +(% style="color:#000000" %)Im nächsten Schritt öffnen Sie mit einem Editor Ihrer Wahl die //internet.conf// 133 + 134 +(% class="box" %) 135 +((( 90 90 (% style="color:#000000" %)##nano /etc/logodidact/internet.conf## 91 91 ))) 92 92 93 -(% style="color:#000000" %)FromInternetAllowTCP 636 als Port freigeben in der Internet.conf 94 94 140 +(% style="color:#000000" %)Hier fügen Sie nun den Port 1636 im Abschnitt //FromInternetAllowTCP// hinzu 141 + 95 95 (% class="box" %) 96 96 ((( 144 +(% style="color:#000000" %)##FromInternetAllowTCP 1636## 145 +))) 146 + 147 + 148 +(% style="color:#000000" %)Im Anschluß daran starten Sie die Firewall neu 149 + 150 +(% class="box" %) 151 +((( 97 97 (% style="color:#000000" %)##ldfirewall restart## 98 98 ))) 99 99 100 -(% style="color:#000000" %)Portfreischalten auf dem Router nicht vergessen! 101 101 102 -(% style="color:#000000" %) [[image:1597240262579-305.png]]156 +(% style="color:#000000" %)Damit die Freigabe des Samba4-LDAP funktioniert, ist es außerdem noch wichtig, die Portfreigabe (TCP-Port 636) am vorgeschalteten Router nicht zu vergessen: 103 103 158 +(% style="color:#000000" %)[[image:Port_Router.png]] 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 als Thema dieses Artikels) werden hier außerdem noch die Ports 80+443 zur Freischaltung von 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
- Port_Router.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.aku@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +21.5 KB - Inhalt