ポート走査の検知には、それを見慣れたツールから分ける特徴が一つあります。Fail2ban はアプリケーションのログを読みます——ところが閉じたポートが走査されるとき、そこにアプリケーションはそもそも無く、したがってログにも記録がありません。走査はファイアウォールの層でしか見えず、そしてまさにそこで PSAD が働きます。拒否したパケットについて iptables が書くメッセージを読むのです。
必須の条件:ログ記録が有効であること
これが PSAD が「入れたのに何も表示しない」ことの主要な原因です。ファイアウォールにログ記録のルールが無ければ読むものが無く、しかもその間エラーは一切出ません。
UFW を使っているなら:
sudo ufw logging low
sudo ufw status verbose
メッセージが本当に来ていることを確かめるには:
sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log
どちらのコマンドもゼロなら PSAD は働きません。Debian 12 と Ubuntu 24.04 については別途:rsyslog が無ければファイル /var/log/ufw.log はそもそも存在せず、すべては systemd のジャーナルへ行きます——PSAD の設定でもログのパスはそれを踏まえる必要があります。
インストール
sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status
最後のコマンドが肝心です。どれだけのパケットが解析され、どのアドレスがどの危険度で見られたかを示します。解析されたパケットのカウンタがゼロなら、前の節へ戻ってください。問題は走査が無いことではなく、ログ記録のほうにあります。
設定は /etc/psad/psad.conf にあります。実務的に意味のあるパラメータは多くありません。メールのアドレス、ログのパス、そして危険度の閾値です。
危険度
PSAD は、いくつの異なるポートが触られたか、そして振る舞いが既知の走査手法にどれだけ似ているかに基づいて、各発信元に 1 から 5 の等級をつけます。
- 1–2——閉じたポートへの散発的な接触。これはインターネットの恒常的な背景であり、反応は不要です;
- 3——ポートを組織的に見て回るもの。たいていは調査用のスキャナで、ネットワークには何十も存在します;
- 4–5——同一のアドレスから多数のポートを意図的に探る動き。しばしば接触の性質を隠そうとする試みを伴います。
メールの閾値は EMAIL_ALERT_DANGER_LEVEL で決めます。3 という値はたいてい一日に数通のメールを意味し、それはかなり早くメールソフトの振り分け規則へ行き着きます。より妥当なのは 4 にして、残りはどこかのまとめページで見ることです。
自動遮断:やめておく
PSAD 自身もファイアウォールにルールを足せます(ENABLE_AUTO_IDS)。そして一台で動いているサーバーでそれを有効にするのは適切ではなく、理由は堅いものです。パケットの送信元アドレスは偽装できます。誰かがアドレスを差し替えたパケットをあなたへ送りさえすれば——あなたはその人が選んだアドレスを遮断することになります。そしてそれはあなた自身の顧客、決済ゲートウェイ、監視サービスであり得ます。
それでも遮断が必要なら、高い危険度の閾値で、そして必ず時間制限(AUTO_BLOCK_TIMEOUT)つきで有効にしてください。誤った項目が永久に残らないようにするためです。
実務ではそれをどうするか
走査そのものは無害です。何も壊しませんし、誰に対しても絶えず起きています。PSAD のデータの価値は出来事そのものではなく、その性格の変化にあります。
役に立つ観察:
- 狙いを定めた関心。普通のスキャナは何千ものアドレスと十いくつの人気ポートを回ります。しかし誰かが非標準のポートも含め、まさにあなたのサーバーのポートを組織的に探っているなら、それはもう背景ではありません;
- 特定の一つのポートへの走査。データベースやコントロールパネルのポートへの接触は、誰かがまさにそのサービスを探していることを意味します——たいていはその新しい脆弱性の報せの後に;
- 行動前の偵察。走査の急増、そして数時間後に同じ範囲からのパスワード推測、というのはよくある並びであり、その前半は少しの時間を買ってくれます。
そしてこれらの観察のどれから出る実務的な結論も同じです。外を向いているポートの一覧が想定と一致していること、そして各ポートで動いているものが今年あなたが更新したものであることを確認してください。
ツールの中での位置づけ
PSAD はファイアウォールの代わりでも、Fail2ban の代わりでも、どんな侵入検知システムの代わりでもありません。それは狭い空白を埋めます——どのアプリケーションにも届かなかったがゆえに、他のどこにも痕跡を残さない試みという空白です。値段は低く、最初に走らせた後は世話も要らず、そしてそのまとめは、他の方法では誰も問わない問いに答えます。一般的な背景のほかに、誰かがあなたのサーバーに関心を持っているのかどうか、という問いです。そのまとめがどう見えるかは下のデモページで。