| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
各種のプログラムを隠蔽したり改竄するrootkitを検知する為に「chkrootkit」を導入する。
CentOSには標準では「chkrootkit」はないので、こちらを参考にレポジトリにdagを追加し、インストールする。
[root@CentOS ~]# yum --enablerepo=dag -y install chkrootkit <= 「chkrootkit」のインストール [root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除 |
chkrootkitコマンドにより実行する。
この時、INFECTED が出力されなければ問題ない。
ただし、「postfix」でTLSの設定を行い、ポートの465番を開けた場合、誤検知され出力されるが、問題ない。
[root@CentOS ~]# chkrootkit | grep INFECTED <= chkrootkitコマンド実行 Checking `bindshell'... INFECTED (PORTS: 465) <= 誤検知の為、問題ない |
「chkrootkit」を実行するスクリプトを作成し、cronに登録して自動実行する。
この時、「postfix」の誤検知の対応も行う。
[root@CentOS ~]# vi chkrootkit.sh <= スクリプトファイルの作成
#!/bin/sh
CHKROOTKIT=/usr/bin/chkrootkit
GREP=/bin/grep
LSOF=/usr/sbin/lsof
SED=/bin/sed
CAT=/bin/cat
RM=/bin/rm
LOG=/var/log/chkrootkit.log
TMPLOG=/tmp/chkrootkit.log
$CHKROOTKIT > $LOG
$GREP INFECTED $LOG > $TMPLOG
if [ -n "$($GREP 465 $TMPLOG)" ]; then
if [ -z $($LSOF -i:465 | $GREP bindshell) ]; then
$SED -i '/465/d' $TMPLOG
fi
fi
$CAT $TMPLOG
$RM -f $TMPLOG
[root@CentOS ~]# chmod 700 /root/chkrootkit.sh <= 作成したスクリプトに実行権限付加
|
スクリプトの自動実行
[root@CentOS ~]# crontab -e <= cron編集 00 06 * * * /root/chkrootkit.sh <= 追加(毎日6:00にスクリプト実行) |