Ich möchte ufw (unkomplizierte Firewall) für OpenVPN konfigurieren.
Verbindungen sind nur über OpenVPN zulässig. Alles andere sollte gesperrt werden. Also wenn OpenVPN nicht verbunden ist -> kein Internet! Ich habe dieses Skript online gefunden und möchte wissen, ob es gut genug ist. Oder muss ich weitere Regeln hinzufügen?
#!/bin/bash
###########################################
# Created by Thomas Butz #
# E-Mail: btom1990(at)googlemail.com #
# Feel free to copy & share this script #
###########################################
# Adapt this value to your config!
VPN_DST_PORT=3478
# Don't change anything beyond this point
###########################################
# Check for root priviliges
if [[ $EUID -ne 0 ]]; then
printf "Please run as root:\nsudo %s\n" "${0}"
exit 1
fi
# Reset the ufw config
ufw --force reset
# let all incoming traffic pass
ufw default allow incoming
# and block outgoing by default
ufw default deny outgoing
# Every communiction via VPN is considered to be safe
ufw allow out on tun0
# Don't block the creation of the VPN tunnel
ufw allow out $VPN_DST_PORT
# Don't block DNS queries
ufw allow out 53
# Allow local IPv4 connections
ufw allow out to 10.0.0.0/8
ufw allow out to 172.16.0.0/12
ufw allow out to 192.168.0.0/16
# Allow IPv4 local multicasts
ufw allow out to 224.0.0.0/24
ufw allow out to 239.0.0.0/8
# Allow local IPv6 connections
ufw allow out to fe80::/64
# Allow IPv6 link-local multicasts
ufw allow out to ff01::/16
# Allow IPv6 site-local multicasts
ufw allow out to ff02::/16
ufw allow out to ff05::/16
# Enable the firewall
ufw enable
Quelle: http://pastebin.com/AUHh6KnV
ufw
mithilfe von deaktivierensudo ufw disable
und alle Firewall-Regeln mithilfe von entfernen könnensudo ufw --force reset
. Was könnte möglicherweise falsch laufen? ;-)Antworten:
Die Konfiguration kann restriktiver sein
quelle
tun0
eingehende Verbindungen über das VPN blockiert werden ? Wie inufw deny in on tun0
?ufw default deny incoming
undufw deny in on tun0
, erhalten Sie keine eingehenden Verbindungen. Einige Schnittstellen sollten eingehenden Datenverkehr zulassen. In diesem Fall sollen es die VPNs seintun0
.ufw allow in on tun0
Zeile "hinterfragt" .Es wird dringend empfohlen, diese beiden Befehle NICHT zu verwenden :
Niederlagen zulassen, um eine Firewall zu haben. Es ist falsch, dass Sie "allow in on tun0" benötigen, um Rückpakete zu empfangen. Sie möchten nur Verbindungen erhalten, nach denen Sie gefragt haben, und nicht, dass die ganze Welt eine Verbindung zu Ihnen aufbaut. Erlauben wird dies tun. Testen Sie die vorgeschlagene Konfiguration unten und sehen Sie.
Hier ist ein Beispiel für eine Reihe von UFW-Befehlen zur Verwendung mit einer Firewall:
Beispiel Ergebnis:
HINWEIS: -Ihre Schnittstellen können unterschiedlich sein, zum Beispiel verwendet Ubuntu 16.12 eno1 und wlp3s0b1. Verwenden Sie den Befehl "ifconfig", um Ihre tatsächlichen Schnittstellen anzuzeigen. -1197 UDP ist ziemlich voreingestellt, aber Sie müssen es möglicherweise für Ihr VPN ändern (z. B. 443 TCP). -Ich lösche normalerweise ipv6 (sudo ufw delete 4, repeat x3)
Was dies bewirkt: -Es erlaubt ausgehende Verbindungen durch den VPN-Tunnel, während alles außer dem VPN-Tunnel und den DNS-Verbindungen über Ethernet / WLAN blockiert wird. Warnung unten zum DNS-Problem.
Warnung: In diesem Beispiel ist für DNS-Anforderungen die Einstellung 53 zulässig, damit openvpn (z. B. vpn.somevpnprovider.com) die IP-Adresse anfordern und eine Verbindung herstellen kann. Der Kompromiss ist das Potenzial für DNS-Leckagen. Verwenden Sie dnsleaktest.com, um sicherzustellen, dass Ihre VPN-Einstellungen Ihre DNS-Anforderungen tunneln. Wenn Sie vorsichtig / paranoid sind, überspringen Sie das Zulassen von 53 und schalten Sie stattdessen Ihre Firewall aus, um eine Verbindung herzustellen, und schalten Sie sie wieder ein, sobald Sie eine Verbindung hergestellt haben. Aus VPN-Gründen entscheide ich mich dagegen, da ich die Firewall mit größerer Wahrscheinlichkeit komplett vergesse (z. B. leckt DNS ohnehin, wenn openvpn falsch konfiguriert ist).
quelle