Version 12.1 von jonasmayer@sbede am 2022/05/19 19:20

Verstecke letzte Bearbeiter
jonasmayer@sbede 10.1 1 (% style="color:#e74c3c; font-size:18px" %)**__Wichtig__**(%%)
2 (% style="color:#e74c3c; font-size:16px" %)**Diese Art der Verzeichnisdienst-Freigabe wird von SBE nicht empfohlen, da hier die Freischaltung ohne zertifikatsgesicherte Transportverschlüsselung erfolgt.
3 Wir empfehlen Ihnen stattdessen, dieser **(% style="font-size:16px" %)**[[(% style="font-size: 16px; color: rgb(41, 128, 185); font-size: 16px" %)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:16px" %)**[[ >>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!**
aku@sbede 6.1 4
5
jonasmayer@sbede 10.1 6 ----
michaelecer@sbede 2.1 7
aku@sbede 4.1 8
jonasmayer@sbede 10.1 9 (% 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 10
jonasmayer@sbede 10.1 11 {{toc start="4" numbered="true"/}}
aku@sbede 4.1 12
jonasmayer@sbede 10.1 13
14 ==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)ldhost(%%) ====
15
16
17 (% 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 18 Da der Port 636  intern schon vergeben ist wird mit diesem Eintrag der Port intern auf einen anderen Port umgemappt.
aku@sbede 4.1 19
michaelecer@sbede 2.1 20 (% class="box" %)
21 (((
aku@sbede 4.1 22 (% style="color:#000000" %)##DNAT ext dmz:172.28.29.2:1636 tcp 636##
michaelecer@sbede 2.1 23 )))
24
jonasmayer@sbede 10.1 25 (% style="color:#000000" %)Im Anschluß daran starten Sie mit folgendem Befehl die Shorewall neu:
aku@sbede 4.1 26
michaelecer@sbede 2.1 27 (% class="box" %)
28 (((
29 (% style="color:#000000" %)##shorewall restart##
30 )))
31
32
jonasmayer@sbede 10.1 33 ==== (% style="color:#000000" %)Schritte im Container (% style="color:#2980b9" %)logosrv(%%) ====
michaelecer@sbede 2.1 34
aku@sbede 4.1 35
jonasmayer@sbede 10.1 36 (% style="color:#000000" %)Erstellen Sie die Datei {{box}}/usr/sbin/ldfirewall.custom{{/box}} mit einem Editor Ihrer Wahl.
37 Sollte die Datei schon mit anderweitigen Regeln existieren, bearbeiten Sie stattdessen den Inhalt in geeigneter Form.
aku@sbede 4.1 38
michaelecer@sbede 2.1 39 (% class="box" %)
40 (((
41 (% style="color:#000000" %)##nano /usr/sbin/ldfirewall.custom##
42 )))
43
44
aku@sbede 8.1 45 (% 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 46 Wie Sie dem Abschnitt unter// ipaddr// sehen können wird, hier der Port auf 636 zurückgemappt:
aku@sbede 4.1 47
michaelecer@sbede 2.1 48 (% class="box" %)
49 (((
50 (% style="color:#000000" %)###!/bin/bash
51 \\DRYRUN=no
52 VERBOSE=no
53 ipt=do_iptables
54 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/bin:/usr/local/bin/support"
55 \\do_iptables()
56 {
57 run iptables "$@"
58 }
59 run()
60 {
61 if [ "$VERBOSE" = "yes" ]; then
62 echo "$@"
63 fi
64 if [ "$DRYRUN" = "no" ]; then
65 "$@"
66 fi
67 }
68 \\case "$1" in
69 start|restart)
70 # Zugelassene externe IP-Adressen
71 # (falls mehrere IP-Adressen nötig, diese per Leerzeichen trennen)
72 # ~-~-~-~-~-~--
73 # - BelWue-Moodle-Server IPs: 129.143.69.1 129.143.232.18 129.143.255.2
74 # - Webuntis Server in Österreich IP: 213.208.138.146
aku@sbede 4.1 75 ##(% style="color:#e74c3c" %)## SOURCEIP="213.23.76.144 213.23.76.123 195.34.83.83 87.130.28.26"
michaelecer@sbede 2.1 76 IP_LOGOSRV_DMZ=172.28.29.2
aku@sbede 5.1 77 IP_SAMBA4_SERVERNET=172.28.28.30##(%%)
78 \\(% style="color:#000000" %)## for ipaddr in $SOURCEIP
michaelecer@sbede 2.1 79 do
80 echo -n "Adding custom rules to allow ldaps connections (tcp/1636) from host '${ipaddr}' and redirect to 'samba4-ad:636'... "
81 $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
82 $ipt -t mangle -I mark_from_internet_check_ports -p tcp -s ${ipaddr} -d ${IP_LOGOSRV_DMZ} ~-~-dport 1636 -g mark_from_internet_allowed
83 echo "OK"
84 done
85 ;;
86 stop)
87 ;;
88 *)
89 echo "Benutzung: $0 {start|restart}"
90 exit 1
91 ;;
aku@sbede 5.1 92 esac##
michaelecer@sbede 2.1 93 )))
94
95
aku@sbede 4.1 96 (% style="color:#000000" %)Hier müssen nun folgende Werte angepasst werden:
97
michaelecer@sbede 2.1 98 (% class="box" %)
99 (((
jonasmayer@sbede 11.1 100 (% 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 101 (% style="color:#000000" %)##IP_LOGOSRV_DMZ=172.28.29.2            ##(% style="color:#e74c3c" %)###  <- ifconfig im logosrv und IP-Adresse der Schnittstelle "dmz" anschauen##(%%)
102 (% 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 103 )))
104
105
jonasmayer@sbede 10.1 106 (% 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 107
michaelecer@sbede 2.1 108 (% class="box" %)
109 (((
jonasmayer@sbede 10.1 110 (% style="color:#000000" %)##chmod +x /usr/sbin/ldfirewall.custom##
michaelecer@sbede 2.1 111 )))
112
aku@sbede 4.1 113
jonasmayer@sbede 10.1 114 (% 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 115
michaelecer@sbede 2.1 116 (% class="box" %)
117 (((
jonasmayer@sbede 10.1 118 (% style="color:#000000" %)##bash /usr/sbin/ldfirewall.custom##
aku@sbede 4.1 119 )))
120
121
122 (% style="color:#000000" %)Im nächsten Schritt öffnen Sie mit einem Editor Ihrer Wahl die //internet.conf//
123
124 (% class="box" %)
125 (((
michaelecer@sbede 2.1 126 (% style="color:#000000" %)##nano /etc/logodidact/internet.conf##
127 )))
128
129
jonasmayer@sbede 10.1 130 (% style="color:#000000" %)Hier fügen Sie nun den Port 1636 im Abschnitt //FromInternetAllowTCP// hinzu
aku@sbede 4.1 131
michaelecer@sbede 2.1 132 (% class="box" %)
133 (((
jonasmayer@sbede 10.1 134 (% style="color:#000000" %)FromInternetAllowTCP 1636
aku@sbede 4.1 135 )))
136
137
138 (% style="color:#000000" %)Im Anschluß daran starten Sie die Firewall neu
139
140 (% class="box" %)
141 (((
michaelecer@sbede 2.1 142 (% style="color:#000000" %)##ldfirewall restart##
143 )))
144
145
jonasmayer@sbede 10.1 146 (% 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 147
aku@sbede 8.1 148 (% style="color:#000000" %)[[image:Port_Router.png]]
jonasmayer@sbede 10.1 149
150
151 (% class="box successmessage" %)
152 (((
jonasmayer@sbede 11.1 153 (% style="color:#000000" %)**__Hinweise:__**(%%)
154 (% 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(%%)
155 - (% 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 156 )))