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

Verstecke letzte Bearbeiter
jonasmayer@sbede 15.1 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 )))
aku@sbede 6.1 7
8
jonasmayer@sbede 10.1 9 ----
michaelecer@sbede 2.1 10
aku@sbede 4.1 11
jonasmayer@sbede 10.1 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.
aku@sbede 4.1 13
jonasmayer@sbede 10.1 14 {{toc start="4" numbered="true"/}}
aku@sbede 4.1 15
jonasmayer@sbede 10.1 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.
aku@sbede 8.1 21 Da der Port 636  intern schon vergeben ist wird mit diesem Eintrag der Port intern auf einen anderen Port umgemappt.
aku@sbede 4.1 22
michaelecer@sbede 2.1 23 (% class="box" %)
24 (((
aku@sbede 4.1 25 (% style="color:#000000" %)##DNAT ext dmz:172.28.29.2:1636 tcp 636##
michaelecer@sbede 2.1 26 )))
27
jonasmayer@sbede 10.1 28 (% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu:
aku@sbede 4.1 29
michaelecer@sbede 2.1 30 (% class="box" %)
31 (((
32 (% style="color:#000000" %)##shorewall restart##
33 )))
34
35
jonasmayer@sbede 10.1 36 ==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ====
michaelecer@sbede 2.1 37
aku@sbede 4.1 38
jonasmayer@sbede 10.1 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.
aku@sbede 4.1 41
michaelecer@sbede 2.1 42 (% class="box" %)
43 (((
44 (% style="color:#000000" %)##nano /usr/sbin/ldfirewall.custom##
45 )))
46
47
aku@sbede 8.1 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.
jonasmayer@sbede 10.1 49 Wie Sie dem Abschnitt unter// ipaddr// sehen können wird, hier der Port auf 636 zurückgemappt:
aku@sbede 4.1 50
michaelecer@sbede 2.1 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
aku@sbede 4.1 78 ##(% style="color:#e74c3c" %)## SOURCEIP="213.23.76.144 213.23.76.123 195.34.83.83 87.130.28.26"
michaelecer@sbede 2.1 79 IP_LOGOSRV_DMZ=172.28.29.2
aku@sbede 5.1 80 IP_SAMBA4_SERVERNET=172.28.28.30##(%%)
81 \\(% style="color:#000000" %)## for ipaddr in $SOURCEIP
michaelecer@sbede 2.1 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 ;;
aku@sbede 5.1 95 esac##
michaelecer@sbede 2.1 96 )))
97
98
aku@sbede 4.1 99 (% style="color:#000000" %)Hier müssen nun folgende Werte angepasst werden:
100
michaelecer@sbede 2.1 101 (% class="box" %)
102 (((
jonasmayer@sbede 11.1 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##(%%)
jonasmayer@sbede 10.1 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##
michaelecer@sbede 2.1 106 )))
107
108
jonasmayer@sbede 10.1 109 (% style="color:#000000" %)Danach müssen Sie das Skript ausführbar machen, damit sie im Zuge eines Firewall-Restarts automatisch verarbeitet wird:
aku@sbede 4.1 110
michaelecer@sbede 2.1 111 (% class="box" %)
112 (((
jonasmayer@sbede 10.1 113 (% style="color:#000000" %)##chmod +x /usr/sbin/ldfirewall.custom##
michaelecer@sbede 2.1 114 )))
115
aku@sbede 4.1 116
jonasmayer@sbede 10.1 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):
aku@sbede 4.1 118
michaelecer@sbede 2.1 119 (% class="box" %)
120 (((
jonasmayer@sbede 10.1 121 (% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom##
aku@sbede 4.1 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 (((
michaelecer@sbede 2.1 129 (% style="color:#000000" %)##nano /etc/logodidact/internet.conf##
130 )))
131
132
jonasmayer@sbede 10.1 133 (% style="color:#000000" %)Hier fügen Sie nun den Port 1636 im Abschnitt //FromInternetAllowTCP// hinzu
aku@sbede 4.1 134
michaelecer@sbede 2.1 135 (% class="box" %)
136 (((
jonasmayer@sbede 14.1 137 (% style="color:#000000" %)##FromInternetAllowTCP 1636##
aku@sbede 4.1 138 )))
139
140
141 (% style="color:#000000" %)Im Anschluß daran starten Sie die Firewall neu
142
143 (% class="box" %)
144 (((
michaelecer@sbede 2.1 145 (% style="color:#000000" %)##ldfirewall restart##
146 )))
147
148
jonasmayer@sbede 10.1 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:
aku@sbede 4.1 150
aku@sbede 8.1 151 (% style="color:#000000" %)[[image:Port_Router.png]]
jonasmayer@sbede 10.1 152
153
154 (% class="box successmessage" %)
155 (((
jonasmayer@sbede 11.1 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
jonasmayer@sbede 10.1 159 )))