rootkit検知ツール(chkrootkit)の導入

各種のプログラムを隠蔽したり改竄するrootkitを検知する為に「chkrootkit」を導入する。

「chkrootkit」のインストール

「Fedora Core 4」、「Fedora Core 5」の場合

[root@Fedora ~]# yum -y install chkrootkit <= 「chkrootkit」のインストール

[root@Fedora ~]# yum clean packages <= ダウンロードしたパッケージの削除

「Fedora Core 3」の場合

[root@Fedora ~]# vi /etc/yum.repos.d/fedora-extras.repo <= Fedora Extrasのyum用リポジトリ設定ファイルの作成
[extras]
name=Fedora Extras - $releasever - $basearch
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
gpgcheck=1


[root@Fedora ~]# rpm --import http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
 <= GPGキーのインポート
[root@Fedora ~]# yum -y install chkrootkit <= 「chkrootkit」のインストール

[root@Fedora ~]# yum clean packages <= ダウンロードしたパッケージの削除
「chkrootkit」の実行

chkrootkitコマンドにより実行する。
この時、INFECTED が出力されなければ問題ない。
ただし、「postfix」でTLSの設定を行い、ポートの465番を開けた場合、誤検知され出力されるが、問題ない。

[root@Fedora ~]# chkrootkit | grep INFECTED <= chkrootkitコマンド実行
Checking `bindshell'... INFECTED (PORTS:  465) <= 誤検知の為、問題ない
「chkrootkit」の自動実行

「chkrootkit」を実行するスクリプトを作成し、cronに登録して自動実行する。
この時、「postfix」の誤検知の対応も行う。

[root@Fedora ~]# vi chkrootkit.sh <= スクリプトファイルの作成
#!/bin/sh

CHKROOTKIT=/usr/bin/chkrootkit
GREP=/bin/grep
LSOF=/usr/sbin/lsof
SED=/bin/sed
CAT=/bin/cat
RM=/bin/rm
LOG=/var/log/chkrootkit.log
TMPLOG=/tmp/chkrootkit.log

$CHKROOTKIT > $LOG

$GREP INFECTED $LOG > $TMPLOG
if [ -n "$($GREP 465 $TMPLOG)" ]; then
    if [ -z $($LSOF -i:465 | $GREP bindshell) ]; then
        $SED -i '/465/d' $TMPLOG
    fi
fi

$CAT $TMPLOG
$RM -f $TMPLOG


[root@Fedora ~]# chmod 700 /root/chkrootkit.sh <= 作成したスクリプトに実行権限付加

スクリプトの自動実行

[root@Fedora ~]# crontab -e <= cron編集
00 06 * * * /root/chkrootkit.sh <= 追加(毎日6:00にスクリプト実行)
▲ページのトップへ