
easywall v2.14.0
Weboberfläche für die nftables-Firewall unter Linux, geschrieben in Go. Das Anwenden macht sich nach 120 Sekunden selbst rückgängig, sofern du es nicht bestätigst — du kannst dich also nicht aussperren. Debian- & Docker-Installation.
easywall
Deine Firewall. Deine Regeln. Keine Überraschungen.
Live-Demo · Dokumentation · Changelog
nftables über eine Weboberfläche, die dich nicht aussperren kann: jede Anwendung macht sich selbst rückgängig, sofern du sie nicht bestätigst.
Die Idee
Eine Regel zu bearbeiten ändert nichts. Sie anzuwenden ändert alles — für 120 Sekunden. Wenn die neuen Regeln deine Verbindung kappen, kannst du nicht auf Bestätigen klicken, und nicht zu bestätigen ist genau das, was die alten Regeln zurückbringt.
Architektur
Zwei Prozesse. Derjenige, der dem Netzwerk ausgesetzt ist, besitzt keine Privilegien, die es wert wären, gestohlen zu werden.
Eine vollständige Neuimplementierung des ursprünglichen easywall — Python, Flask, iptables via
subprocess — das 2022 nach einer CVE archiviert wurde. Beide Ursachen sind beseitigt:
die Privilegien liegen in einem anderen Prozess, und der Apply-Pfad baut Go-Structs
statt einer Kommandozeile. So funktioniert es →
Installation
# Debian / Ubuntu — amd64 and arm64
ARCH=$(dpkg --print-architecture)
wget https://github.com/jp1337/easywall/releases/latest/download/easywall_$ARCH.deb
sudo dpkg -i easywall_$ARCH.deb && sudo apt-get install -f
# Docker
git clone https://github.com/jp1337/easywall.git && cd easywall && docker compose up -d
# From source — Go 1.27+, nftables
git clone https://github.com/jp1337/easywall.git && cd easywall
make build && sudo make install
sudo systemctl enable --now easywall-core easywall-web
Öffnen Sie dann https://localhost:12227. Der erste Besuch
richtet das Konto ein und legt die ersten Regeln an.
Was Sie erhalten
| Ports | TCP und UDP, einzeln oder als Bereich, mit SSH-Brute-Force-Routing pro Regel |
| Blocklist & Allowlist | IPv4, IPv6 und CIDR, ausgewertet vor jeder Portregel |
| Schutzmodule | Zwölf, fünf standardmäßig aktiv — Floods, Scans, Bogons, Fragmente, Broadcast/Multicast/Anycast |
| Portweiterleitung | NAT-Redirects mit Protokollauswahl |
| Benutzerdefinierte Regeln | Rohes nftables, vor dem Anwenden syntaxgeprüft |
| Export / Import | Der gesamte Regelsatz als JSON |
| Audit-Log | Was sich wann geändert hat, ein JSON-Objekt pro Zeile |
| Docker-Koexistenz | Besitzt table inet easywall, berührt nichts anderes |
| Englisch, Deutsch, Französisch | In der Oberfläche umschaltbar, auch vor der Anmeldung. Eine Sprache kann unvollständig sein: Fehlendes wird auf Englisch angezeigt, und die Lücke wird gemeldet statt verborgen |
| Hell & dunkel | Folgt dem Betriebssystem, mit manuellem Umschalter; beide kontrastgeprüft |