rootkit検出ツール(CentOS7)
提供:あわ自由帳
(rootKit検出ツール(CentOS7)から転送)
メインページ > CentOS 7 で自宅サーバー構築 > rootkit検出ツール(CentOS7)
chkrootkitというrootkit検知ツールを導入して、rootkitがLinuxサーバーにインストールされてしまっていないかチェックする。既知のものしか検出できない上に、誤検知もたまにあるので、検出結果は参考程度に留めておいてよいでしょう。
chkrootkitインストール
[root@host3 ~]# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz ← chkrootkitダウンロード [root@host3 ~]# tar zxvf chkrootkit.tar.gz ← chkrootkit展開 [root@host3 ~]# mkdir -p ~/bin && mv chkrootkit-0.50/chkrootkit ~/bin ← chkrootkitを移動 [root@host3 ~]# rm -rf chkrootkit-0.50/ ← chkrootkit展開先ディレクトリを削除 [root@host3 ~]# rm -f chkrootkit.tar.gz ← ダウンロードしたchkrootkitを削除
実行
[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実行スクリプトを毎日自動実行されるディレクトリへ移動