chkrootkitというrootkit検知ツールを導入して、rootkitがLinuxサーバーにインストールされてしまっていないかチェックする。既知のものしか検出できない上に、誤検知もたまにあるので、検出結果は参考程度に留めておいてよいでしょう。
目次 |
[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
[root@host3 ~]# chkrootkit | grep INFECTED ← chkrootkit実行 上記chkrootkit実行結果として"INFECTED"という行が表示されなければ問題なし
[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実行スクリプトを毎日自動実行されるディレクトリへ移動