Last-modified: 2013-02-11 (月) 03:00:19
RootkitHunter/CentOSへのインストール

概要

ルートキット検出ツール RootkitHunterを導入します

手順

  1. インストール
    Everything is expanded.Everything is shortened.
      1
    
     
    
    yum install rkhunter
  2. /etc/rkhunter.confを開く
    必要な場合、設定を変更します
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      6
      7
    
    -
    !
    -
    !
    -
    |
    !
    
    # ログファイルパス
    LOGFILE=/var/log/rkhunter/log
    # ログを追記しない
    APPEND_LOG=0
    # シスログにも記録する
    # 詳細なレポートではないので、プライオリティはinfoにした
    USE_SYSLOG=authpriv.info
  3. /etc/sysconfig/rkhunterを開く
    必要な場合、設定を変更します
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
    
    -
    !
    -
    !
    
    # メール送信先
    [email protected]
    # 詳細スキャン
    DIAG_SCAN=no
  4. /etc/cron.dailyにrkhunterスクリプトが作成されているので確認
    下のコードはオリジナルにコメントを付加したのと、メールの件名を変えたのと、ログのパスを変更したのみ
    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
    
    -
    !
    -
    !
    -
    !
     
    -
    -
    -
    !
    -
    -
    |
    |
    |
    !
    -
    -
    |
    |
    |
    !
    |
    -
    !
    |
    |
    -
    -
    -
    !
    |
    -
    !
    |
    |
    |
    |
    -
    -
    |
    !
    -
    !
    !
    |
    -
    !
    !
     
    -
    !
    -
    !
    
    #!/bin/sh
     
    # 終了ステータス
    XITVAL=0
    # テンポラリファイル作成
    TMPFILE1=`/bin/mktemp -p /var/run/rkhunter rkhcronlog.XXXXXXXXXX` || exit 1
     
    # ロックファイル存在確認
    if [ ! -e /var/lock/subsys/rkhunter ]; then
        # ロックファイルが存在しないので作成
        /bin/touch /var/lock/subsys/rkhunter
        # 設定ファイルが存在すれば読み込む
        if [ -e /etc/sysconfig/rkhunter ] ; then
            . /etc/sysconfig/rkhunter
        else
            MAILTO=root@localhost
        fi
        # 詳細スキャンを有効にするか
        if [ "$DIAG_SCAN" == "yes" ]; then
            RKHUNTER_FLAGS="--checkall --skip-keypress --nocolors --quiet --appendlog --display-logfile"
        else
            RKHUNTER_FLAGS="--cronjob --nocolors --report-warnings-only"
        fi
     
        # 重要パス
        RKHUNTER=/usr/bin/rkhunter
        LOGFILE=/var/log/rkhunter/rkhunter/log
     
        # rkhunterがパス上に存在するか
        if [ -x $RKHUNTER ]; then
            # アップデートチェック
            /bin/echo -e "\n--------------------- Start Rootkit Hunter Update ---------------------" > $TMPFILE1
            /bin/nice -n 10 $RKHUNTER --update --nocolors 2>&1 >> $TMPFILE1
            # チェック実行
            /bin/echo -e "\n---------------------- Start Rootkit Hunter Scan ----------------------" >> $TMPFILE1
            /bin/nice -n 10 $RKHUNTER $RKHUNTER_FLAGS 2>&1 >> $TMPFILE1
            XITVAL=$?
            /bin/echo -e "\n----------------------- End Rootkit Hunter Scan -----------------------" >> $TMPFILE1
     
            # メールでレポート送信
            if [ $XITVAL != 0 ]; then
                 /bin/cat $TMPFILE1 | /bin/mail -s "[$(hostname)] rkhunter レポート(daily)" $MAILTO
            fi
            # 出力結果をログに追記
            /bin/cat $TMPFILE1 >> $LOGFILE
        fi
     
        # ロックファイル削除
        /bin/rm -f /var/lock/subsys/rkhunter
    fi
     
    # テンポラリファイル削除
    /bin/rm -f $TMPFILE1
    # 終了
    exit $XITVAL

補足

検証時の環境