Version 15.1 von jonasmayer@sbede am 2022/05/23 09:57

Zeige letzte Bearbeiter
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 )))
7
8
9 ----
10
11
12 (% style="color:#000000" %)Wenn Sie den Verzeichnisdienst des Samba4-Containers direkt (und nicht über einen Tunnel via rev-proxy / nginx) 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 Port 636  intern schon vergeben ist wird mit diesem Eintrag der Port intern auf einen anderen Port umgemappt.
22
23 (% class="box" %)
24 (((
25 (% style="color:#000000" %)##DNAT ext dmz:172.28.29.2:1636 tcp 636##
26 )))
27
28 (% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu:
29
30 (% class="box" %)
31 (((
32 (% style="color:#000000" %)##shorewall restart##
33 )))
34
35
36 ==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ====
37
38
39 (% style="color:#000000" %)Erstellen Sie die Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} mit einem Editor Ihrer Wahl.
40 Sollte die Datei schon mit anderweitigen Regeln existieren, bearbeiten Sie stattdessen den Inhalt in geeigneter Form.
41
42 (% class="box" %)
43 (((
44 (% style="color:#000000" %)##nano /usr/sbin/ldfirewall.custom##
45 )))
46
47
48 (% 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.
49 Wie Sie dem Abschnitt unter// ipaddr// sehen können wird, hier der Port auf 636 zurückgemappt:
50
51 (% class="box" %)
52 (((
53 (% style="color:#000000" %)###!/bin/bash
54 \\DRYRUN=no
55 VERBOSE=no
56 ipt=do_iptables
57 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/bin:/usr/local/bin/support"
58 \\do_iptables()
59 {
60 run iptables "$@"
61 }
62 run()
63 {
64 if [ "$VERBOSE" = "yes" ]; then
65 echo "$@"
66 fi
67 if [ "$DRYRUN" = "no" ]; then
68 "$@"
69 fi
70 }
71 \\case "$1" in
72 start|restart)
73 # Zugelassene externe IP-Adressen
74 # (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen)
75 # ~-~-~-~-~-~--
76 # - BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.2
77 # - Webuntis Server in Österreich IP: 213.208.138.146
78 ##(% style="color:#e74c3c" %)## SOURCEIP="213.23.76.144 213.23.76.123 195.34.83.83 87.130.28.26"
79 IP_LOGOSRV_DMZ=172.28.29.2
80 IP_SAMBA4_SERVERNET=172.28.28.30##(%%)
81 \\(% style="color:#000000" %)## for ipaddr in $SOURCEIP
82 do
83 echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... "
84 $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
85 $ipt -t mangle -I mark_from_internet_check_ports -p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed
86 echo "OK"
87 done
88 ;;
89 stop)
90 ;;
91 *)
92 echo "Benutzung: $0 {start|restart}"
93 exit 1
94 ;;
95 esac##
96 )))
97
98
99 (% style="color:#000000" %)Hier müssen nun folgende Werte angepasst werden:
100
101 (% class="box" %)
102 (((
103 (% style="color:#000000" %)##SOURCEIP="87.130.28.26"               ##(% style="color:#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##(%%)
104 (% style="color:#000000" %)##IP_LOGOSRV_DMZ=172.28.29.2            ##(% style="color:#e74c3c" %)###  <- ifconfig im logosrv und IP-Adresse der Schnittstelle "dmz" anschauen##(%%)
105 (% style="color:#000000" %)##IP_SAMBA4_SERVERNET=172.28.28.30   ##(% style="color:#e74c3c" %)## #  <- ifconfig im Samba4-ad Container und IP-Adresse der Schnittstelle "servernet" anschauen##
106 )))
107
108
109 (% style="color:#000000" %)Danach müssen Sie das Skript ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird:
110
111 (% class="box" %)
112 (((
113 (% style="color:#000000" %)##chmod +x /usr/sbin/ldfirewall.custom##
114 )))
115
116
117 (% style="color:#000000" %)Führen Sie nun das Skript einmal aus und stellen Sie sicher, dass keine Fehlermeldungen an der Konsole ausgegeben werden (Syntaxkontrolle):
118
119 (% class="box" %)
120 (((
121 (% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom##
122 )))
123
124
125 (% style="color:#000000" %)Im nächsten Schritt öffnen Sie mit einem Editor Ihrer Wahl die //internet.conf//
126
127 (% class="box" %)
128 (((
129 (% style="color:#000000" %)##nano /etc/logodidact/internet.conf##
130 )))
131
132
133 (% style="color:#000000" %)Hier fügen Sie nun den Port 1636 im Abschnitt //FromInternetAllowTCP// hinzu
134
135 (% class="box" %)
136 (((
137 (% style="color:#000000" %)##FromInternetAllowTCP 1636##
138 )))
139
140
141 (% style="color:#000000" %)Im Anschluß daran starten Sie die Firewall neu
142
143 (% class="box" %)
144 (((
145 (% style="color:#000000" %)##ldfirewall restart##
146 )))
147
148
149 (% 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:
150
151 (% style="color:#000000" %)[[image:Port_Router.png]]
152
153
154 (% class="box successmessage" %)
155 (((
156 (% style="color:#000000" %)**__Hinweise:__**(%%)
157 (% 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(%%)
158 - (% 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
159 )))