Tipps & Tricks: Linux absichern mit den iptables

JackCarver

Junior Member
Js das Skript blockt alles außer VPN. Man kann das auch dauerhaft speichern, dazu gibt es den Befehl iptables-save. Damit kannst du das aktive Regelwerk in ne Datei sichern. Mit iptables-restore lädst du dann wieder die in der Datei gesicherten Regeln. Fügst du nun in der /etc/network/interfaces bei zb der eth0 Config ein pre-up mit dem restore Befehl als Zeile hinzu, so lädt er die Regeln kurz bevor eth0 aktiv wird. Geht unisono natürlich auch bei wlan0, der Adapter ist egal.
 

Flixxx

Junior Member
Schönen guten Abend.
Ich hatte vor das Programm unter OpenSuse 13.2 zu verwenden, allerdings zeigt er mir an Firewall inaktive.
Reboot, Firewall aus und wieder an bringt nichts.
Wenn ich auf den Button klicke passiert garnix, also um es genau zu sagen kein Button funktioniert.

Dann dachte ich mir gut okay mit dem script kann ich ebenfalls gut leben wenn es funktioniert aber auch hier kein Erfolg.
Script habe ich angelegt so wie du es beschrieben hast, ausführbar gemacht und ausgeführt. Er führt es auch aus allerdings ohne den gewünschten Erfolg.

Muss ich meiner Netzwerkkarte eine Zone zuweisen?
Ich habe es schon versucht aber keiner der Zonen hat funktioniert.

Villeicht hast du noch ein Tipp für mich.
Achja ich habe auch schon mal in der Datei das wlan0 bzw etho durch meine konfig ersetzt aber hat nichts gebracht.

Vielen Dank schon mal

Mfg

EDIT:
Okay jetzt funktioniert es.
Ich kann mir zwar grade nicht erklären wieso aber nunja.
Aber villeicht bekommen wir ja trotzdem noch hin das dein Programm funktioniert :)
 

Ghost

Junior Member
@JackCarver

Hey Jack, ich habe nun endlich meinen Linux Rechner wieder online


Das Tool funktioniert unter Linux Mint 17.1 soweit ohne Probleme, aber man kann die iptables nicht mehr fest im System abspeichern.
Wäre super, wenn du das bei Gelegenheit fixen könntest.

Oder eine Beschreibung online stellen könntest, wie man die Regeln fest im System speichern kann.


Wie immer 1000 DANK!
 

someuser

Junior Member
Also ich nutze auch Mint, bei mir klappt das. Beim ersten Versuch ist zwar das GUI abgeschmiert, aber beim 2ten Versuch wurden die Regeln permanent übernommen.
 

Ghost

Junior Member
1) IPTables.sh

Code:
#!/bin/bash

#Iptables Regeln für VPN:

sudo iptables -t filter -A OUTPUT -o wlan0 -p udp -m multiport --dports 1149,149,1150,150,1151,151,53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o wlan0 -p tcp -m multiport --dports 1152,152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o eth0 -p udp -m multiport --dports 1149,149,1150,150,1151,151,53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 1152,152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i wlan0 -p udp -m multiport --sports 1149,149,1150,150,1151,151,53 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i wlan0 -p tcp -m multiport --sports 1152,152 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i eth0 -p udp -m multiport --sports 1149,149,1150,150,1151,151,53 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 1152,152 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT --dst 192.168.0.0/16 -j ACCEPT
sudo iptables -t filter -A INPUT --src 192.168.0.0/16 -j ACCEPT
sudo iptables -t filter -A OUTPUT --dst 10.0.0.0/8 -j ACCEPT
sudo iptables -t filter -A INPUT --src 10.0.0.0/8 -j ACCEPT
sudo iptables -t filter -A OUTPUT --dst 172.16.0.0/12 -j ACCEPT
sudo iptables -t filter -A INPUT --src 172.16.0.0/12 -j ACCEPT

sudo iptables -t filter -A OUTPUT -o wlan0 -j DROP
sudo iptables -t filter -A INPUT -i wlan0 -j DROP
sudo iptables -t filter -A OUTPUT -o eth0 -j DROP
sudo iptables -t filter -A INPUT -i eth0 -j DROP
iptables dauerhaft speichern.

2) iptables unter etc/iptables.up.rules speichern
Code:
sudo bash
iptables-save > /etc/iptables.up.rules

3) Die Datei /etc/network/if-pre-up.d/iptables erstellen und konfigurieren.
Code:
sudo nano /etc/network/if-pre-up.d/iptables
(Inhalt der Datei iptables)
Code:
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

4) Die Datei /etc/network/if-pre-up.d/iptables ausführbar machen.
Code:
chmod +x /etc/network/if-pre-up.d/iptables


Die IPTables Regeln hat uns JackCarver erstellt.
 

JackCarver

Junior Member
Hey Jungs,

zur Zeit ist die Zeit bissl knapp für das kleine Linux Tool, sobald mal wieder etwas mehr Zeit für QT is, werd ich da n Update bringen. Was OpenSuse anbelangt kann ich mangels Testsystem erstmal nix zu sagen. Ich hab das nur auf Debian und den diversen Derivaten wie Mint, Ubuntu getestet.
 

Ghost

Junior Member
Hey Jungs,

zur Zeit ist die Zeit bissl knapp für das kleine Linux Tool, sobald mal wieder etwas mehr Zeit für QT is, werd ich da n Update bringen.
SUPER. DANKE Jack :)
 

awm

Junior Member
Hallo, funktioniert das script noch ? Ich möchte das ich ohne VPN nirgendwo hin mit meiner echten IP gehe auch beim Neustart nicht.
Ich nutze Openvpn derzeit mit dem "Netzwerkplugin".

Ist es weiterhin möglich im Lokalen Netz Geräte anzusprechen NAS usw. ? Oder ist dies auch alles dicht ?
Gibt es irgendwo eine Anleitung für den nicht Linux Profi ? Mein Linux Mint kann mit der geladenen Datei erstmal nichts anfangen.

Vielen Dank
 

JackCarver

Junior Member
Das Skript funktioniert, die iptables Regeln ändern sich ja nicht. Das kleine Tool kann ich für die ganz neuen Linux Versionen derzeit nicht sagen. LAN ist ausgeklammert, dh du kannst n NAS nutzen.
 

awm

Junior Member
hmm also wenn ich es startet ist 100% alles Offline. Liegt vielleich daran das ich derzeit noch ovpn.to nutze. Wo muss ich dies Freigeben ? Ein Optionsbereich schaint es leider nicht zu geben.
 

JackCarver

Junior Member
Das Tool ist auch nur für PP, nicht für ovpn.to. Du kannst das Skript verwenden von Post #2 und änderst die Ports für ovpn.to entsprechend ab. Welche Ports du benötigst musst du dort erfragen.
 

kingb7

Junior Member
Moin Moin,

hab mir jetzt das Tool für Ubuntu geladen. Nutze Ubuntu GNOME 15.04.

Den PP Manager installiert.

Aber wie zum Teufel bekomme ich das Ding installiert, dein kleines Tool? Ich bin irgendwie zu dumm.

Doppelklick geht nicht,open with Run Software oder Archiv Mounter geht nicht.

Per Terminal mit root geht nicht mit ./xxx

Bin nicht oft mit Linux unterwegs, nur ab und an auf meinem Raspberry PI.

Was muss ich machen?
 

kingb7

Junior Member
l@ubuntu:~/Desktop/FirewallLauncher_ubuntu_v1.0$ ./FirewallLauncher_ubuntu_v1.0
./FirewallLauncher_ubuntu_v1.0: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
l@ubuntu:~/Desktop/FirewallLauncher_ubuntu_v1.0$

keine ahnung, ob das überhaupt der richtige Befehl ist. Mit welchem konsolen Befehl muss ich das ding denn Ausführen?
 

JackCarver

Junior Member
In der Regel genügt ein:

./pfad_zur_app

um ein Programm direkt vom Terminal aus zu starten. Da du hier ne Fehlermeldung bzgl fehlender Libraries bekommen hast scheint der Start aber geklappt zu haben. Such mal ob du unter deinem Ubuntu Paketmanager das Paket libqt5widgets5 findest. Darin enthalten sollte das fehlende Library sein.

Edit:
Liegt wahrscheinlich daran, dass du Gnome verwendest anstatt KDE. Ich glaube die QT Bibliotheken sind beim KDE Windowmanager enthalten, wie das dann unter Gnome aussieht, das Nachinstallieren usw weiß ich nicht.
 

kingb7

Junior Member
Habe libqt5widgets5 nachinstalliert. Dann ist es gestartet, musste noch eine Sache installieren auf die dein Programm mich hingewiesen hat und jetzt läuft es.

Wo wird das hininstalliert? Ich muss es ja am besten als Autostart einrichten, sodass ohne PP Manager nichts mehr geht, auch nicht nach dem Neustart. Geht das mit dem "Boot-time loader for netfilter rules, iptables plugin" ?
 

JackCarver

Junior Member
Es wird nirgends hininstalliert, das Tool befindet sich da, wo du es hinkopierst. Das was du nachinstallierst wird natürlich im System installiert, lässt sich aber über den Paketmanager auch wieder problemlos entfernen. Du solltest in der App eine Möglichkeit haben, die iptables Regeln persistent zu speichern. Damit kannst du dann ohne das Tool nochmal zu benötigen, die iptables Regeln im System verankern. Diese sollten dann bei jedem Neustart sofort aktiv sein, zumindest war das unter meinem Testsystem Ubuntu 13.10 so.

Dann benötigst du lediglich den VPN Manager um dich zu verbinden und wieder ins Internet zu gelangen.


Edit:

Dazu nochmal folgendes aus meinem Post #1 hier:

Für alle, die die FW Regeln auch über den Systemstart aktiv haben möchten ist das Dropdown Feld "Firewall Settings" gedacht.
Es gibt zur Auswahl entweder die aktiven Regeln fest zu speichern oder eben die im System gespeicherten Regeln auch wieder zu löschen.


Zum Abspeichern der Regeln über den Bootvorgang hinaus wird ein Paket namens iptables-persistent benötigt. Das Programm prüft dazu ob das Paket bereits installiert ist oder nicht, sollte es nicht installiert sein, so wird es automatisch installiert. Da dazu natürlich ne Internetverbindung nötig ist macht es nur Sinn den Button zu klicken, nachdem man mit VPN verbunden ist, die Firewall sperrt ja eine Verbindung ohne VPN und der Installationsvorgang würde nicht klappen.

Soabld das Paket einmal installiert ist, ist das natürlich nicht mehr nötig, dh es werden dann nur noch die aktiven Regeln gespeichert ohne Installation etc.

Möchte man die Regeln wieder loswerden, was dann ja nicht mehr durch nen Reboot möglich ist, so klickt man einfach die untere Auswahl an.
 
Top