19.04.2023

Linux Firewall

IPTables / IP6Tables
NFTables
Debian Firewall einrichten
UFW (Uncomplicated Firewall)
sonstiges

 

Seitenanfang

Konfigurationstools

Firewall Konfigurationstools
Knetfilter unter KDE
Firestarter für GNOME
Jay's Iptables Firewall Textbasis
Easy Firewall Generator for Iptables WEB basiert (PHP Script)
   

ipchains-Code von 2.2 wird durch iptables abgelöst, das Gesamtsystem heist Netfilter.

Seitenanfang

Debian Firewall einrichten

unter Debian das fertige Firewall Script laden und mit

/etc/init.d/iptables save active

als root dauerhaft speichern. Damit werden die Regeln nach /var/lib/iptables/active geschrieben. Dann dpkg-reconfigure iptables aufrufen, auf die Frage Enable the iptables init.d script? mit Yes antworten. Daraufhin wird der Link /etc/rcS.d/S40iptables -> ../init.d/iptables angelegt. Fertig. Nach dem nächsten Reboot sollte der Paketfilter automatisch geladen werden.

update-rc.d
Seitenanfang

UFW (Uncomplicated Firewall)

UFW ubuntu Wiki deutsch
UFW ubuntu Wiki english
UFW ubuntu-user Artikel

Paket installieren unter ubuntu / Debian

apt-get install ufw
Datei/Verzeichnis Beschreibung
/etc/ufw/before.rules  
/etc/ufw/before6.rules  
/etc/ufw/after.rules  
/etc/ufw/after6.rules  
/etc/ufw/applications.d/ Verzeichnis mit den Regeln für Programme
/etc/default/ufw Standardeinstellungen

Beispiel /etc/ufw/applications.d/apache

will man mehere Port gleichzeitig freigeben, müssen diese durch Komma getrennt werden, z.B. bei "Apache Full"

[Apache]
title=Web Server (HTTP)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80/tcp

[Apache Secure]
title=Web Server (HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=443/tcp

[Apache Full]
title=Web Server (HTTP,HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80,443/tcp

soll die Regel für die Protokolle TCP und UDP gültig sein, kann man nur ein Port angeben. z.B. für "Bind9"

[Bind9]
title=Internet Domain Name Server
description=Bind Port 53 TCP und UDP
ports=53

- IPv6 aktivieren, Standardmäßig wird IPv6 blockiert

# /etc/default/ufw
...
IPV6=Yes
...

- Standardeinstellung für die Regeln/Policy

# /etc/default/ufw
DEFAULT_INPUT_POLICY="DENY"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_APPLICATION_POLICY="SKIP"

 

Befehl Beschreibung
allgemeine Einstellungen
ufw enable Firewall aktivieren
ufw disable Firewall deaktivieren
ufw reset Einstellungen komplett zurücksetzten (ab V. 0.30)
ufw reload Firewall Einstellungen neu laden, wenn Einstellungen geändert wurden
ufw default deny alles abweisen, die DEFAULT_INPUT_POLICY in der /etc/default/ufw wird auf DROP gesetzt
ufw logging medium Logging aktivieren und Loglevel setzen, mögliche Level low/medium/high, kann in der /etc/ufw/ufw.conf eingestellt werden.
ufw logging on/off Logging aktivieren/deaktivieren, Loglevel beibehalten
ufw status anzeigen ob Firewall aktiv ist, wenn ja, welche Regeln gesetzt sind.
ufw status verbose wie oben, aber ausführlicher
ufw status numbered Regelliste nummeriert anzeigen
ufw version Programmversion anzeigen
ufw show raw Regeln als iptables "Rohdaten" ausgeben
Programmprofile
ufw app list alle verfügbaren Programm Profile anzeigen
ufw app info 'Apache Full' Infos zum Programm Profil
ufw allow 'Apache' Programm Profil erlauben
ufw app update 'OpenSSH' Programm Profil "OpenSSH" nach einer Änderung neu einlesen
ufw app default allow  
   

Werte:
ACCEPT = allow
DROP = deny
REJECT = reject
SKIP = skip

Standardeinstellungen ändern

- Incoming Policy

# ufw default allow
Default incoming policy changed to 'allow'

# /etc/default/ufw
DEFAULT_INPUT_POLICY="ACCEPT"

- Outgoing Policy

# ufw default allow outgoing
Default outgoing policy changed to 'allow'

# /etc/default/ufw
DEFAULT_OUTPUT_POLICY="ACCEPT"

- Application Policy

# ufw app default allow
Default application policy changed to 'allow'

# /etc/default/ufw
DEFAULT_APPLICATION_POLICY="ACCEPT"

Regeln erstellen

- SSH Regel setzen Port 22

ufw allow|deny [proto <protokoll>] [from <adresse> [port <port>]] [to <addresse> [port <port>]] 
ufw allow proto tcp from any to any port 22

eine andere Variante die Regel zu setzen

ufw allow 22/tcp

- Port 22 bis 25 freigeben

ufw allow 22:25/tcp

- SSH Regel löschen

ufw delete allow 22/tcp

- Bereich der privaten IP-Adressen freigeben

ufw allow from 10.0.0.0/8
ufw allow from 172.16.0.0/12
ufw allow from 192.168.0.0/16

- unterschiedliche Schreibweisen

ufw allow proto tcp from any to any port 80
ufw allow 80/tcp

- Verbindungsanzahl einschränken, nicht mehr als 6 Verbindungen innerhalb von 30sek.

ufw limit www/tcp

 


 

 


 

 



 Seitenanfang

sonstiges

Iptables-Persistent

apt-get install iptables-persistent

- speichern der aktuellen IPTABLES Einstellungen für den nächsten Neustart.

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6