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.
In folgenden Beispielen werden diese Parameter von iptables verwendet:
-A => --append -p => --protocol -s => --source -m => --match -j => --jump -F => --flush -P => --policy --dport => --destination-ports
Standard verwerfen
Entfernt alle bestehenden Regeln:
iptables -F
Block sämtliche eingehenden Pakete die nicht explizit erlaubt sind:
iptables -P INPUT DROP
Erlaubt das Aufrechterhalten von Aufgebauten Verbindungen (RDP, ICA, VMwareView...):
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j 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 -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT
Erlaubt SSH zum Client auf Port 22 TCP von einzelner IP 192.168.255.56/32:
iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT
Erlaubt VNC zum Client auf Port 5900 TCP vom 16er Subnetz 192.168.0.0/16:
iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT
Für WebVNC aus Kommbox oder TCMS zusätzlich Port 80 TCP vom 16er Subnetz 192.168.0.0/16:
iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT
Erlaubt ICMP (Ping) von überall
iptables -A INPUT -p icmp -j 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 -F iptables -P INPUT DROP iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 443 -s 192.168.255.0/24 -j ACCEPT # Erlaube SSH Admin PC iptables -A INPUT -p tcp --dport 22 -s 192.168.255.56/32 -j ACCEPT # Erlaube VNC iptables -A INPUT -p tcp --dport 5900 -s 192.168.0.0/16 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/16 -j ACCEPT # Erlaube PING iptables -A INPUT -p icmp -j 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 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.