www.smiyasaka.com は、 2022 年 11月から Oracle LInux 8.X にOSを変更しました。

chkrootkitを定期的に実行させるためのスクリプトの作成



先人が作成した実行スクリプトに機能追加や変更・コメント(私なりに理解した内容)を入 れてみました。( 遊び心で処理時間の表示機能を入れています。) 2018.09.16 一部改良

① ウィルススキャン実行スクリプト作成


   vi rootkit.sh   
<---- 適当なディレクトリー( ex. /usr/local/src )で実行

下記は、コメント・処理時間表示をいれたスクリプト チョットごちゃごちゃしています。
(説明文をたくさん入れていますので、シェルスクリプトが苦手な方には、勉強になると 思います。)
更に root 宛メールの出力をまとめて一箇所で表示をする様にしています。

#!/usr/bin/bash
#
# コマンドパスの設定
PATH=/usr/bin:/bin:/root/bin
#
LOG="/var/log/chkrootkit.log"  # chkrootkit の実行結果ログの保存先

# 初期値 何もなかった時の root 宛メール
KAIZAN_FOUND=""
KETUKA__Messge="**** rootkit check OK ****"

START_Messge=" 開始時間 `date +"%k時%M分%S秒"`"
START_TIME=`date +%s`  # 秒で開始時刻を取得

# chkrootkit実行 実行結果は、chkrootkit.log へ出力
##   [Searching for Suckit rootkit... Warning: /sbin/init INFECTED] は、 ###
##   当然誤検知で出るので事前にカットしておく  ###

chkrootkit | grep INFECTED | egrep -v "/sbin/init" > ${LOG}

# 改ざんがあった場合にSuckit誤検知をチェックしてメール出力

if [ ! -z "$(grep INFECTED$ ${LOG})" ]; then
  # 侵入者があった時の root 宛メール文作成
  # upstartパッケージ更新時等のSuckit誤検知対応

  if ! rpm -V `rpm -qf /sbin/init` > /dev/null 2>&1; then
    KAIZAN_FOUND=$(grep INFECTED$ ${LOG}) # メッセージ出力用改ざんファイル
 # 名前 行抽出
    KETUKA__Messge=" *** rootkit discovery ***\n"
  fi
fi
#--------------------------------------------------------------------------
END_Messge=" 終了時間 `date +"%k時%M分%S秒"`"
END_TIME=`date +%s` # 秒で終了時刻を取得

SS=`expr ${END_TIME} - ${START_TIME}` # 経過時間を求める(秒)
# 時を求める時には、3600で割る
MM=`expr ${SS} / 60` # 分を求める
SS=`expr ${SS} % 60` # 秒を求める (1分で割ったあまり)

SYORI_Messge=" 処理時間 ${MM}分 ${SS}秒"

# 処理時間計算をメール本文として出力
# 開始時間 + 終了時間 + 処理時間 + 処理結果メッセージ + 改ざんファイル名を
# メール本文として合成し出力。\n を有効にするため echo には、オプション -e を
# 付けます。

echo -e "${ START_Messge }\n${ END_Messge }\n${ SYORI_Messge }\n${ KETUKA__Messge }\n\
${ KAIZAN_FOUND }" | mail -s "*** rootkit check ***" root

#--------------------------------------------------------------------------
chmod 600 ${LOG} # ファイル /var/log/chkrootkit.log を読み書き可能にする

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

   chmod +x rootkit.sh   
<---- 実行権限を有効にします。

③ root 宛メールの表示例( 実際に私のサーバ機で表示した内容です。)


   ※   Logwatch の出力結果です   ※

   From root@LeoMiya Sat Oct 22 02:01:14 2016
     (途中省略)

   Date: Sat, 22 Oct 2016 02:00:14 +0900
   To: root@XXXXXXXX
   Subject: *** rootkit check ***
   User-Agent: Heirloom mailx 12.5 7/5/10
   MIME-Version: 1.0
   Content-Type: text/plain; charset=utf-8
   Content-Transfer-Encoding: 8bit

   開始時間 2時00分01秒
   終了時間 2時00分14秒
   処理時間 0分 13秒
   **** rootkit check OK ****


^