chkrootkitのインストール

概要:chkrootkitはシステムにrootkitが組み込まれていないかを検査するツールである。chkrootkitは、rootkitおよびワームの検出の以外にも、ネットワークインターフェースがプロミスキャスモードになっていないか、ログファイルlastlog/wtmpは改ざんされていないか、隠蔽されているプロセスはないか、といった項目をチェックすることができる。
前提:

1. chkrootkitインストール
RPMforgeリポジトリよりchkrootkitを導入する。

# yum -y --enablerepo=rpmforge install chkrootkit ← chkrootkitインストール

2. chkrootkit確認

# chkrootkit | grep INFECTED ← chkrootkit実行

上記の結果に"INFECTED"という行が表示されなければ問題なし。

3. chkrootkit定期自動実行設定

# vi /etc/cron.daily/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
# chmod 700 /etc/cron.daily/chkrootkit ← chkrootkitへ実行権限付加

これで毎日定期的にrootkitがインストールされていないかチェックされ、インストールされていた場合はroot宛にメールが届くようになる。 また、chkrootkitの実行結果は/var/log/messagesに保存される。

4. chkrootkitで使用する安全なコマンドの確保
既にシステムにrootkitが組み込まれていて、コマンド自体が改ざんされている場合には、rootkitを正常に検出できなくなる。chkrootkitが利用するコマンド群をコピーしておき、必要な場合にはそのコマンド群を使用してchkrootkitを実行する。

  • chkrootkitが利用するコマンド群
    awk、cut、egrep、find、head、id、ls、netstat、ps、strings、sed、uname、echo
    # mkdir chkrootkitcmd
    # cp -p `which --skip-alias awk cut echo egrep find head id ls netstat ps 
    strings sed uname` chkrootkitcmd/
     ← chkrootkit使用コマンドを退避先ディレクトリへコピー
    # zip -r chkrootkitcmd.zip chkrootkitcmd/
     ← chkrootkit使用コマンド退避先ディレクトリ圧縮
    # rm -rf chkrootkitcmd ← chkrootkit使用コマンド退避先ディレクトリ削除
    # yum -y install sharutils
     ← mailコマンドでzipファイル添付メールを送信するのに必要なuuencodeコマンドインストール
    # uuencode chkrootkitcmd.zip chkrootkitcmd.zip|mail root
     ← chkrootkit使用コマンド(圧縮版)をroot宛にメール送信
    # rm -f chkrootkitcmd.zip ← chkrootkit使用コマンド(圧縮版)削除
    

最終更新のRSS
Last-modified: 2014-03-11 (火) 01:59:57 (3698d)