sshやftp等に対する総当り攻撃を防いでくれるBlackHostsなるスクリプトを導入してみました。これはtcp wrapperベースのソフトに対してログインの失敗やアタックを検出するとそのIPアドレスからの次からのアクセスを禁止してしまうものです。iptablesやiprouteにも使えるようです。
- BlockHosts | A C Zoom
- Preventing Brute Force Attacks With BlockHosts On Debian Etch | HowtoForge - Linux Howtos and Tutorials
- ある管理者の戯言(日記) - 今日のお仕事
私のところではiptablesのルールベースでの連続接続の拒否と、geoipベースの国別アクセス禁止、たまーに更新するブラックリスト方式で対策していますが、国内からのアタックに関してはiptables方式だけ。個人的にsshなんていう危ないサービスは出来れば2-3種類の防御をしたいのですが、手動でのリスティングは長期間維持するのはほぼ不可能。丁度いい感じです。
インストールはCentOS5に行いましたが、pythonさえ入っていれば、後はダウンロード展開、セットアップするだけです。
wget http://www.aczoom.com/tools/blockhosts/BlockHosts-2.0.5.tar.gz
tar xvfz BlockHosts-2.0.5.tar.gz
cd BlockHosts-2.0.5
sudo python setup.py install
後は設定ファイル/etc/blockhosts.cfgを適当に編集。
/etc/hosts.allowに
sshd: ALL: spawn /usr/bin/blockhosts.py : allow
iptablesでの拒否とは時間や回数を別パターンに。iptablesは早目で回数も適当に設定しているので、もう少しゆっくりなアタックも検出できるように設定してみました。今のところiptablesで十分そうですが、いずれ役に立ってくれるときが来るかもしれません。
関連エントリー:
メールやトラックバックなどのスパムブロックも同じですが、全般的にセキュリティ絡みでは複数の防御点、複数のソフトやパターンで行うのが安全ですよね。ほんとはISPでも対策してもらえればうれしいんですけど。