Pingリクエストを受けているかどうかは,通常ICMP(Internet Control Message Protocol)を判別すればよい。ICMPとは,IPパケットのプロセスに関連するエラー情報などをレポート提供するものだ。
ICMP(Pingリクエスト)を判別するツールには幾つかのものがあるが,ここでは「pinglogger」を紹介しよう。RPMパッケージでのインストールからログまでを挙げる。
# wget http://redhat.ifsic.univ-rennes1.fr/contrib/libc6/i386/pinglogger-1.1-0.i386.rpm # rpm -Uvh pinglogger-1.1-0.i386.rpm |
上記のようにインストールをしたら,デーモンとして起動させればよい。RPMパッケージのインストールでは起動スクリプトまで自動生成されるため,次のように指定すればすぐに起動できるはずだ。
# /etc/rc.d/init.d/pinglogger start Starting pinglogger daemon: [OK] |
起動以降は,Pingリクエストを受け取ると/var/log/ping.logファイルに次のように記録される。
# tail /var/log/ping.log Wed Mar 13 01:22:13: ICMP Echo Request Received From: 210.165.xxx.xxx Wed Mar 13 01:22:14: ICMP Echo Request Received From: 210.165.xxx.xxx Wed Mar 13 01:22:15: ICMP Echo Request Received From: 210.165.xxx.xxx .......以下略........ |
また,次のように同じ秒数で何十行ものログが記録されている場合には,記録されているIPアドレス元からFlood攻撃を受けたことが考えられる。
# tail /var/log/ping.log Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx Wed Mar 13 15:08:42: ICMP Echo Request Received From: 202.33.152.xxx .......以下略........ |
なお,このままではログファイルが肥大化する一途である。このため,Red Hat系Linuxでインストールされるログ管理ツール「logrotate」を利用し,次のようにスクリプトファイルを作成しておこう(関連Tips:「ログローテートツール「logrotate」を使いこなしたい」)。
# vi /etc/logrotate.d/pinglogger /var/log/ping.log { missingok postrotate /usr/bin/killall -HUP pinglogger 2> /dev/null || true endscript } |
これで,/etc/logrotate.confファイル内に設定されている期間(例:weekly)ごとに,ログファイルが世代管理されるようになる。
Copyright © ITmedia, Inc. All Rights Reserved.