Zuletzt geändert von Jonas Mayer am 2022/05/23 10:48

Von Version 16.1
bearbeitet von jonasmayer@sbede
am 2022/05/23 10:21
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 8.1
bearbeitet von aku@sbede
am 2022/05/17 14:26
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Samba4 Verzeichnisdienst direkt im Internet freigeben (ohne Stream via rev-proxy)
1 +samba4 direkt im Internet freigeben (ohne Stream im rev-proxy)
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.jonasmayer@sbede
1 +XWiki.aku@sbede
Inhalt
... ... @@ -1,32 +1,21 @@
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 -)))
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!**
7 7  
8 8  
9 -----
4 +(% style="color:#000000" %)Wenn Sie den OpenLDAP direkt und nicht über den rev-proxy im Internet freigeben wollen, folgen Sie bitte dieser Anleitung.
10 10  
11 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.
7 +=== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)ldhost(%%) ===
13 13  
14 -{{toc start="4" numbered="true"/}}
15 15  
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.
16 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 -
23 23  (% class="box" %)
24 24  (((
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(%%)##
15 +(% style="color:#000000" %)##DNAT ext dmz:172.28.29.2:1636 tcp 636##
27 27  )))
28 28  
29 -(% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu:
18 +(% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu
30 30  
31 31  (% class="box" %)
32 32  (((
... ... @@ -34,10 +34,11 @@
34 34  )))
35 35  
36 36  
37 -==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ====
26 +=== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ===
38 38  
39 39  
40 -(% style="color:#000000" %)Erstellen Sie die Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} mit einem Editor Ihrer Wahl.
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.
41 41  
42 42  (% class="box" %)
43 43  (((
... ... @@ -45,14 +45,9 @@
45 45  )))
46 46  
47 47  
48 -(% style="color:#000000" %)Kopieren Sie nun folgenden Text in die Datei.
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:
49 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 -
56 56  (% class="box" %)
57 57  (((
58 58  (% style="color:#000000" %)###!/bin/bash
... ... @@ -74,23 +74,23 @@
74 74   fi
75 75  }
76 76  \\case "$1" in
77 - start|restart)##(%%)##
78 -(% style="color:#16a085" %) # Zugelassene externe IP-Adressen (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen)
62 + start|restart)
63 + # Zugelassene externe IP-Adressen
64 + # (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen)
79 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"
66 + # - BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.2
67 + # - Webuntis Server in Österreich IP: 213.208.138.146
68 + ##(% style="color:#e74c3c" %)## SOURCEIP="213.23.76.144 213.23.76.123 195.34.83.83 87.130.28.26"
84 84   IP_LOGOSRV_DMZ=172.28.29.2
85 - IP_SAMBA4_SERVERNET=172.28.28.30(%%)##
86 -\\(% style="color:#e67e22" %)## for ipaddr in $SOURCEIP
70 + IP_SAMBA4_SERVERNET=172.28.28.30##(%%)
71 +\\(% style="color:#000000" %)## for ipaddr in $SOURCEIP
87 87   do
88 88   echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... "
89 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
75 + $ipt -t mangle -I mark_from_internet_check_ports -p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed
91 91   echo "OK"
92 - done##(%%)##
93 -(% style="color:#000000" %) ;;
77 + done
78 + ;;
94 94   stop)
95 95   ;;
96 96   *)
... ... @@ -97,35 +97,33 @@
97 97   echo "Benutzung: $0 {start|restart}"
98 98   exit 1
99 99   ;;
100 -esac(%%)##
85 +esac##
101 101  )))
102 102  
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.
104 104  
89 +(% style="color:#000000" %)Hier müssen nun folgende Werte angepasst werden:
105 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 -
108 108  (% class="box" %)
109 109  (((
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##
93 +(% style="color:#000000" %)##SOURCEIP=" 87.130.28.26"                      ##(% style="color:#e74c3c" %)## <- SBE IP, da wird eine zutzliche gewhitelistet, die öffentliche ip der moodle Instanz##(%%)
94 +(% style="color:#000000" %)##IP_LOGOSRV_DMZ=172.28.29.2                 ##(% style="color:#e74c3c" %)##<- (ifconfig in logosrv und Eintrag "DMZ" anschauen##(%%)
95 +(% style="color:#000000" %)##IP_SAMBA4_SERVERNET=172.28.28.30   ##(% style="color:#e74c3c" %)## <- ifconfig in Sambacontainer und Eintrag "servernet" anschauen##
113 113  )))
114 114  
115 115  
116 -(% style="color:#000000" %)Danach müssen Sie das Skript noch ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird:
99 +(% style="color:#000000" %)Danach müssen Sie die Datei als Skript für den Cronjob ausführbar gemacht werden und auch e ausfürhbar machen Skript muss für den Cronjob ausführbar gemacht werden und einmalig ausgeführt werden
117 117  
118 118  (% class="box" %)
119 119  (((
120 -(% style="color:#000000" %)##chmod +x /usr/sbin/ldfirewall.custom##
103 +(% style="color:#000000" %)##chmod +x ldfirewall.custom##
121 121  )))
122 122  
123 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):
107 +(% style="color:#000000" %)Führen Sie nun das Skript einmal aus
125 125  
126 126  (% class="box" %)
127 127  (((
128 -(% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom restart##
111 +(% style="color:#000000" %)##bash ldfirewall.custom##
129 129  )))
130 130  
131 131  
... ... @@ -137,11 +137,11 @@
137 137  )))
138 138  
139 139  
140 -(% style="color:#000000" %)Hier fügen Sie nun den Port 1636 im Abschnitt //FromInternetAllowTCP// hinzu
123 +(% style="color:#000000" %)Hier fügen Sie nun den Port 636 im Abschnitt //FromInternetAllowTCP// hinzu
141 141  
142 142  (% class="box" %)
143 143  (((
144 -(% style="color:#000000" %)##FromInternetAllowTCP 1636##
127 +(% style="color:#000000" %)FromInternetAllowTCP 636
145 145  )))
146 146  
147 147  
... ... @@ -153,14 +153,6 @@
153 153  )))
154 154  
155 155  
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:
139 +(% style="color:#000000" %)Damit die Freigabe des samba4 funktioniert ist es wichtig die Portfreigabe (Port 636) im Router nichtzu vergessen:
157 157  
158 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 -)))