webalizerエラー対策

webalizerのDNSエラー対策

cronからのメールでよく以下の内容が送られてくると思います。

/etc/cron.daily/00webalizer:
Error: Unable to open DNS cache file /var/lib/webalizer/dns_cache.db

ファイルがないということなんです。インストール時に何らかのエラーが発生したのでしょう。
Webalizerを使っているとこんな物がcronから送られてきたりする。

コマンド # webazolver

対策は、ファイルがないため作成してあげればて、
これを実行すれば、

"/var/lib/webalizer/dns_cache.db"が作成されます。

webalizerのWarning対策

ログの集計にwebalizer2.01を使用している(というかRedhat9にデフォルトでインストールされている)が、access_log の容量が2MBを越えたあたりからcronのエラーメールで、
長いHTTPリクエストがあり,ログの中で,1行の長さの制限を超えた物があったときに起きるようです。
検索サイトからの参照やバッファオーバーフローを狙ったアタックなどで発生します。
(おもにWindowsのWebサーバーIISを狙ったNimdaが多いようです。)

対策
ありません。どういうリクエストがあるのか判りませんので,放っておくしかないようです。 特に解析に影響はないので,気にしないのが一番です。

例、
/etc/cron.hourly/00webalizer:
Error: Skipping oversized log record
や、
/etc/cron.daily/00webalizer:
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
や、
/etc/cron.daily/00webalizer:
Warning: Truncating oversized referrer field [10033]
や、
/etc/cron.daily/00webalizer:
Error: Unable to open DNS cache file /var/lib/webalizer/dns_cache.db
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
Error: Skipping oversized log record
/etc/cron.daily/tripwire-check:

**** Error: Tripwire database for BG008.big-arrow.co.jp not found. ****
**** Run /etc/tripwire/twinstall.sh and/or tripwire --init. ****

ある特定のログのサイズが多すぎるから飛ばしましたよ。
ってことかな?
(実際はワームのリクエストのURIが長すぎるために起きるエラー。Nimdaが主な原因。)


webalizer.confのこの部分を設定するとエラー出力をしなくなる。
ReallyQuiet yes

原因
このエラーはエラーメッセージにある通りaccess_logの行で1行あたりの文字数があまりにも多いものが存在したことが原因で起きます。
このような長い行は、IISを攻撃対象としているネットワークワーム(多分、Nimda)がバッファオーバーランを利用した攻撃を行うために非常に長いリクエストを発行し、それをApacheがaccess_logに保存することにより作成されます。

対策はwebalizerのソースコードをいじって長い行に対応できるようにするか、Apacheの設定でワームの攻撃をaccess_logに保存しないように設定するかだと思います。
後者の方法については「Apache NULL.IDA」で検索するとたくさん見つかると思います。


戻る