Young Leaves

CentOS 8にrkhunter を導入しスキャンを行う方法

今回はCentOS 8 にrkhunter を導入しスキャンまで行う方法について説明します。本記事は2020年5月31日の記事であり、現在ではOS のサポートが切れているため、手順などに違いがある可能性があるため、そのあたりを考慮の上確認をお願いします。

実施環境

OS

CentOS 8 最小限のインストール

rkhunter

1.4.6-5.el8

rkhunterとは

rkhunterはPOSIX準拠のルートキットや脆弱性をスキャンするツールです。chkrootkitと同様に実行ファイルの中身はシェルスクリプトで作成されていますが、chkrootkitと大きく違う点はスキャン用のデータベースを更新できることです。依存関係のインストールを含めると、chkrootkitよりサイズが若干多くなりますが、データベースの更新で最新のrootkitに対応できるメリットがあります。

rkhunterのインストール

rkhunterはepelリポジトリからインストールするため、初めにepelリポジトリをインストールします。

# epelリポジトリをインストールする
dnf -y install epel-release

epelリポジトリのインストール後、rkhunterをインストールします。

# epelリポジトリをインストールする
dnf -y install rkhunter

rkhunterの各種アップデートについて

前述のとおり、rkhunterはスキャン用のデータベースの更新を行うことができます。更新後はデータベースのdatファイルを作成する必要があります。

# rkhunterのスキャン用のデータベースを更新する
rkhunter --update

# rkhunterのデータベース(rkhunter.dat)を作成する
rkhunter --propupd

rkhunterのスキャン

スキャン用のデータベース等のアップデートが終わりましたら、rkhunterでスキャンを行います。今回はキープレスをスキップしてスキャンします。

# キープレスをスキップしてrkhunterのスキャンをする
rkhunter --check --skip-keypress
# キープレスをスキップしてrkhunterのスキャンをする
rkhunter --check --skip-keypress

[ Rootkit Hunter version 1.4.6 ]

Checking system commands...

Performing 'strings' command checks
    Checking 'strings' command                               [ OK ]

  Performing 'shared libraries' checks
    Checking for preloading variables                        [ None found ]
    Checking for preloaded libraries                         [ None found ]
    Checking LD_LIBRARY_PATH variable                        [ Not found ]

  Performing file properties checks
    Checking for prerequisites                               [ OK ]
    /usr/bin/awk                                             [ OK ]
    /usr/bin/basename                                        [ OK ]
    /usr/bin/bash                                            [ OK ]
    /usr/bin/cat                                             [ OK ]
<省略>
The system checks took: 1 minute and 33 seconds

All results have been written to the log file: /var/log/rkhunter/rkhunter.log 

No warnings were found while checking the system.

OKは問題なし、WarningやFoundが表示された場合はファイルに変更があったということになります。ただ、通常の変更に対してもWarningやFoundが表示されることがあるため、表示された場合は問題のない変更かどうかを確認する必要があります。

rkhunterのオプション

rkhunterには以下のオプションがあります。今回はよく使うオプションについて説明します。

-c, --check

rootkitのスキャンをする

-C, --config-check

rkhunter.confの構文をチェックする

-h, --help

rkhunterのヘルプを表示する

-l [logfile], --logfile [file]

rkhunterのスキャン結果を指定したログファイルへ出力する

--propupd

rkhunterのデータベース(rkhunter.dat)の作成と/etc/rkhunter.confの変更を反映する

--rwo, --report-warnings-only

rkhunterのスキャンでWarningのみ表示する

--sk, --skip-keypress

rkhunterのスキャン中のキープレスをスキップする

--update

rkhunterのデータベースをアップデートする

-V, --version

rkhunterの現在のバージョンを表示する

--versioncheck

rkhunterの最新バージョンがあるかチェックする

rkhunterの設定ファイル

rkhunterの設定ファイルは/etc/rkhunter.confです。主に各種ファイルの定義やログの出力先、メールの送信に関する設定、スキャンに関する設定等、rkhunterの全般的な設定を行うことができます。デフォルトの設定値でもスキャンはできますが、個人でカスタマイズしたい場合は設定ファイルを修正してみてください。