chkrootkitのインストール

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

1. chkrootkitインストール
EPELリポジトリよりchkrootkitを導入します。

# yum --enablerepo=epel install chkrootkit ← chkrootkitインストール
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
epel                                                               | 4.3 kB     00:00
epel/primary_db                                                    | 4.7 MB     00:02
84 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package chkrootkit.x86_64 0:0.49-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                Arch               Version                 Repository        Size
==========================================================================================
Installing:
 chkrootkit             x86_64             0.49-2.el6              epel             303 k

Transaction Summary
==========================================================================================
Install       1 Package(s)

Total download size: 303 k
Installed size: 789 k
Is this ok [y/N]: y
Downloading Packages:
chkrootkit-0.49-2.el6.x86_64.rpm                                   | 303 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : chkrootkit-0.49-2.el6.x86_64                                           1/1
Verifying  : chkrootkit-0.49-2.el6.x86_64                                           1/1
Installed:
  chkrootkit.x86_64 0:0.49-2.el6
Complete!

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 (火) 02:00:03 (3697d)