UFW-Regel-Generator
Linux-Sicherheit & Infrastruktur-Automatisierung

Ubuntu UFW Firewall-Regeln & Skript-Generator

Entwickler-Werkzeug für ufw-rules-generator.

Sicherheitsbewertung: 100/100
100% Client-seitig
Vorlagen:
Globale Firewall-Richtlinien & Dienst-Whitelist
Eingehend: DENY•Ausgehend: ALLOW•IPv6: Dual-Stack
Schnell-Dienst-Injektor (1-Klick-Whitelist)
Konfigurierte Regeltabelle (5)Kontrollkästchen zum Aktivieren/Deaktivieren umschalten
#1limitIN22/tcp
#2allowIN80/tcp
#3allowIN443/tcp
#4allowIN3306/tcpvon 10.0.0.0/16auf eth1
#5allowIN6379/tcpvon 127.0.0.1auf lo
#!/usr/bin/env bash
# ==============================================================================
# Ubuntu UFW (Uncomplicated Firewall) Production Provisioning Script
# Generated securely via ToolsAA (https://toolsaa.com/tools/ufw-rules-generator)
# 100% Client-Side Private • Zero-Knowledge Architecture
# ==============================================================================
set -euo pipefail

# Ensure script is executed with root superuser privileges
if [[ $EUID -ne 0 ]]; then
  echo -e "\033[0;31m[ERROR]\033[0m This script must be run as root: sudo bash $0" >&2
  exit 1
fi

# Step 1: Ensure UFW package is installed and active
if ! command -v ufw &>/dev/null; then
  echo ">>> [INSTALL] UFW not detected. Installing via apt-get..."
  export DEBIAN_FRONTEND=noninteractive
  apt-get update -y && apt-get install -y ufw iptables iptables-persistent
fi

# Step 2: Create atomic timestamped backup of current firewall configuration
BACKUP_DIR="/etc/ufw/backups/ufw_backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
if [[ -d /etc/ufw ]]; then
  cp -r /etc/ufw/*.rules /etc/default/ufw "$BACKUP_DIR/" 2>/dev/null || true
  echo ">>> [BACKUP] Saved existing configuration to $BACKUP_DIR"
fi

# Step 3: Configure IPv6 policy in /etc/default/ufw
if [[ -f /etc/default/ufw ]]; then
  sed -i 's/^IPV6=.*/IPV6=yes/' /etc/default/ufw
  sed -i 's/^DEFAULT_FORWARD_POLICY=.*/DEFAULT_FORWARD_POLICY="DROP"/' /etc/default/ufw
fi

# Step 4: Reset UFW to a clean baseline (force non-interactive)
echo ">>> [RESET] Resetting UFW to pristine baseline..."
ufw --force reset

# Step 5: Set Global Default Policies
ufw default deny incoming
ufw default allow outgoing
ufw default deny routed
ufw logging low

# Step 6: Loopback (lo) Interface Whitelist
ufw allow in on lo comment 'Allow local loopback incoming'
ufw allow out on lo comment 'Allow local loopback outgoing'

# Step 7: Apply User Defined Firewall Rules
ufw limit 22/tcp comment 'Rate limited SSH access against brute force'
ufw allow 80/tcp comment 'Public HTTP web traffic'
ufw allow 443/tcp comment 'Public HTTPS SSL/TLS traffic'
ufw allow in on eth1 from 10.0.0.0/16 to any port 3306 proto tcp comment 'Internal VPC MySQL cluster replication'
ufw allow in on lo from 127.0.0.1 to any port 6379 proto tcp comment 'Local Redis key-value cache'

# Step 9: Enable Firewall & Verify State
echo ">>> [ENABLE] Activating UFW firewall rules..."
ufw --force enable

echo -e "\n\033[0;32m[SUCCESS]\033[0m UFW Firewall has been configured and activated!"
echo ">>> Active Firewall Status:"
ufw status verbose
echo ""
echo ">>> Numbered Rule List (use: sudo ufw delete <number> to modify):"
ufw status numbered
Aktive Firewall-Regeln
5/ 5 definiert
Eingehend: DENY • Ausgehend: ALLOW
Geöffnete Ports
22, 80, 443, 3306...
0 DNAT-Weiterleitungen • IPv6: Aktiviert
Sicherheitshärtung
100/1000 Warnung(en)
SSH-Ratenbegrenzung aktiv

100% Client-seitige Privatsphäre

Alle Firewall-Regeln und Skripte werden lokal in Ihrem Browser generiert. Es werden keinerlei Server- oder Netzwerkinformationen übertragen.

Produktionshärtung & Schutz

Standardmäßige Ablehnung, SSH-Brute-Force-Begrenzung und Loopback-Schutz verhindern versehentliche Fernzugriffs-Aussperrungen.

DevOps Multi-Format Export

Exportieren Sie einsatzbereite Bash-Skripte mit Rollback-Funktion, Before.rules-NAT-Blöcke oder automatisierte Ansible-Playbooks.

Technische Referenz & Architektur-Leitfaden

Ufw Rules Generator Entwickler-Referenz — Referenz-Leitfaden

Entwickler-Werkzeug für ufw-rules-generator.

Wichtige Parameter & Steuerelemente

action'allow' | 'deny' | 'reject' | 'limit'

Paketfilterungsentscheidung für Datenverkehr, der den angegebenen Ports, Protokollen und CIDR-Bereichen entspricht.

Standard: allow
direction'in' | 'out'

Flussrichtung der Datenpakete relativ zu lokalen Netzwerkschnittstellen ('in' für Eingehend, 'out' für Ausgehend).

Standard: in
protocol'tcp' | 'udp' | 'any'

Transportprotokoll auf Layer 4 für den Paketabgleich ('tcp', 'udp' oder protokollunabhängiges 'any').

Standard: tcp
defaultIncoming'deny' | 'reject' | 'allow'

Globale Standard-Firewall-Richtlinie für alle unaufgeforderten eingehenden Verbindungen.

Standard: deny
logging'off' | 'low' | 'medium' | 'high' | 'full'

Protokollierungsstufe für Kernel-Paketereignisse in /var/log/ufw.log und syslog.

Standard: low
enableNatMasqueradeboolean

Aktiviert IP-Masquerading in der iptables-POSTROUTING-Kette für privates Subnetz-Routing.

Standard: false

Profi-Tipps & Best Practices

SSH-Brute-Force-Schutz Rate

Verwenden Sie für Port 22/tcp die Aktion `limit` statt `allow`. UFW blockiert automatisch IP-Adressen, die innerhalb von 30 Sekunden 6 oder mehr Verbindungsversuche initiieren.

Spezifische Regeln Voranstellen

UFW wertet Regeln sequenziell nach dem First-Match-Prinzip aus. Spezifische IP-Quellfreigaben für Management-Subnetze müssen vor allgemeinen Blockierungsregeln platziert werden.

Docker-Port-Bypass Absichern

Docker umgeht UFW-Eingangsketten standardmäßig über eigene iptables-Einträge. Fügen Sie Filter in `/etc/ufw/after.rules` unter DOCKER-USER ein oder setzen Sie `iptables: false` in `/etc/docker/daemon.json`.

Häufige Fallstricke & Fehlerbehebung

SSH-Verbindung bricht sofort nach Ausführung von 'ufw enable' ab

Fügen Sie vor der Aktivierung stets explizit `ufw allow 22/tcp` hinzu. Bei Aussperrungen auf Cloud-Servern nutzen Sie die serielle Notfall-/VNC-Konsole des Providers, um `ufw disable` auszuführen.

Veröffentlichte Docker-Ports umgehen UFW-Sperrregeln

Docker manipuliert iptables vor den UFW-Ketten. Tragen Sie `"iptables": false` in `/etc/docker/daemon.json` ein oder definieren Sie Schnittstellenfilter in `/etc/ufw/after.rules` innerhalb der DOCKER-USER-Kette.

Häufig gestellte Fragen (FAQ)

Überschreibt UFW Port-Freigaben, die über docker run -p definiert wurden?▼

Nein. Docker erstellt eigene iptables-Ketten (PREROUTING und DOCKER), die vor den UFW-Regeln greifen. Port-Weiterleitungen an Container umgehen Standard-UFW-Filter, sofern keine Anpassung der DOCKER-USER-Kette erfolgt.

Worin besteht der funktionale Unterschied zwischen deny und reject in UFW?▼

Die Aktion 'deny' verwirft Pakete lautlos, sodass Gegenstellen bis zum Timeout warten müssen. 'reject' blockiert das Paket und sendet sofort ein TCP-RST oder ICMP-Port-Unreachable-Paket zurück, was die Verbindung unverzüglich beendet.

Bleiben UFW-Regeln nach einem Neustart des Betriebssystems dauerhaft erhalten?▼

Ja. UFW persistiert Konfigurationen in `/etc/ufw/user.rules` und `/etc/ufw/user6.rules`. Der systemd-Dienst `ufw.service` liest diese Tabellen während des Systemstarts automatisch wieder ein.

Werden generierte Firewall-Regeln an externe Server übertragen oder gespeichert?▼

Nein. Alle Skripte, Regeln und Ansible-Tasks werden ausschließlich lokal in Ihrer Browser-Laufzeitumgebung erzeugt. Es fließen keinerlei Netzwerktopologien oder Serverkonfigurationen über externe APIs.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →