Maxの日記: [mdk] mod_antihak
配布元:
http://apantihak.sourceforge.net/
・Nimda/CodeRed/Sadmindの3種のワームに対する防御
・iptables/ipchainsをモジュール内から呼び出し、アタックを
仕掛けて来たIPアドレスに対してリジェクトルールを自動的に
設定
ずいぶんと長い間更新されてないが(苦笑)
ソースを見るとワームのパターン定義部分は非常にシンプルな
ので、追加は容易だ。ただ、できるならコンフィグレーション
ファイルからこれは読みとってほしいところ。
httpdがワームによる不要な負荷にさらされるのを回避するため
の機能。iptables/ipchainsに追加された拒否ルールを解除する
には後で手動にて行う必要がある。
動作例は下記のとおり。実際に設定中にあったアタックがはじか
れた様子(IPアドレスは隠しておく)。
httpdログより抜粋-----ワームによるアタック形跡------
xxx.xxx.xxx.xxx - - [23/Feb/2003:00:23:26 +0900] "GET /scripts/root.exe?/c+dir HTTP/1.0" 200 408 "-" "-"
直後のiptables状態----------------------------------
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT tcp -- xxx.xxx.xxx.xxx anywhere tcp dpt:http reject-with icmp-port-unreachable
[snip]
テスト方法:
1) http://yourhost/scripts/root.exe?/c+dir にアクセス
2) 次の様なメッセージがブラウザに表示される
-------------------------------------------------
You (211.123.100.114) are banned
Detected: Nimda/Hack
Affects: IIS4.0/IIS5.0
Description: Popular Internet Worm as-at September 2001
Contact: root@localhost
-------------------------------------------------
3) 次回のアクセスは接続自体が拒否される。
解除方法:
1) スーパユーザログイン
2) iptables -L を実行する
3) 解除したいIPを含むルールNo.を探す
4) iptables -D INPUT <No.> で解除。
気をつけなきゃいけないのは、DHCP環境で動的に割り当てら
れたIPからのアタックの場合、IPアドレスは刻々と変わるので、
iptablesに登録されたアドレス一覧は放置しておくとどんどん
膨らむ一方になるということ。攻撃されてもすぐに遮断できる
訳だから、適当な間隔で登録内容を解除するように、cronで
解除のためのシェルスクリプトを回すという方法を併用した
方がいい。
遠隔地にあるサーバをリモートメンテしている最中に、
自社のLANに感染したPCからのアタックとかぶってしまい
突然デバッグ中のサイトが見えなくなってパニくってしまった
例を聞いたことがある。まぁ、そういうところは自社にNimda
なんぞを飼っている位だから、そもそもレベルは・・・(以下略
[mdk] mod_antihak More ログイン