Linux Mint に rkhunter を導入する

Linux

ClamAV 以外で Linux Mint に入れられる無料で使える便利なウイルス対策ソフトはないかなと探したところ rkhunter という便利なツールがあることを知りました。そこで今回は Linux Mint への導入から初期設定、基本的な使用方法などを備忘録も兼ねてまとめていきたいと思います。

環境は Linux Mint 21.2 “Victoria” MATE Edition 64bit です。

rkhunterとは

rkhunter (Rootkit Hunter) は、Linux (Unix系OS)やUnixに潜むルートキットバックドアエクスプロイトを検出するルートキットスキャナーです。ちなみに rkhunter は、あくまでスキャナーなので検出はしますが駆除はしません

公式サイトは以下になります。

The Rootkit Hunter project

rkhunterのインストールと初期設定

システムを更新する

まず最初にシステムを最新の状態にしておきます。

$ sudo apt update && sudo apt upgrade

rkhunterのインストール

以下のコマンドを実行して、rkhunterをインストールします。

$ sudo apt install rkhunter

インストールの途中で以下のような画面が出てきますので [了解] を選択して Enter キーをタイプします。

ここでは、設定なしを選択し [了解] を押します。

rkhunter.confの編集

このままの状態で rkhunter の定義ファイルを更新しようとすると以下の画像のように Invalid WEB_CMD configuration option: Relative pathname: “/bin/false” とエラーが出ます。

この問題を解決するには rkhunter.conf を編集する必要があります。

$ sudo nano /etc/rkhunter.conf

以下のように rkhunter.conf を書き換えて保存します。

### 書き換え前 ###
UPDATE_MIRRORS=0
MIRRORS_MODE=1
#PKGMGR=NONE
WEB_CMD="/bin/false"
UPDATE_LANG="en"

### 書き換え後 ###
UPDATE_MIRRORS=1
MIRROS_MODE=0
PKGMGR=DPKG
WEB_CMD=""
#UPDATE_LANG="en"

UPDATE_LANG=”en” をコメントアウトしない場合、以下の画像のように英語を除く全ての言語ファイルの更新がスキップされます。

また、自分の環境では WEB_CMD=curl にすると以下の画像のように Update failed と出て更新に失敗したので WEB_CMD=”” を指定しています。

定義ファイルの更新とハッシュ値の取得

rkhunterの定義ファイルの更新します。

$ sudo rkhunter --update

次にスキャンする各種ファイルのSHA256のハッシュ値を取得します。

$ sudo rkhunter --propupd

以上でインストールと初期設定は完了です。

rkhunterの基本的な使い方や色々な使用方法

rkhunterでシステムをスキャン

$ sudo rkhunter --check --skip-keypress

WARNING (警告) のみを表示させたい場合は、以下のように –report-warnings-only (あるいは –rwo) オプションを追記します。

$ sudo rkhunter --check --skip-keypress --report-warnings-only

ログを確認する

スキャンの結果は /var/log/rkhunter.log に保存されるので、以下のようにすることでログ内容を確認できます。

$ sudo grep Warning /var/log/rkhunter.log

Warningがいくつか出てきました。

rkhunter.log をもう少し詳しく読んでみます。

[02:48:41]   Checking for suspicious (large) shared memory segments [ Warning ]
[02:48:41] Warning: The following suspicious (large) shared memory segments have been found:
[02:48:41]          Process: /usr/bin/fcitx    PID: 3137    Owner: xerus    Size: 4.0MB (configured size allowed: 1.0MB)
[02:48:41]          Process: /usr/bin/mate-panel    PID: 3214    Owner: xerus    Size: 4.0MB (configured size allowed: 1.0MB)
[02:48:41]          Process: /usr/lib/mate-panel/wnck-applet    PID: 3242    Owner: xerus    Size: 1.0MB (configured size allowed: 1.0MB)
[02:48:41]          Process: /usr/bin/caja    PID: 3235    Owner: xerus    Size: 4.0MB (configured size allowed: 1.0MB)
[02:48:41]          Process: /usr/bin/caja    PID: 3235    Owner: xerus    Size: 64MB (configured size allowed: 1.0MB)
[02:48:41]          Process: /usr/bin/mate-terminal    PID: 4434    Owner: xerus    Size: 16MB (configured size allowed: 1.0MB)

[02:48:45]   Checking for hidden files and directories       [ Warning ]
[02:48:45] Warning: Hidden directory found: /etc/.java

どれも問題ないものばかりなので、rkhunterの誤検出と思われます。

スクリプトファイルをホワイトリストに追加する

正常なスクリプトファイルが Warning として検出されてしまう場合は rkhunter.conf に問題のファイルをホワイトリストとして追記することで回避できます。以下の例では xxxxx、yyyyy、zzzzz の3つのスクリプトファイルをホワイトリストに追加しています。

$ sudo nano /etc/rkhunter.conf

### 以下のように追記します ###
SCRIPTWHITELIST="/usr/bin/xxxxx"
SCRIPTWHITELIST="/usr/bin/yyyyy"
SCRIPTWHITELIST="/usr/bin/zzzzz"

WARNINGを検出した際にコマンドを実行する

rkhunter.confを編集することで、WARNINGを検出した時にコマンドを実行することもできます。

以下の例では、WARNINGの検出時に mail コマンドを実行して xxxxx@test.comyyyyy@example.net へ「[rkhunter] Warnings found for ${HOST_NAME}」というタイトルのメールを送信するという設定です。

MAIL-ON-WARNING=xxxxx@test.com yyyyy@example.net
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"

言語の変更

これは必要ないと思いますが、rkhunter.confを編集すればデフォルトの言語を英語から日本語など他の言語に切り替える事もできます。以下の例では、英語から日本語に変更しています。

### 書き換え前 ###
#LANGUAGE=en
UPDATE_LANG="en"

### 書き換え後 ###
LANGUAGE=ja
#UPDATE_LANG="en"

UPDATE_LANG は update オプションが使われた際に更新する言語ファイルを指定しますが、英語ファイルだけはこの UPDATE_LANG の指定の有無に関わらず更新されます。また、UPDATE_LANG を指定しない場合、全ての言語ファイルが更新されます。

参考にさせていただいたサイト様

rkhunterでファイル改ざんを検知してみる
rkhunterことはじめ - Qiita
rkhunterについて調べる機会があったので導入から検証までをまとめましたスペック$ cat /etc/centos-releaseCentOS release 6.5 (Final)イン…
rkhunterのインストールとできることの確認 - Qiita
本文書についてrootkit対策として有名なrkhunterについて、どのようなことが行われるのかを確認した。Ubuntu20.04LTSにて、インストールと動作を確認した。他のディストリビュー…
Mint 19 - rkhunter 1.4.6 won't update
System: Linux Mint 19 Cinnamon 64-bit, based on Ubuntu 18.04.RKHunter: packaged version 1.4.6-2.Unfortunately, when I tr...
ERROR: The request could not be satisfied
正当なファイルをRootkit Hunterが検出したときの対処方法
ルートキット検出ツールRootkit Hunterを入れ、数日経過したら以下のメールが来てました。 調べた感じ、これらはルートキットではなく正当にシステムに組み込まれたファイルでした。 自分はRootkit Hunterによるスキャンを毎日
Invalid WEB_CMD configuration option: Relative pathname: "/bin/false"
I am on Ubuntu, I am trying to install rkhunter. I've tried apt-get install rkhuntersuccess But then, I did rkhunter --u...

コメント