Apache での WORM_AGOBOT 対策

Posted by yoosee on Debian at 2004-05-24 23:42 JST

*1  WebDAV 狙いの WORM アクセス

1,2 週間程前から、Windows プラットフォームの WebDAV を狙ったらしい SEARCH メソッドのアクセスが apache の log に大量に残るようになった。例えばこんな感じだ。
218.xx.xx.xx - - [21/May/2004:09:57:47 +0900] "SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\.....
このリクエストは 1 アクセスが 32KB もあるので性能的にもログ的にも鬱陶しくて仕方がない。

*2  アクセスログの分離

根本対策にはならないが、access.log が肥大化して鬱陶しいため、まずはログを分離する。AGOBOT の場合、Nimda のような SetEnvIf での分離は難しい。しかしこの手の WORM は HTTP/1.1 の Host: 無しで IP アドレスに対してアクセスしてくるので、VirtualHost で IP アドレスへのアクセスを分けてやるのが有効らしい。
NameVirtualHost xx.xx.xx.xx
<VirtualHost xx.xx.xx.xx>
ServerName dummy
DocumentRoot /home/www/defaults/www/
CustomLog /var/log/apache/defaults/full.log full
ErrorLog /var/log/apache/defaults/error.log
</VirtualHost>

<VirtualHost yoosee.net>
ServerName yoosee.net
ServerAlias www.yoosee.net yoosee.net
ServerAdmin webmaster@yoosee.net
DocumentRoot /home/www/yoosee.net/www/
CustomLog /var/log/apache/yoosee.net/full.log full
ErrorLog /var/log/apache/yoosee.net/error.log
</VirtualHost>
といった感じで log を分離する。log が必要ない場合は Log ファイル名を /dev/null にしてしまうと良い。

*3  SEARCH Method の拒否

そもそも SEARCH Method は WebDAV 用の method なので apache で処理する必要はない。逆に apache には無い method なので単純に Limit での拒否はできない。と言うことで LimitExcept で使える method をそもそも限定してしまうことにする。
<Location />
 <LimitExcept GET POST HEAD OPTIONS>
  Deny from all
 </LimitExcept>
</Location>
ただこのやり方だと結局 Request を受けた後で 500 なりを返すので、性能的にはあまり改善され無い気がする。

*4  根本的対策

以上の方法は apache 側での処理のため、根本的な負荷軽減にはあまり効かないと思われる。根本的に対策するには、前段に Squid 等で Reverse Proxy を入れたうえで Squid 側の acl で method を制限する、または Guardian のような Reverse Proxy 型 アプリケーション ファイヤウォールで防衛する、等の方法があるようだ。
同一 IP からのアクセスが多い場合には apache 側で mod_throttle 等を使う方法もある気がするが、これも一度 apache 側で処理を受けてしまうため効果のほどは微妙。アクセスをトリガにして何か処理をしたい場合には mod_security を使う方法もあるが、今回向きでは無いだろう。

( Permalink | Comments (0) | tags: apache  )
Comments

Please write your comment. email address won't appear. Cannot use any HTML tags in comment.
コメントをお書き下さい。メールアドレスは公開されません。 またHTMLタグは利用できません。
Name   E-mail   URL
Comment

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

このエントリーのブックマーク

Monthly Archives

Select Month to read