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