Retour aux mises à jour
New releaseSep 4, 2026

easywall v2.14.0

Interface web pour le pare-feu nftables sous Linux, écrite en Go. La commande apply s'annule automatiquement après 120 secondes, sauf si vous la confirmez — vous ne pouvez pas vous verrouiller hors du système. Installation via Debian et Docker.

Partager

easywall

Your firewall. Your rules. No surprises.

Tests Build Security Coverage

Latest release Go version GPL-3.0 Discord Support on Ko-fi

Démo en direct · Documentation · Journal des modifications

nftables via une interface web qui ne peut pas vous verrouiller dehors : chaque application s'annule d'elle-même à moins que vous ne la confirmiez.

Le tableau de bord easywall : état du pare-feu avec état d'acceptation, modifications en attente et dernière application ; des tuiles comptant les ports TCP, les ports UDP, la liste de blocage, la liste d'autorisation, les règles personnalisées et le transfert de ports ; et une liste d'activité récente.

L'idée

Modifier une règle ne change rien. L'appliquer change tout — pendant 120 secondes. Si les nouvelles règles coupent votre connexion, vous ne pouvez pas cliquer sur Confirmer, et c'est le fait de ne pas confirmer qui rétablit les anciennes règles.

Automate à états : la modification mène à Préparé, l'application mène à Actif, la confirmation dans la fenêtre mène à Confirmé, et l'expiration de la fenêtre mène à Annulé, d'où les modifications préparées restent disponibles.

Architecture

Deux processus. Celui exposé au réseau ne détient aucun privilège qui vaille la peine d'être volé.

Le navigateur communique en HTTPS avec easywall-web, qui s'exécute sans privilèges ; easywall-web communique en JSON typé via une socket Unix avec easywall-core, qui s'exécute en tant que root et dialogue en netlink avec la table nftables inet easywall.

Une réécriture complète de l'easywall original — Python, Flask, iptables via subprocess — qui a été archivé en 2022 après une CVE. Les deux causes racines ont disparu : les privilèges résident dans un processus différent, et le chemin d'application construit des structures Go au lieu d'une ligne de commande. Comment ça fonctionne →

Installation

Arbre de décision : une simple découverte mène au mode démo ; Debian ou Ubuntu mène au paquet .deb ; des conteneurs déjà en cours d'exécution mènent à Docker ; sinon, compilation depuis les sources.
# 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

Ouvrez ensuite https://localhost:12227. La première visite configure le compte et prépare les premières règles.

Ce que vous obtenez

PortsTCP et UDP, simple ou plage, avec routage anti-force brute SSH par règle
Liste de blocage et liste d'autorisationIPv4, IPv6 et CIDR, évaluées avant toute règle de port
Modules de protectionDouze, cinq activés par défaut — floods, scans, bogons, fragments, broadcast/multicast/anycast
Redirection de portsRedirections NAT avec sélection du protocole
Règles personnaliséesnftables brut, vérifié syntaxiquement avant application
Export / importL'ensemble des règles au format JSON
Journal d'auditCe qui a changé et quand, un objet JSON par ligne
Coexistence avec DockerPossède table inet easywall, ne touche à rien d'autre
English, Deutsch, FrançaisModifiable dans l'interface, y compris avant la connexion. Une langue peut être partielle : ce qui manque s'affiche en anglais, et l'écart est signalé plutôt que masqué
Clair et sombreSuit le système d'exploitation, avec un basculement manuel ; les deux sont vérifiés en contraste

Construit avec

Catégories