RangeeOS - Firewall mit ipables Skript
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.
Voraussetzung
Auf dem RangeeOS Client muss das Softwaremodul scripts in zur Firmware passender Version installiert sein.
Firewallregeln
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.
Standard verwerfen
Entfernt alle bestehenden Regeln:
iptables --flush
Block sämtliche eingehenden Pakete die nicht explizit erlaubt sind:
iptables --policy INPUT DROP
Erlaubt das Aufrechterhalten von Aufgebauten Verbindungen (RDP, ICA, VMwareView...):
iptables --append INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT
Port / Protokoll / Netzwerk erlauben
Erlaubt Kontakt zur Kommbox per Browser / TCMS auf Port 443 TCP von dem 24er Subnetz 192.168.255.0/24:
iptables --append INPUT --protocol tcp --destination-port 443 --source 192.168.255.0/24 --jump ACCEPT
Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP 192.168.255.56/32:
iptables --append INPUT --protocol tcp --destination-port 22 --source 192.168.255.56/32 --jump ACCEPT
Erlaubt VNC zum Client auf Port 5900 TCP vom 16er Subnetz 192.168.0.0/16:
iptables --append INPUT --protocol tcp --destination-port 5900 --source 192.168.0.0/16 --jump ACCEPT
Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP vom 16er Subnetz 192.168.0.0/16:
iptables --append INPUT --protocol tcp --destination-port 80 --source 192.168.0.0/16 --jump ACCEPT
Erlaubt ICMP (Ping) von überall
iptables --append INPUT --protocol icmp --jump ACCEPT
Skript anlegen
Navigieren Sie in der Kommbox zu Verbindungen & Anwendungen -> Script Konfiguration und legen Sie eine Neue Verbindung an.
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:
#Zeilen welche mit '#' beginnen werden nicht ausgewertet und können als Kommentare verwendet werden iptables --flush iptables --policy INPUT DROP iptables --append INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT iptables --append INPUT --protocol tcp --destination-port 443 --source 192.168.255.0/24 --jump ACCEPT # Erlaube SSH Admin PC iptables --append INPUT --protocol tcp --destination-port 22 --source 192.168.255.56/32 --jump ACCEPT # Erlaube VNC iptables --append INPUT --protocol tcp --destination-port 5900 --source 192.168.0.0/16 --jump ACCEPT iptables --append INPUT --protocol tcp --destination-port 80 --source 192.168.0.0/16 --jump ACCEPT # Erlaube PING iptables --append INPUT --protocol icmp --jump ACCEPT
Zusätzlich zum Skript sollten (* = müssen) folgende Optionen in der Verbindung definiert werden:
Verbindungsname * | Frei wählbarer Anzeigename der Verbindung |
Als root ausführen * | an - Führt das Skript mit den benötigten rechten aus |
Automatischer Start | an - Sorgt dafür, dass die Firewall beim Start des Geräts aktiviert wird |
Desktop-Verknüpfung erstellen | aus |
Verknüpfung im Startmenü erstellen | aus |
Das Skript wir mit diesen Einstellungen nun bei jedem Gerätestart automatisch ausgeführt und aktiviert die Clientseitigen Firewallregeln. Es kann wie jede andere Verbindung auch per TCMS-Gruppe oder Konfigurationsdatei auf andere Geräte verteilt werden.