Changes for page RangeeOS - Firewall mit ipables Skript
Last modified by Tobias Wintrich on 2022/10/28 12:30
From version 13.1
edited by Tobias Wintrich
on 2022/10/28 10:16
on 2022/10/28 10:16
Change comment:
There is no comment for this version
To version 6.1
edited by Tobias Wintrich
on 2022/10/28 09:54
on 2022/10/28 09:54
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +1,5 @@ 1 1 Das RangeeOS stellt keine grafische Benutzeroberfläche zur Erstellung und Verwaltung von Firewall Regeln bereit. Auf Wunsch können aber beliebige Regeln über das Linux Kommandozeilen Tool //**iptables **//erstellt und über das Skripte Modul auch auf verschiedene Geräte übertragen werden. 2 2 3 -{{toc/}} 4 - 5 5 = Voraussetzung = 6 6 7 7 Auf dem RangeeOS Client muss das Softwaremodul **scripts **in zur Firmware passender Version installiert sein. ... ... @@ -14,45 +14,37 @@ 14 14 15 15 Hier finden Sie verschiedene Regeln um nur definierten, eingehenden Datenverkehr zum RangeeOS auf Netzwerkebene zu erlauben . Das Blockieren ausgehender Verbindungen auf Clientseite wird nicht empfohlen. 16 16 17 - {{info}}Weitere Informationen zur Verwendung von iptables finden Sie hier:* [[https:~~/~~/linux.die.net/man/8/iptables>>url:https://linux.die.net/man/8/iptables]] 18 -* [[https:~~/~~/wiki.ubuntuusers.de/iptables/>>url:https://wiki.ubuntuusers.de/iptables/]]{{/info}} 19 - 20 -((( 21 21 == Standard verwerfen == 22 22 23 -**Entfernt alle bestehenden Regeln:** 24 - 25 -{{{iptables --flush}}} 26 - 27 27 **Block sämtliche eingehenden Pakete die nicht explizit erlaubt sind:** 28 28 29 -{{{iptables - -policyINPUT DROP}}}19 +{{{iptables -P INPUT DROP}}} 30 30 31 31 **Erlaubt das Aufrechterhalten von Aufgebauten Verbindungen (RDP, ICA, VMwareView...):** 32 32 33 -{{{iptables - -appendINPUT --matchstate --state RELATED,ESTABLISHED --jumpACCEPT}}}23 +{{{iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT}}} 34 34 35 35 == Port / Protokoll / Netzwerk erlauben == 36 36 37 -**Erlaubt Kontakt zur Kommbox per Browser / TCMS auf Port 443 TCP von dem 24er Subnetz192.168.255.0/24:**27 +**Erlaubt Kontakt zur Kommbox per Browser / TCMS auf Port 443 TCP von einem 24er Subnetz:** 38 38 39 -{{{iptables - -appendINPUT --protocoltcp --destination-port 443 --source192.168.255.0/24 --jumpACCEPT}}}29 +{{{iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT}}} 40 40 41 -**Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP 192.168.255.56/32:**31 +**Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP** 42 42 43 -{{{iptables - -appendINPUT --protocoltcp --destination-port 22 --source192.168.255.56/32 --jumpACCEPT}}}33 +{{{iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT}}} 44 44 45 -**Erlaubt VNC zum Client auf Port 5900 TCP vo m16er Subnetz192.168.0.0/16:**35 +**Erlaubt VNC zum Client auf Port 5900 TCP von 16er Subnetz** 46 46 47 -{{{iptables - -appendINPUT --protocoltcp --destination-port 5900 --source192.168.0.0/16--jumpACCEPT}}}37 +{{{iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 ACCEPT}}} 48 48 49 -**Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP vo m16er Subnetz192.168.0.0/16:**39 +**Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP von 16er Subnetz:** 50 50 51 -{{{iptables - -appendINPUT --protocoltcp --destination-port 80 --source192.168.0.0/16 --jumpACCEPT}}}41 +{{{iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT}}} 52 52 53 53 **Erlaubt ICMP (Ping) von überall** 54 54 55 -{{{iptables - -appendINPUT --protocolicmp --jumpACCEPT}}}45 +{{{iptables -A INPUT -p icmp -s 0/0 -j ACCEPT}}} 56 56 57 57 = Skript anlegen = 58 58 ... ... @@ -69,20 +69,19 @@ 69 69 Vergeben Sie die von Ihnen benötigen Regeln (eine je Zeile) in das Feld **Skript **ein. Ein Skript mit allen Regeln aus den Beispielen diese Seite sieht so aus: 70 70 71 71 {{{#Zeilen welche mit '#' beginnen werden nicht ausgewertet und können als Kommentare verwendet werden 72 -iptables --flush 73 -iptables --policy INPUT DROP 74 -iptables --append INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT 75 -iptables --append INPUT --protocol tcp --destination-port 443 --source 192.168.255.0/24 --jump ACCEPT 62 +iptables -P INPUT DROP 63 +iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 64 +iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT 76 76 77 77 # Erlaube SSH Admin PC 78 -iptables - -appendINPUT --protocoltcp --destination-port 22 --source192.168.255.56/32 --jumpACCEPT67 +iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT 79 79 80 80 # Erlaube VNC 81 -iptables - -appendINPUT --protocoltcp --destination-port 5900 --source192.168.0.0/16--jumpACCEPT82 -iptables - -appendINPUT --protocoltcp --destination-port 80 --source192.168.0.0/16 --jumpACCEPT70 +iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 ACCEPT 71 +iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT 83 83 84 84 # Erlaube PING 85 -iptables - -appendINPUT --protocolicmp --jumpACCEPT}}}74 +iptables -A INPUT -p icmp -s 0/0 -j ACCEPT}}} 86 86 87 87 Zusätzlich zum Skript sollten (* = müssen) folgende Optionen in der Verbindung definiert werden: 88 88 ... ... @@ -89,4 +89,9 @@ 89 89 |(% style="width:160px" %)Verbindungsname *|(% style="width:1346px" %)Frei wählbarer Anzeigename der Verbindung 90 90 |(% style="width:160px" %)Als root ausführen *|(% style="width:1346px" %)an - Führt das Skript mit den benötigten rechten aus 91 91 |(% style="width:160px" %)Automatischer Start|(% style="width:1346px" %)an - Sorgt dafür, dass die Firewall beim Start des geräts aktiviert wird 92 -|(% style="width:160px" %)Desktop-Verknüpfung erstellen 81 +|(% style="width:160px" %)Desktop-Verknüpfung erstellen|(% style="width:1346px" %)aus 82 +|(% style="width:160px" %)Verknüpfung im Startmenü erstellen|(% style="width:1346px" %)aus 83 + 84 +[[image:RangeeOS-Firewall.png||height="446" width="600"]] 85 + 86 +Das fertige Skript wird nun bei jedem Systemstart ausgeführt und wendet die definierten Regeln an. Das Skript kann beliebig per TCMS Konfiguration auf andere Geräte verteilt werden.