
easywall v2.4.1
Linux 上の nftables ファイアウォール向け Web インターフェース(Go 製)。適用は確認しない限り 120 秒後に自動的に元に戻るため、自分自身をロックアウトすることはありません。Debian & Docker インストール。
easywall
あなたのファイアウォール。あなたのルール。想定外はありません。
nftablesを、あなたを締め出せないWebインターフェースで: すべての適用は、確認しない限り元に戻ります。
コンセプト
ルールを編集しても何も変わりません。適用するとすべてが変わります — 120秒間だけ。 新しいルールによって接続が遮断された場合、確認(Confirm)をクリックできなくなり、確認をしないことが旧ルールを復活させます。
アーキテクチャ
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.26+, 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 のみを管理し、他のものには一切触れません |
| 英語 & ドイツ語 | インターフェースで切り替え可能。サインイン前でもOK |
| ライト & ダーク | OSに追従し、手動トグルも可能。両方コントラスト検査済み |
使用技術
| Go 1.26、単一バイナリ | 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、セルフホスト、約145KB — オフライン環境でも動作 |
| CI | govulncheck、gosec、CodeQL、-race、および実カーネルに対する統合テストスイート |
ロードマップ
正確性が最優先: 静かに宣伝より少ない機能しか提供しないファイアウォールは、少ない機能を明言するものより悪い。
| 2.6 | ルール数ではなく意味を検証する統合テスト |
| 2.7 | アイデンティティ — ソケットプロトコルでのユーザー、次にログインイベント、その後マルチアカウント、そして2FA |
| 2.8 | トークン認証付きREST API、オプションとしてACME、オプトインの信頼済みリバースプロキシ |
| 2.9 | オプトインによるインストール数の集計 |
それぞれがなぜそのタイミングで追加されるのか、また集計が何を送信するのか: ロードマップ →
ヘルプ
| 質問、または動作がおかしい場合 | Discord |
| バグ、または欲しい機能 | GitHub issues |
| セキュリティ脆弱性 | Security advisory — Discord ではなく、公開 issue でもありません |
コントリビューション
セットアップ、コミット規約、レビューチェックリスト: CONTRIBUTING.md。ビジュアルに関するものは、まず DESIGN.md を通します。
セキュリティ問題: 公開issueとしては扱いません — GitHub Security Advisories を使用してください。
ライセンス
GPL-3.0 — LICENSE を参照。