
easywall v2.4.1
Linux 上の nftables ファイアウォール向け Web インターフェース(Go 製)。適用は確認しない限り 120 秒後に自動的に元に戻るため、自分自身をロックアウトすることはありません。Debian & Docker インストール。
easywall
あなたのファイアウォール。あなたのルール。予期せぬことはなし。
あなたを締め出せない Web インターフェース経由の nftables: すべての適用は、あなたが確認しない限り自動的に元に戻ります。
コンセプト
ルールを編集しても何も変わりません。適用するとすべてが変わります — 120 秒間だけ。 新しいルールで接続が切れた場合、確認をクリックできません。そして確認しないことが、古いルールを復元する仕組みです。
アーキテクチャ
2 つのプロセス。ネットワークに公開される側は、奪う価値のある権限を一切持ちません。
オリジナルの easywall — Python、Flask、subprocess 経由の iptables — の完全な書き直しです。オリジナルは CVE の後、2022 年にアーカイブされました。両方の根本原因は解消されています: 権限は別プロセスに存在し、適用パスはコマンドラインではなく Go 構造体を構築します。仕組み →
インストール
# 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
その後 https://localhost:12227 を開きます。初回アクセス時に
アカウントの設定と最初のルールのステージングを行います。
できること
| ポート | TCP と UDP、単一または範囲指定、ルールごとの SSH ブルートフォースルーティング付き |
| ブロックリストと許可リスト | IPv4、IPv6、CIDR。あらゆるポートルールより先に評価 |
| 保護モジュール | 12 種類、うち 5 つがデフォルトで有効 — フラッド、スキャン、ボゴン、フラグメント、ブロードキャスト/マルチキャスト/エニーキャスト |
| ポートフォワーディング | プロトコル選択付きの NAT リダイレクト |
| カスタムルール | 生の nftables。適用前に構文チェック済み |
| エクスポート / インポート | ルールセット全体を JSON として |
| 監査ログ | 何がいつ変更されたか、1 行につき 1 つの JSON オブジェクト |
| Docker との共存 | table inet easywall を所有し、それ以外には一切触れない |
| 英語、ドイツ語、フランス語 | インターフェース上で切り替え可能。サインイン前も含む。言語は部分的でもよい: 不足部分は英語で表示され、そのギャップは隠されず報告される |
| ライト & ダーク | OS に追従、手動トグル付き。両方ともコントラスト検証済み |
使用技術
| Go 1.27、単一バイナリ | go-chi/chi · html/template |
google/nftables 経由の nftables | 直接 netlink、nft サブプロセスなし |
| Argon2id | golang.org/x/crypto、パスワードごとに 16 バイトのソルト |
| CSRF | net/http.CrossOriginProtection、Go 1.25 ネイティブ |
| デザインシステム | DESIGN.md + Tailwind v4 — サードパーティ UI ライブラリなし |
| フォント | Inter + JetBrains Mono、セルフホスト、約 145 KB — エアギャップ環境でも動作 |
| CI | govulncheck、gosec、CodeQL、-race、および実カーネルに対する統合テストスイート |
サポートを受ける
| 質問、または動作がおかしい場合 | Discord |
| バグ、または欲しい機能 | GitHub issues |
| セキュリティ脆弱性 | セキュリティアドバイザリ — Discord ではなく、公開 issue でもありません |
コントリビューション
セットアップ、コミット規約、レビューチェックリスト: CONTRIBUTING.md。
見た目に関わるものはすべて、まず DESIGN.md を経由します。
セキュリティ問題: 公開 issue としてではなく — GitHub Security Advisories をご利用ください。
ライセンス
GPL-3.0 — LICENSE を参照。