Version 10.1 by Tobias Wintrich on 2022/10/28 10:09

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
39 {{{iptables -F}}}
40
Tobias Wintrich 2.1 41 **Block sämtliche eingehenden Pakete die nicht explizit erlaubt sind:**
42
43 {{{iptables -P INPUT DROP}}}
44
45 **Erlaubt das Aufrechterhalten von Aufgebauten Verbindungen (RDP, ICA, VMwareView...):**
46
47 {{{iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT}}}
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 6.1 53 {{{iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j 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
57 {{{iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT}}}
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 8.1 61 {{{iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j 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
65 {{{iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT}}}
66
67 **Erlaubt ICMP (Ping) von überall**
68
Tobias Wintrich 8.1 69 {{{iptables -A INPUT -p icmp -j 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
86 iptables -P INPUT DROP
87 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
88 iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT
89
90 # Erlaube SSH Admin PC
91 iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT
92
93 # Erlaube VNC
Tobias Wintrich 8.1 94 iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT
Tobias Wintrich 2.1 95 iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT
96
97 # Erlaube PING
Tobias Wintrich 8.1 98 iptables -A INPUT -p icmp -j ACCEPT}}}
Tobias Wintrich 2.1 99
100 Zusätzlich zum Skript sollten (* = müssen) folgende Optionen in der Verbindung definiert werden:
101
102 |(% style="width:160px" %)Verbindungsname *|(% style="width:1346px" %)Frei wählbarer Anzeigename der Verbindung
103 |(% style="width:160px" %)Als root ausführen *|(% style="width:1346px" %)an - Führt das Skript mit den benötigten rechten aus
104 |(% style="width:160px" %)Automatischer Start|(% style="width:1346px" %)an - Sorgt dafür, dass die Firewall beim Start des geräts aktiviert wird
105 |(% style="width:160px" %)Desktop-Verknüpfung erstellen|(% style="width:1346px" %)aus
106 |(% style="width:160px" %)Verknüpfung im Startmenü erstellen|(% style="width:1346px" %)aus
107
108 [[image:RangeeOS-Firewall.png||height="446" width="600"]]
Tobias Wintrich 3.1 109
110 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.