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

投稿者: | 2020-05-31

前回はrootkitを検出するchkrootkitスクリプトの導入やスキャンの方法について説明しました。今回はchkrootkitと同様にrootkitを検出するソフトウェア・rkhunterをCentOS8に導入しスキャンを行う方法について説明します。

実施環境

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

[ 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の全般的な設定を行うことができます。デフォルトの設定値でもスキャンはできますが、個人でカスタマイズしたい場合は設定ファイルを修正してみてください。