Changes for page RangeeOS - Firewall mit ipables Skript
Last modified by Tobias Wintrich on 2022/10/28 12:30
From version 15.1
edited by Tobias Wintrich
on 2022/10/28 10:19
on 2022/10/28 10:19
Change comment:
There is no comment for this version
To version 9.1
edited by Tobias Wintrich
on 2022/10/28 10:09
on 2022/10/28 10:09
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,6 +14,18 @@ 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 15 +In folgenden Beispielen werden diese Parameter von iptables verwendet: 16 + 17 +{{{-A => --append 18 +-p => --protocol 19 +-s => --source 20 +-m => --match 21 +-j => --jump 22 +-F => --flush 23 +-P => --policy 24 + 25 +--dport => --destination-ports}}} 26 + 17 17 {{info}} 18 18 Weitere Informationen zur Verwendung von iptables finden Sie hier: 19 19 ... ... @@ -25,37 +25,37 @@ 25 25 26 26 **Entfernt alle bestehenden Regeln:** 27 27 28 -{{{iptables - -flush}}}38 +{{{iptables -F}}} 29 29 30 30 **Block sämtliche eingehenden Pakete die nicht explizit erlaubt sind:** 31 31 32 -{{{iptables - -policyINPUT DROP}}}42 +{{{iptables -P INPUT DROP}}} 33 33 34 34 **Erlaubt das Aufrechterhalten von Aufgebauten Verbindungen (RDP, ICA, VMwareView...):** 35 35 36 -{{{iptables - -appendINPUT --matchstate --state RELATED,ESTABLISHED --jumpACCEPT}}}46 +{{{iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT}}} 37 37 38 38 == Port / Protokoll / Netzwerk erlauben == 39 39 40 40 **Erlaubt Kontakt zur Kommbox per Browser / TCMS auf Port 443 TCP von dem 24er Subnetz 192.168.255.0/24:** 41 41 42 -{{{iptables - -appendINPUT --protocoltcp --destination-port 443 --source192.168.255.0/24 --jumpACCEPT}}}52 +{{{iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT}}} 43 43 44 44 **Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP 192.168.255.56/32:** 45 45 46 -{{{iptables - -appendINPUT --protocoltcp --destination-port 22 --source192.168.255.56/32 --jumpACCEPT}}}56 +{{{iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT}}} 47 47 48 48 **Erlaubt VNC zum Client auf Port 5900 TCP vom 16er Subnetz 192.168.0.0/16:** 49 49 50 -{{{iptables - -appendINPUT --protocoltcp --destination-port 5900 --source192.168.0.0/16 --jumpACCEPT}}}60 +{{{iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT}}} 51 51 52 52 **Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP vom 16er Subnetz 192.168.0.0/16:** 53 53 54 -{{{iptables - -appendINPUT --protocoltcp --destination-port 80 --source192.168.0.0/16 --jumpACCEPT}}}64 +{{{iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT}}} 55 55 56 56 **Erlaubt ICMP (Ping) von überall** 57 57 58 -{{{iptables - -appendINPUT --protocolicmp --jumpACCEPT}}}68 +{{{iptables -A INPUT -p icmp -j ACCEPT}}} 59 59 60 60 = Skript anlegen = 61 61 ... ... @@ -72,20 +72,19 @@ 72 72 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: 73 73 74 74 {{{#Zeilen welche mit '#' beginnen werden nicht ausgewertet und können als Kommentare verwendet werden 75 -iptables --flush 76 -iptables --policy INPUT DROP 77 -iptables --append INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT 78 -iptables --append INPUT --protocol tcp --destination-port 443 --source 192.168.255.0/24 --jump ACCEPT 85 +iptables -P INPUT DROP 86 +iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 87 +iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT 79 79 80 80 # Erlaube SSH Admin PC 81 -iptables - -appendINPUT --protocoltcp --destination-port 22 --source192.168.255.56/32 --jumpACCEPT90 +iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT 82 82 83 83 # Erlaube VNC 84 -iptables - -appendINPUT --protocoltcp --destination-port 5900 --source192.168.0.0/16 --jumpACCEPT85 -iptables - -appendINPUT --protocoltcp --destination-port 80 --source192.168.0.0/16 --jumpACCEPT93 +iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT 94 +iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT 86 86 87 87 # Erlaube PING 88 -iptables - -appendINPUT --protocolicmp --jumpACCEPT}}}97 +iptables -A INPUT -p icmp -j ACCEPT}}} 89 89 90 90 Zusätzlich zum Skript sollten (* = müssen) folgende Optionen in der Verbindung definiert werden: 91 91 ... ... @@ -92,5 +92,9 @@ 92 92 |(% style="width:160px" %)Verbindungsname *|(% style="width:1346px" %)Frei wählbarer Anzeigename der Verbindung 93 93 |(% style="width:160px" %)Als root ausführen *|(% style="width:1346px" %)an - Führt das Skript mit den benötigten rechten aus 94 94 |(% style="width:160px" %)Automatischer Start|(% style="width:1346px" %)an - Sorgt dafür, dass die Firewall beim Start des geräts aktiviert wird 95 -|(% style="width:160px" %)Desktop-Verknüpfung erstellen 96 -~)~)~) 104 +|(% style="width:160px" %)Desktop-Verknüpfung erstellen|(% style="width:1346px" %)aus 105 +|(% style="width:160px" %)Verknüpfung im Startmenü erstellen|(% style="width:1346px" %)aus 106 + 107 +[[image:RangeeOS-Firewall.png||height="446" width="600"]] 108 + 109 +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.