ヘルプ:rootkit検知ツール導入(chkrootkit)(AlmaLinux9)

提供:あわ自由帳

メインページ > ヘルプ:目次 > ヘルプ:自宅サーバー構築(AlmaLinux9)  > rootkit検知ツール導入(chkrootkit)(AlmaLinux9)

Rootkit 検出ツールのインストールと設定です。

chkrootkitインストール

chkrootkitダウンロード

[root@host2 ~]# git clone https://github.com/Magentron/chkrootkit.gi

chkrootkitインストール

[root@host2 ~]# cp chkrootkit/chkrootkit /usr/local/bin/

ダウンロードしたchkrootkitを削除

[root@host2 ~]# rm -rf chkrootki

chkrootkit確認

chkrootkit実行

[root@host2 ~]# chkrootkit | grep INFECTED

上記chkrootkit実行結果として"INFECTED"という行が表示されなければ問題なし

chkrootkit定期自動実行設定

chkrootkit実行スクリプトを毎日自動実行されるディレクトリへ作成

[root@host2 ~]# vi /etc/cron.daily/chkrootkit
#!/bin/bash

LOG=/tmp/$(basename ${0})

# chkrootkit実行
chkrootkit > $LOG 2>&1

# ログ出力
cat $LOG | logger -t $(basename ${0})

# SMTPSのbindshell誤検知対応
if [ ! -z "$(grep 465 $LOG)" ] && \
   [ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then
        sed -i '/465/d' $LOG
fi

# upstartパッケージ更新時のSuckit誤検知対応
if [ ! -z "$(grep Suckit $LOG)" ] && \
   [ -z "$(rpm -V `rpm -qf /sbin/init`)" ]; then
        sed -i '/Suckit/d' $LOG
fi

# rootkit検知時のみroot宛メール送信
[ ! -z "$(grep INFECTED $LOG)" ] && \
grep INFECTED $LOG | mail -s "chkrootkit report in `hostname`" root

chkrootkit実行スクリプトへ実行権限付加

[root@host2 ~]# chmod 700 /etc/cron.daily/chkrootkit

chkrootkitで使用する安全なコマンドの確保

chkrootkit使用コマンド退避先ディレクトリ作成

[root@host2 ~]# mkdir chkrootkitcmd

chkrootkit使用コマンドを退避先ディレクトリへコピー

[root@host2 ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed ssh uname` chkrootkitcmd/

試しに退避したchkrootkit使用コマンドを使用してchkrootkit実行

[root@host2 ~]# chkrootkit -p /root/chkrootkitcmd|grep INFECTED

chkrootkit使用コマンド退避先ディレクトリを圧縮して削除

[root@host2 ~]# zip -r chkrootkitcmd.zip chkrootkitcmd/ && rm -rf chkrootkitcm

chkrootkit使用コマンド(圧縮版)をroot宛にメール送信

[root@host2 ~]# echo|mail -a chkrootkitcmd.zip -s chkrootkitcmd.zip root

chkrootkit使用コマンド(圧縮版)削除

[root@alhost2 ~]# rm -f chkrootkitcmd.zip