ブルート・フォース・アタック

私も長いことサーバ管理者をやってますが...こちらのページで紹介されているツールの一つを試してみました.
SSH パスワード認証に対する総当たり攻撃への対抗ツール

SSH のパスワード認証に対する総当たり攻撃 (辞書攻撃) への対応については付録 G にあるとおりなのですが、この中で

* パスワード認証の無効化
* ポート番号の変更

についてはできかねる、という場合も多々あろうかと思います。また最近は、キーボードを用いた対話的な認証に対しても攻撃が行われています。

 そのような場合には、パケットフィルタなどと組みあわせて、複数回ログインに失敗した場合にはアクセスを禁止する、ようにすると効果的です。このためのツールが複数存在します。

* Block brute force password attempts via SSH。 Advanced Policy Firewall が必要です。
* BlockHosts。tcp_wrapper に対応した SSH が必要です。
* BlockSSHD。 LinuxBSD に対応しています。BSD の場合は FreeBSD 5.x 以降や OpenBSD に装備されている pf が必要です。
* bruteblock。 FreeBSDMac OS X に装備されている ipfw が必要です。
* BruteForceBlockerFreeBSD 5.x 以降や OpenBSD に装備されている pf が必要です。
* DenyHOSTS。 tcp_wrapper に対応した SSH が必要です。 解説記事: Preventing SSH Dictionary Attacks With DenyHosts (howtoforge)
* DenySSH。 FreeBSD 5.x 以降や OpenBSD に装備されている pf が必要です。
* Fail2ban。iptables が必要です。SSH だけでなく、さまざまなプロトコルに対応しています。
* pam_abl。 PAM に対応した SSH が必要です。 解説記事: SSHへのブルートフォースアタックにpam_ablを用いて対策する (Open Tech Press)
* sshblack。 iptables, pf, ipfilter などと組みあわせて利用できます。
* sshdfilter。 iptables が必要です。
* sshguard。iptables, ipfw, pf, ipfilter, hosts.allow と組みあわせて利用できます。

試したのは,こちらです.
BlockSSHD download | SourceForge.net

BlockSSHD protects computers from SSH brute force attacks by dynamically blocking IP addresses by adding iptables rules

試すことにした理由は,1)簡単なperlスクリプトであり,改造が容易であること,2)同じく簡単なperlスクリプトであるので,OSに問わずBSDだろうがLinuxだろうが使えること,などです.
その結果は,結構面白いものでした.

自身がデーモンとなりログファイルを見張って,怪しそうなものをIPアドレスベースで見つけたら,iptablesなりipfilterなりでDROPの設定をかけ,その旨を管理者にメールします.
かなり便利です.

別にアタックの検出以外にでも,ログファイルを見張るような仕事には,改造すればどんなことにでも使えそうです.