Benutzer-Werkzeuge

Webseiten-Werkzeuge


aufgaben:sicherheit:firewall:ufw

Dies ist eine alte Version des Dokuments!


UFW - Übungen

Leichte Übungen

Installation und Statusüberprüfung

  • Installiere ufw, falls es nicht bereits installiert ist:

Lösung

Lösung

sudo apt install ufw  # Für Debian/Ubuntu  
sudo dnf install ufw  # Für Fedora  
sudo pacman -S ufw    # Für Arch Linux


  • Überprüfe den aktuellen Status der Firewall:

Lösung

Lösung

sudo ufw status


  • Aktiviere ufw und überprüfe erneut den Status:

Lösung

Lösung

sudo ufw enable  
sudo ufw status


Grundlegende Regeln setzen

  • Erlaube eingehenden SSH-Zugriff (`22/tcp`):

Lösung

Lösung

sudo ufw allow 22/tcp


  • Erlaube HTTP (`80/tcp`) und HTTPS (`443/tcp`):

Lösung

Lösung

sudo ufw allow 80/tcp  
sudo ufw allow 443/tcp


  • Verbiete explizit alle eingehenden Verbindungen außer denen, die explizit erlaubt wurden:

Lösung

Lösung

sudo ufw default deny incoming  
sudo ufw default allow outgoing


  • Überprüfe die gesetzten Regeln:

Lösung

Lösung

sudo ufw status verbose


Mittelschwere Übungen

Regeln mit IP-Adressen und Subnetzen

  • Erlaube nur Verbindungen von der IP-Adresse `192.168.1.100` auf Port `22/tcp`:

Lösung

Lösung

sudo ufw allow from 192.168.1.100 to any port 22 proto tcp


  • Erlaube Zugriff auf Port `3306` (MySQL), aber nur aus dem Subnetz `192.168.1.0/24`:

Lösung

Lösung

sudo ufw allow from 192.168.1.0/24 to any port 3306


  • Teste die Regeln:

Lösung

Lösung

sudo ufw status verbose


Logging aktivieren und testen

  • Aktiviere das Logging:

Lösung

Lösung

sudo ufw logging on


  • Erlaube `ICMP`-Pakete für `ping`:

Lösung

Lösung

sudo ufw allow proto icmp


  • Blockiere alle anderen eingehenden Verbindungen:

Lösung

Lösung

sudo ufw default deny incoming


  • Führe einen Verbindungsversuch durch und überprüfe die Logs:

Lösung

Lösung

sudo journalctl -xe | grep UFW


Komplexe Übungen

Benutzerdefinierte Regeln und Skripte

  • Erstelle eine Regel, die nur von Montag bis Freitag zwischen 08:00 und 18:00 Uhr Zugriff auf `22/tcp` erlaubt:

Lösung

Lösung

echo "0 8 * * 1-5 root ufw allow 22/tcp" | sudo tee -a /etc/crontab  
echo "0 18 * * 1-5 root ufw deny 22/tcp" | sudo tee -a /etc/crontab


  • Schreibe ein Bash-Skript, das die aktuellen `ufw`-Regeln sichert und eine neue Regel zum Blockieren einer bestimmten IP hinzufügt:

Lösung

Lösung

#!/bin/bash  
sudo ufw status numbered > ufw_backup_$(date +%F).txt  
sudo ufw deny from 203.0.113.42


IPv6-Regeln verwalten

  • Stelle sicher, dass `ufw` IPv6 unterstützt (`/etc/default/ufw` → `IPV6=yes`):

Lösung

Lösung

sudo nano /etc/default/ufw


* Erstelle eine Regel, die nur IPv6-Verbindungen auf Port `443` erlaubt:

Lösung

Lösung

sudo ufw allow 443/tcp from any to any proto tcp


  • Teste den Zugriff mit IPv6:

Lösung

Lösung

curl -6 https://example.com


Erweiterte Logs und Analyse

  • Erstelle eine Regel, die eingehenden `SSH`-Verkehr (`22/tcp`) protokolliert:

Lösung

Lösung

sudo ufw allow log 22/tcp


  • Analysiere die Log-Dateien, um herauszufinden, ob unerwartete Verbindungen auftreten:

Lösung

Lösung

sudo journalctl -u ufw --no-pager | tail -n 20


  • Erstelle eine Regel, um eine IP zu sperren, die zu viele fehlgeschlagene Verbindungsversuche unternimmt:

Lösung

Lösung

sudo ufw deny from 192.168.1.200


aufgaben/sicherheit/firewall/ufw.1740320755.txt.gz · Zuletzt geändert: (Externe Bearbeitung)