Tipps & Tricks: Killswitch (100% secure) für alle Linux Systeme

nonono

New Member
Hallo,

da ich mit iptables und nft nicht zufrieden war habe ich eine andere Lösung gefunden die 100% sicher ist. Ich nutze dazu ufw.
(https://wiki.debian.org/Uncomplicated Firewall (ufw))

Um euren Rechner abzusichern und nur noch Traffic über tun0 zu erlauben erstellt ihr ein Skript "firewallon.sh" mit folgendem Inhalt:

Code:
#!/bin/bash

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0 from any to any
sudo ufw enable

Das verhindert allerdings auch einen Neuaufbau der VPN Verbindung, bevor ihr diesen Killswitch mit dem Skript "firewalloff.sh

Code:
#!/bin/bash

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

wieder deaktiviert. Die Änderungen bleiben auch nach einem Neustart aktiv. Um das zu umgehen und die Firewall immer aktiv zu lassen könnt ihr für euren jeweiligen Einwahlserver noch folgendes in der firewallon.sh hinzufügen:


Code:
#!/bin/bash

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on enp57s0f1 to 85.17.28.145
sudo ufw allow out on tun0 from any to any
sudo ufw enable

enp57s0f1 - muss mit eurem Netzwerkinterface ersetzt werden

85.17.28.145 - mit der IP des PP Servers zu dem ihr eine Einwahl erlauben wollt (hier: Amsterdam1)

Natürlich könnt ihr dort auch mehrere PP Server oder alle eintragen oder keinen.


Ich finde das einen sehr guten und sicheren Weg der auf alle Linuxsystem portierbar ist und keine Rücksicht auf Besonderheiten einzelner Systeme nehmen muss. Andere Lösungen mit iptables, das inzwischen unter Debian depricated ist, sind komplizierter und ziehen teilweise 9 Seiten Fragen nach sich und werden vom Autor der Anleitungen nicht mehr maintained. Insofern denke ich diese Lösung ist viel einfacher, sicherer und universeller einsetzbar. Viel Spaß damit ;)
 
Ich hab mir mal die Freiheit genommen und alle PP Server (Stand 07.02.2020) eingefügt.

Bash:
#!/bin/bash

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default deny outgoing

sudo ufw allow out on INTERFACE to 85.17.28.145
sudo ufw allow out on INTERFACE to 95.211.95.232
sudo ufw allow out on INTERFACE to 95.211.95.244
sudo ufw allow out on INTERFACE to 37.48.94.1
sudo ufw allow out on INTERFACE to 85.17.64.131
sudo ufw allow out on INTERFACE to 82.199.134.162
sudo ufw allow out on INTERFACE to 80.255.7.66
sudo ufw allow out on INTERFACE to 152.89.160.98
sudo ufw allow out on INTERFACE to 80.255.7.98
sudo ufw allow out on INTERFACE to 185.57.82.25
sudo ufw allow out on INTERFACE to 41.215.242.154
sudo ufw allow out on INTERFACE to 149.202.77.77
sudo ufw allow out on INTERFACE to 104.237.193.26
sudo ufw allow out on INTERFACE to 185.152.32.66
sudo ufw allow out on INTERFACE to 138.128.136.164
sudo ufw allow out on INTERFACE to 217.114.218.18
sudo ufw allow out on INTERFACE to 178.162.194.30
sudo ufw allow out on INTERFACE to 37.58.58.239
sudo ufw allow out on INTERFACE to 80.255.7.114
sudo ufw allow out on INTERFACE to 209.58.188.129
sudo ufw allow out on INTERFACE to 185.65.205.18
sudo ufw allow out on INTERFACE to 82.199.130.34
sudo ufw allow out on INTERFACE to 5.187.21.98
sudo ufw allow out on INTERFACE to 162.245.206.242
sudo ufw allow out on INTERFACE to 185.183.106.146
sudo ufw allow out on INTERFACE to 194.68.170.51
sudo ufw allow out on INTERFACE to 217.138.196.98
sudo ufw allow out on INTERFACE to 168.1.112.72
sudo ufw allow out on INTERFACE to 38.132.118.66
sudo ufw allow out on INTERFACE to 192.145.127.210
sudo ufw allow out on INTERFACE to 167.114.209.103
sudo ufw allow out on INTERFACE to 192.162.100.240
sudo ufw allow out on INTERFACE to 192.162.100.241
sudo ufw allow out on INTERFACE to 96.9.246.194
sudo ufw allow out on INTERFACE to 81.95.5.34
sudo ufw allow out on INTERFACE to 80.255.10.194
sudo ufw allow out on INTERFACE to 91.205.187.186
sudo ufw allow out on INTERFACE to 5.135.143.84
sudo ufw allow out on INTERFACE to 195.138.249.2
sudo ufw allow out on INTERFACE to 82.221.105.61
sudo ufw allow out on INTERFACE to 46.183.221.194
sudo ufw allow out on INTERFACE to 31.204.150.106
sudo ufw allow out on INTERFACE to 31.204.150.138
sudo ufw allow out on INTERFACE to 31.204.152.102
sudo ufw allow out on INTERFACE to 31.204.152.189
sudo ufw allow out on INTERFACE to 31.204.153.106
sudo ufw allow out on INTERFACE to 209.58.162.197
sudo ufw allow out on INTERFACE to 103.254.153.202
sudo ufw allow out on INTERFACE to 94.242.243.162
sudo ufw allow out on INTERFACE to 94.242.243.66
sudo ufw allow out on INTERFACE to 185.41.240.18
sudo ufw allow out on INTERFACE to 185.217.1.2
sudo ufw allow out on INTERFACE to 37.187.163.66
sudo ufw allow out on INTERFACE to 185.18.205.122
sudo ufw allow out on INTERFACE to 31.204.145.166
sudo ufw allow out on INTERFACE to 152.89.162.226
sudo ufw allow out on INTERFACE to 37.120.213.194
sudo ufw allow out on INTERFACE to 37.120.213.210

sudo ufw allow out on tun0 from any to any
sudo ufw enable
 
Last edited:
Hallo @nonono.

Ich suche nach einer Firewall Lösung für strongSwan (IPsec/IKEv2) auf OpenWrt. OpenWrt basiert ja auch auf Linux.

Interfaces wie tun0 gibt es bei strongSwan nicht. Ein Interface manuell anlegen ist vielleicht machbar, aber auf OpenWrt zur Zeit nicht. Da könnte man vielleicht höchstens Ports blockieren und nur bestimmte zulassen. Das wäre zwar kein richtiger Kill-Switch, aber ich denke es wäre besser als nichts.

Ist Port Zulassung/Blockierung mit ufw machbar?
 
Hallo,

ja das geht.

ufw allow|deny portnummer

sollte problemlos funktionieren.

Du kannst auch noch in bzw out vor die Portnummer setzen falls du das auf eingehende oder ausgehende Verbindungen beschränken möchtest.
 
Hallo.

Und wenn ich kein "in" bzw. "out" vor die Portnummer setze, dann gelten doch die Regeln für in und out zugleich oder nicht?
Wenn ich nur die UDP Ports 53, 500 und 4500 durchlassen möchte, dann wäre in meinem Beispiel das Skript richtig?

firewallon.sh:
Code:
#!/bin/sh

ufw reset
ufw default deny incoming
ufw default deny outgoing
ufw deny 0:52/udp, 54:499/udp, 501:4499/udp, 4501:65535/udp
ufw deny 0:65535/tcp
ufw enable

firewalloff.sh würde ich nicht brauchen, weil der Schutz bei einem Router immer aktiv sein sollte.
 
Mit den Portrage denys bzw dem auslassen der gewünschten Ports dürftest du nichts erreichen. Die zwei Zeilen darüber machen ja eh alles dicht innklusive der von dir gewünschten offenen Ports. Insofern würde ich probieren:



Code:
#!/bin/sh

ufw reset
ufw default deny incoming
ufw default deny outgoing
ufw allow 53/udp
ufw allow 500/udp
ufw allow 4500/udp
ufw enable

Sonst verbietest du doppelt und erlaubst trotzdem nichts. Hab ich allerdings jetzt nicht getestet.
 
Wenn jemand Zugang zum Heimnetzwerk benötigt, muss dieser freigegeben werden.
Habe das mal gemacht.
Getestet mit Linux Mint 20
Code:
#!/bin/bash

# UFW reset
sudo ufw --force reset
# Ein und Ausgang ist geschlossen
sudo ufw default deny incoming
sudo ufw default deny outgoing
# VPN Verbindung Ein und Ausgang öffnen wir
sudo ufw allow out on tun0
sudo ufw allow in on tun0
# Zugang zum Heimnetzwerk IPv4
sudo ufw allow out to 127.0.0.0/8
sudo ufw allow in to 127.0.0.0/8
sudo ufw allow out to 10.0.0.0/8
sudo ufw allow in to 10.0.0.0/8
sudo ufw allow out to 172.16.0.0/12
sudo ufw allow in to 172.16.0.0/12
sudo ufw allow out to 192.168.0.0/16
sudo ufw allow in to 192.168.0.0/16
sudo ufw allow out to 224.0.0.0/24
sudo ufw allow in to 224.0.0.0/24
sudo ufw allow out to 239.0.0.0/8
sudo ufw allow in to 239.0.0.0/8
# Zugang zum Heimnetzwerk IPv6
sudo ufw allow out to fe80::/64
sudo ufw allow in to fe80::/64
sudo ufw allow out to ff01::/16
sudo ufw allow in to ff01::/16
sudo ufw allow out to ff02::/16
sudo ufw allow in to ff02::/16
sudo ufw allow out to ff05::/16
sudo ufw allow in to ff05::/16
# UFW starten
sudo ufw enable
 
Back
Top