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