元ネタはココ。
# yum -y install chkrootkit
No package chkrootkit available.
Error: Nothing to do
なので
EPELリポジトリ導入(EPEL)。
(1)yumのプライオリティのパッケージをインスト
# yum -y install yum-plugin-priorities
ちょっと訂正を入れる。
/etc/yum.repos.d/CentOS-Base.repo
priority=1を[base][updates][extras]の各ブロックに追加。
(2)EPELリポジトリインストール
# rpm -ivh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
(3)epel-releaseアップデートして最新にしておく
# yum -y update epel-release
再び、
(1)chkrootkitをインスト
# yum -y install chkrootkit
(2)実行してみて失敗がないか確認する。
# chkrootkit | grep INFECTED
(3)chkrootkit実行スクリプト作成する。
/root/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
(4)chkrootkit実行スクリプトへ実行権限付加
# chmod 700 chkrootkit
(5)chkrootkit実行スクリプトを毎日自動実行されるディレクトリへ移動
# mv chkrootkit /etc/cron.daily/
(6)クラッシュした時のためにコマンドをメールで送る
作業フォルダを作り
# mkdir chkrootkitcmd
対象コマンドをコピし
# cp `which –skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/
一応改ざんチェックもしておく
# chkrootkit -p /root/chkrootkitcmd|grep INFECTED
圧縮し
# zip -r chkrootkitcmd.zip chkrootkitcmd/
作業フォルダは削除、
# rm -rf chkrootkitcmd
メールで送信する。
# yum -y install sharutils
# uuencode chkrootkitcmd.zip chkrootkitcmd.zip|mail root
元ファイルは消しておく
# rm -f chkrootkitcmd.zip