Version 12.1 by Tobias Wintrich on 2022/10/28 10:15

Hide last authors
Tobias Wintrich 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.
Tobias Wintrich 2.1 2
Tobias Wintrich 10.1 3 {{toc/}}
4
Tobias Wintrich 2.1 5 = Voraussetzung =
6
7 Auf dem RangeeOS Client muss das Softwaremodul **scripts **in zur Firmware passender Version installiert sein.
8
9 {{info}}
10 Sollte Ihnen unter **Softwareaktualisierung **das Modul nicht angeboten werden, wenden Sie sich bitte an unseren [[Support>>mailto:support@rangee.com]]
11 {{/info}}
12
Tobias Wintrich 6.1 13 = Firewallregeln =
Tobias Wintrich 2.1 14
Tobias Wintrich 6.1 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.
Tobias Wintrich 2.1 16
Tobias Wintrich 9.1 17 In folgenden Beispielen werden diese Parameter von iptables verwendet:
18
19 {{{-A => --append
20 -p => --protocol
21 -s => --source
22 -m => --match
23 -j => --jump
24 -F => --flush
25 -P => --policy
26 --dport => --destination-ports}}}
27
Tobias Wintrich 7.1 28 {{info}}
29 Weitere Informationen zur Verwendung von iptables finden Sie hier:
30
31 * [[https:~~/~~/linux.die.net/man/8/iptables>>url:https://linux.die.net/man/8/iptables]]
32 * [[https:~~/~~/wiki.ubuntuusers.de/iptables/>>url:https://wiki.ubuntuusers.de/iptables/]]
33 {{/info}}
34
Tobias Wintrich 2.1 35 == Standard verwerfen ==
36
Tobias Wintrich 9.1 37 **Entfernt alle bestehenden Regeln:**
38
Tobias Wintrich 12.1 39 {{{iptables --flush}}}
Tobias Wintrich 9.1 40
Tobias Wintrich 2.1 41 **Block sämtliche eingehenden Pakete die nicht explizit erlaubt sind:**
42
Tobias Wintrich 12.1 43 {{{iptables --policy INPUT DROP}}}
Tobias Wintrich 2.1 44
45 **Erlaubt das Aufrechterhalten von Aufgebauten Verbindungen (RDP, ICA, VMwareView...):**
46
Tobias Wintrich 12.1 47 {{{iptables --append INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT}}}
Tobias Wintrich 2.1 48
Tobias Wintrich 3.1 49 == Port / Protokoll / Netzwerk erlauben ==
Tobias Wintrich 2.1 50
Tobias Wintrich 8.1 51 **Erlaubt Kontakt zur Kommbox per Browser / TCMS auf Port 443 TCP von dem 24er Subnetz 192.168.255.0/24:**
Tobias Wintrich 2.1 52
Tobias Wintrich 12.1 53 {{{iptables --append INPUT --protocol tcp --dport 443 --source 192.168.255.0/24 --jump ACCEPT}}}
Tobias Wintrich 2.1 54
Tobias Wintrich 8.1 55 **Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP 192.168.255.56/32:**
Tobias Wintrich 2.1 56
Tobias Wintrich 12.1 57 {{{iptables --append INPUT --protocol tcp --dport 22 --source 192.168.255.56/32 --jump ACCEPT}}}
Tobias Wintrich 2.1 58
Tobias Wintrich 8.1 59 **Erlaubt VNC zum Client auf Port 5900 TCP vom 16er Subnetz 192.168.0.0/16:**
Tobias Wintrich 2.1 60
Tobias Wintrich 12.1 61 {{{iptables --append INPUT --protocol tcp --dport 5900 --source 192.168.0.0/16 --jump ACCEPT}}}
Tobias Wintrich 2.1 62
Tobias Wintrich 8.1 63 **Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP vom 16er Subnetz 192.168.0.0/16:**
Tobias Wintrich 2.1 64
Tobias Wintrich 12.1 65 {{{iptables --append INPUT --protocol tcp --dport 80 --source 192.168.0.0/16 --jump ACCEPT}}}
Tobias Wintrich 2.1 66
67 **Erlaubt ICMP (Ping) von überall**
68
Tobias Wintrich 12.1 69 {{{iptables --append INPUT --protocol icmp --jump ACCEPT}}}
Tobias Wintrich 2.1 70
Tobias Wintrich 6.1 71 = Skript anlegen =
Tobias Wintrich 2.1 72
73 {{warning}}
74 Bevor Sie die Regeln per Skript automatisiert ausführen, wird empfohlen Sie händisch per SSH oder Root Shell zu testen. Informationen zum Zugang zum Linux Terminal finden Sie hier:
75
76 * [[Root-Terminal Passwort>>doc:Handbuecher.Handbuch11.Kapitel 3 - Administration des Clients.3\.C Benutzereinstellungen.3\.C\.A\. Root-Terminal-Passwort]]
77 * [[Remote Access via SSH>>doc:Handbuecher.Handbuch11.Kapitel 4 - Erweiterte Administration.4\.C\. Remote Access via SSH.WebHome]]
78 * [[Hotkeys (lokales Terminal öffnen)>>doc:Handbuecher.Handbuch11.Kapitel 2 - Getting Started.2\.B\. Hotkeys.WebHome]]
79 {{/warning}}
80
81 Navigieren Sie in der Kommbox zu {{status title="Verbindungen & Anwendungen"/}} -> {{status title="Script Konfiguration"/}} und legen Sie eine {{status title="Neue Verbindung"/}} an.
82
83 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:
84
85 {{{#Zeilen welche mit '#' beginnen werden nicht ausgewertet und können als Kommentare verwendet werden
Tobias Wintrich 12.1 86 iptables --flush
87 iptables --policy INPUT DROP
88 iptables --append INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT
89 iptables --append INPUT --protocol tcp --dport 443 --source 192.168.255.0/24 --jump ACCEPT
Tobias Wintrich 2.1 90
91 # Erlaube SSH Admin PC
Tobias Wintrich 12.1 92 iptables --append INPUT --protocol tcp --dport 22 --source 192.168.255.56/32 --jump ACCEPT
Tobias Wintrich 2.1 93
94 # Erlaube VNC
Tobias Wintrich 12.1 95 iptables --append INPUT --protocol tcp --dport 5900 --source 192.168.0.0/16 --jump ACCEPT
96 iptables --append INPUT --protocol tcp --dport 80 --source 192.168.0.0/16 --jump ACCEPT
Tobias Wintrich 2.1 97
98 # Erlaube PING
Tobias Wintrich 12.1 99 iptables --append INPUT --protocol icmp --jump ACCEPT}}}
Tobias Wintrich 2.1 100
101 Zusätzlich zum Skript sollten (* = müssen) folgende Optionen in der Verbindung definiert werden:
102
103 |(% style="width:160px" %)Verbindungsname *|(% style="width:1346px" %)Frei wählbarer Anzeigename der Verbindung
104 |(% style="width:160px" %)Als root ausführen *|(% style="width:1346px" %)an - Führt das Skript mit den benötigten rechten aus
105 |(% style="width:160px" %)Automatischer Start|(% style="width:1346px" %)an - Sorgt dafür, dass die Firewall beim Start des geräts aktiviert wird
106 |(% style="width:160px" %)Desktop-Verknüpfung erstellen|(% style="width:1346px" %)aus
107 |(% style="width:160px" %)Verknüpfung im Startmenü erstellen|(% style="width:1346px" %)aus
108
109 [[image:RangeeOS-Firewall.png||height="446" width="600"]]
Tobias Wintrich 3.1 110
111 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.