counter

忘れないでネ Linux



怒とうのDNS攻撃(webalizer)

1)BBルータのログ監視からのメール
ある日、BBルータのログ監視から Session table full の報告が届いた.

  Nov 11 04:02:40 opt90 S03:MSQ: Session table full.

じはらく、様子を見ていると毎週木曜日頃から発生して、その後、金曜、土曜と日増しに Session table full と
なっている時間が長くなり、日曜日からは、Session table full の報告が消滅している事がわかった.

また、Session table full の発生する時間帯は、毎回同じで午前4時2分を少々過ぎた頃であった.

この Session table full とは、BBルータが通信を行う際に、WAN側からのパケットを正しいLAN側の機器に
伝えるための情報を記憶するテーブル (Session table) が満杯 (full) となってしまっており、新規の通信が
行えない状態です.

現在使用している MICRO RESEACH の SuperOPT90 では、情報を記憶するテーブル (Session table) の数量は、
2048個 (セッション数) との事です.

一つの情報を記憶するテーブル (Session table) の情報保持時間は、SuperOPT90 の設定で変更可能ですが、
初期値として3分に設定されています.

つまり、一度、Session table full が発生すると、最悪の場合、3分間のあいだ新規の通信を開始することが
出来なくなり、Web サーバをこのBBルータの配下に置いていることから無視できない事態です.


2)原因調査
誰が、この Session table を食い尽くすのか調べるためにパケットキャプチャを実施します.

これは、Session table を食い尽くす原因が、WAN側からの攻撃なのか、それとも、
LAN側からの通信要求によるものなのかの判断にもつながります.

LAN側からの通信要求となれば、そのアプリケーションを特定する手掛かりとなります.
クリックすると拡大します.

怒とうの DNS 攻撃が続いています.

パケットキャプチャにより、午前4時2分過ぎに怒とうの DNS セッションが発生している事がわかりました. さらに、詳細を検討すると DNS セッションは、LAN側から発生しており、IPアドレスからホスト名への変換を 要求しているものである事も判明しました. これらの事から、毎日4時頃に起動され、週末に向けて処理するデータ量が増加しているプロセスを 探してみると、cron により毎朝4時2分に起動されている /etc/cron.daily/00webalizer が浮かび上がりました. /etc/cron.daily/00webalizer は、webalizer により Webサーバのログ /var/log/httpd/access_log を解析して Usage Statistics (アクセス統計情報) を作成しているものです. webalizer は、access_log にある IPアドレスをホスト名に変換しています. また、access_log は、logrotate により週単位で更新されており、週末に webalizer が処理するデータ量が 最大になる事とも一致します.
3)対 策
まあ、何も深く考える事無く、/etc/cron.daily/00webalizer を削除して
日々の corn の処理から外しています.

Web のアクセス統計情報は、あえて必要なものでもありませんし、それに代わるものを
自前で稼動させていますので問題のある webalizer をあえて起動させる必要はありません.

ただ、RedHat Linux で Webサーバを立ち上げると管理者が意識しなくても /etc/cron.daily/00webalizer が
cron で起動するよう設定される可能性がありますので注意が必要です.


パソコンの小部屋メニュー
ケーブルの小部屋メニュー
資格の小部屋メニュー
総合メニュー

mailto
無線LAN・家庭内LAN - All About [LAN]