Wiki source code of RangeeOS - Firewall mit ipables Skript
Version 10.1 by Tobias Wintrich on 2022/10/28 10:09
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
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.1 | 2 | |
![]() |
10.1 | 3 | {{toc/}} |
4 | |||
![]() |
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 | |||
![]() |
6.1 | 13 | = Firewallregeln = |
![]() |
2.1 | 14 | |
![]() |
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. |
![]() |
2.1 | 16 | |
![]() |
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 | |||
![]() |
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 | |||
![]() |
2.1 | 35 | == Standard verwerfen == |
36 | |||
![]() |
9.1 | 37 | **Entfernt alle bestehenden Regeln:** |
38 | |||
39 | {{{iptables -F}}} | ||
40 | |||
![]() |
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 | |||
![]() |
3.1 | 49 | == Port / Protokoll / Netzwerk erlauben == |
![]() |
2.1 | 50 | |
![]() |
8.1 | 51 | **Erlaubt Kontakt zur Kommbox per Browser / TCMS auf Port 443 TCP von dem 24er Subnetz 192.168.255.0/24:** |
![]() |
2.1 | 52 | |
![]() |
6.1 | 53 | {{{iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT}}} |
![]() |
2.1 | 54 | |
![]() |
8.1 | 55 | **Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP 192.168.255.56/32:** |
![]() |
2.1 | 56 | |
57 | {{{iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT}}} | ||
58 | |||
![]() |
8.1 | 59 | **Erlaubt VNC zum Client auf Port 5900 TCP vom 16er Subnetz 192.168.0.0/16:** |
![]() |
2.1 | 60 | |
![]() |
8.1 | 61 | {{{iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT}}} |
![]() |
2.1 | 62 | |
![]() |
8.1 | 63 | **Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP vom 16er Subnetz 192.168.0.0/16:** |
![]() |
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 | |||
![]() |
8.1 | 69 | {{{iptables -A INPUT -p icmp -j ACCEPT}}} |
![]() |
2.1 | 70 | |
![]() |
6.1 | 71 | = Skript anlegen = |
![]() |
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 | ||
![]() |
8.1 | 94 | iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT |
![]() |
2.1 | 95 | iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT |
96 | |||
97 | # Erlaube PING | ||
![]() |
8.1 | 98 | iptables -A INPUT -p icmp -j ACCEPT}}} |
![]() |
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"]] | ||
![]() |
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. |