提供: すだちWiki
移動先: 案内検索

RootKit検出ツール(SL6)

chkrootkitというrootkit検知ツールを導入して、rootkitがLinuxサーバーにインストールされてしまっていないかチェックする。既知のものしか検出できない上に、誤検知もたまにあるので、検出結果は参考程度に留めておいてよいでしょう。

chkrootkitインストール

[root@host3 ~]# yum --enablerepo=epel -y install chkrootkit
・
・
・
Complete!

実行

[root@host3 ~]# chkrootkit
ROOTDIR is `/'
 ・
 ・
 ・
Checking `chkutmp'... => possibly 1 deletion(s) detected in /var/run/utmp !
chkutmp: nothing deleted
Checking `OSX_RSPLUG'... not infected

chkrootkit確認

[root@host3 ~]# chkrootkit | grep INFECTED ← chkrootkit実行
上記chkrootkit実行結果として"INFECTED"という行が表示されなければ問題なし

chkrootkit定期自動実行設定

[root@host3 ~]# vi chkrootkit ← chkrootkit実行スクリプト作成
#!/bin/bash

PATH=/usr/bin:/bin

TMPLOG=`mktemp`

# chkrootkit実行
chkrootkit > $TMPLOG

# ログ出力
cat $TMPLOG | logger -t chkrootkit

# SMTPSのbindshell誤検知対応
if [ ! -z "$(grep 465 $TMPLOG)" ] && \
   [ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then
        sed -i '/465/d' $TMPLOG
fi

# rootkit検知時のみroot宛メール送信
[ ! -z "$(grep INFECTED $TMPLOG)" ] && \
grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root

rm -f $TMPLOG

[root@host3 ~]# chmod 700 chkrootkit 
← chkrootkit実行スクリプトへ実行権限付加

[root@centos ~]# mv chkrootkit /etc/cron.daily/ 
← chkrootkit実行スクリプトを毎日自動実行されるディレクトリへ移動