サーバーごとに別々に確認しなければなりません
誰がブロックされたかを知るには、サーバーごとに SSH でログインして fail2ban-client を叩く必要があります。同じ IP が複数のサーバーを狙っていることも見えません。
SSem SecuMon は、VPS・自宅サーバーを自分で運用する個人のための無料の fail2ban 統合監視コンソールです。各サーバーに小さなエージェントを置くだけで、いま誰がブロックされているか、何回目の再犯かをひとつの画面で確認でき、バン · アンバン · アドレス帯ブロック · 国別ブロックまで署名付きコマンドで実行できます。
| IP | サーバー | jail | 再犯段階 | 国 | 残り時間 |
|---|---|---|---|---|---|
| 203.0.113.45 | web-01 · vpn-gw | sshd | 4段階目 · 8時間 | XA | 5時間12分 |
| 198.51.100.7 | vpn-gw | sshd | 2段階目 · 2時間 | XB | 1時間40分 |
| 203.0.113.201 | home-nas | sshd | 3段階目 · 4時間 | XC | 3時間5分 |
| 192.0.2.88 | web-01 | apache-auth | 1段階目 · 1時間 | XD | 24分 |
画面例のサーバー名・IP・国は架空のものです(IP はドキュメント用の予約アドレス帯、国コード XA–XD は例示用)。
インターネットに公開されたサーバーは、1日に数千回もの接続試行を受けます。fail2ban が防いでくれますが、サーバーが2台以上になるだけで見えないものが出てきます。
誰がブロックされたかを知るには、サーバーごとに SSH でログインして fail2ban-client を叩く必要があります。同じ IP が複数のサーバーを狙っていることも見えません。
再犯ほど長くブロックしますが、時間が経てばまた開きます。3回目に来る相手はミスではなく、執拗に狙い続けている相手です。
数千ものアドレス帯をサーバーごとにファイアウォールへ登録し、更新し続けるのは手間がかかります。一度でも間違えると、自分の接続まで切れてしまいます。
確認 · ブロック · 広範囲のブロックを、ひとつのコンソールで行います。以下の画面はすべて架空のサンプルデータです。
バン一覧で IP をクリックすると、その IP をバンしたサーバー、バン履歴、現在の段階と次回バンの予測時間が1か所にまとまります。
バン履歴 — 1時間 → 2時間 → 4時間 → 8時間
アドレス帯ブロックは最も危険な機能なので、ミスを防ぐ仕組みを何重にも用意しています。ブロックするアドレス帯をもう一度入力しないと実行されず、デフォルトでは30日後に自動で解除されます。
保護アドレス帯(プライベートアドレス・VPN・自分のサーバー)はブロックできません。
233か国の中から選んだ国の IP アドレス帯を、サーバーのファイアウォールに登録します。オンにするとすぐにリストを取得し、30秒以内にすべてのサーバーへ適用します。
権威 DNS(53)は常に許可されます。メール受信・VPN を運用している場合は、先にガイドを確認してください。
見ること、止めること、そして自動で止めることまで — 個人サーバー数台に必要なぶんだけを詰め込みました。
すべてのサーバーの現在のバン · 累積バン · 再犯 IP · 推移をひとつの画面で確認できます。サーバー1台に絞り込んで見ることもできます。
fail2ban の指数バン(1 · 2 · 4 · 8…倍)を読み取り、いま何段階目か、次はどれだけブロックされるかを表示します。
画面から直接コマンドを送ります。サーバーのエージェントが署名を確認してから実行し、結果はコマンド履歴に残ります。
広さの制限 · 保護アドレス帯 · 確認入力 · 自動解除(デフォルト30日)でミスを防ぎます。すでにより広い範囲でブロック済みなら、スキップします。
累積3回以上バンされた IP を、すべてのサーバーで30日間ブロックします。単一 IP のみ、1回あたり最大20件、すべて記録して通知します。
Spamhaus DROP · FireHOL level1 を1日1回取得し、すべてのサーバーに適用します。自分のアドレス帯と重なる項目は先に除外します。
選んだ国のアドレス帯を、サーバーのファイアウォールの専用リストに登録します。オフにするとそのリストだけを空にします — ほかのブロックはそのままです。
バンされた IP だけを AbuseIPDB に報告し、レピュテーションを照会します。自動ブロックとリストの変更は Telegram で通知します。キーはコンソールサーバーにだけ置きます。
すべての執行 · 報告 · ログインが記録されます。閲覧専用 · オペレーター · 管理者の3つのロールと、TOTP による2段階認証を使います。
コンソールがサーバーへコマンドを送り込むことはありません。サーバーのエージェントが先にコンソールへ接続して状態を送り、署名付きコマンドを受け取って自分で検証してから実行します。
SecuMon は fail2ban のルールと混ざらない、専用の nftables テーブルを使います。ブロックは3つの層に分かれているので「なぜブロックされたのか」がわかり、ひとつの層を更新してもほかの層はそのままです。
サーバーを守るために導入したツールが、新たな穴にならないように作りました。
準備中インストールファイルの配布は準備中です。
必要なものとインストール手順は、無料ガイドで先にご確認ください。
必要なものから最初のブロックまで、個人サーバー1台を前提に順を追って案内します。
国別ブロックの前に必ず知っておくべきことも、あわせてまとめました。
ご質問は halo@levelupsoft.com まで