FreeBSD: root kit 有無をスキャンしてくれる rkhunter

FreeBSD のパッケージコレクションにある ルートキットスキャンツール、rkhunter の存在を初めて知りました。

新しいことを始めると、巡り合いがあるもので、ソースからFreeBSD全体をビルドし直す方法を調べている時 rkhunter というツールに遭遇しました。

Windows とは異なり、Unix系サーバーであるFreeBSDには定番セキュリティーツールというものは売られていません。売れられているとしても超高価で買えないでしょうけど。市販セキュリティーソフトを使わなくても、Unix系OSは Windowsに比べて守りやすいことも事実。
私の場合、

  1. アクセスコントロール
  2. ファイヤーウォール
  3. ロギング

の 3つをしっかりやることで対策しています。用途とアクセス範囲を限定すれば、利用対象以外をガチガチにブロックできるので、まあ、侵入はできないだろう という前提で運用しています。

それでも、管理の隙間というものは生じるもので、何年か前、私が管理しているサーバーのうちの一台に、バックドアを仕掛けられるという事件が起きました。Webサーバーのプログラムを更新出来ないタイミングで侵入を許してしまい、踏み台にされていた可能性がありました。アクセス数が少ないサーバーだと、ログチェックに油断が生じてしまう。気づけたからよかったけど、一度侵入されてしまうと、アクセスできる範囲にはアクセスできちゃうから、日々実行可能なスキャンツールがあればありがたいわけです。

今回、RPI2にFreeBSD 13.2 を入れて、Tier2 FreeBSDの管理方法に関して把握中。第一歩は、毎日届くレポートに含まれる脆弱性への対応。これは、前のドキュメントに記録中ですが、本家サイトの情報を調べている途中、FreeBSD ドキュメントの 第13章 セキュリティ 13.2.6 に rkhunter というツールの存在が紹介されていました。

これは、root kit を見つけ出すオプションパッケージ。

root kit とは、対象マシンの root 権限で悪さをする外部プログラム。普通は管理者が操作を間違えない限り、root kit が組み込まれる恐れはありません。組み込めるとすると、最初からOSに組み込まれているようなケース。Android 端末がそうですね。中国製、韓国製 Android 端末などは、購入直後に root kit が見つかるという話を聞きます。それを見つけ出してくれるのが root kit スキャンツール。

なんてこったい!こんなに便利なものがあったのか?

というのが今の気持ち。

rkhunter を入れて、セットアップすると、デイリー(weeklyでもいいけど)に root kit が仕組まれていないかスキャンしてくれる。残念ながら FreeBSD13.2 には最初からは入っていないので、

pkg install rkhunter

でインストールする必要がありました。

以下はインストールの様子。

# pkg install rkhunter
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        p5-Digest-SHA1: 2.13_2
        rkhunter: 1.4.6_2

Number of packages to be installed: 2

The process will require 1 MiB more space.
239 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/2] Fetching rkhunter-1.4.6_2.pkg: 100%  223 KiB 228.5kB/s    00:01
[2/2] Fetching p5-Digest-SHA1-2.13_2.pkg: 100%   16 KiB  16.7kB/s    00:01
Checking integrity... done (0 conflicting)
[1/2] Installing p5-Digest-SHA1-2.13_2...
[1/2] Extracting p5-Digest-SHA1-2.13_2: 100%
[2/2] Installing rkhunter-1.4.6_2...
[2/2] Extracting rkhunter-1.4.6_2: 100%
=====
Message from rkhunter-1.4.6_2:

--
You should keep your rkhunter database up-to-date.
This can be done automatically by putting this line to periodic.conf(5) files:

security_rkhunter_update_enable="YES"
security_rkhunter_update_period="daily"
security_rkhunter_update_flags="--update --nocolors"

Also, you can run rkhunter as a part of the daily security check by
putting this line to periodic.conf(5) files:

security_rkhunter_check_enable="YES"
security_rkhunter_check_period="daily"
security_rkhunter_check_flags="--checkall --nocolors --skip-keypress"

最後に上記の赤行を、/etc/periodic.conf を新しく作成して書き込めば設定は終了。

root で コマンドラインから、

rkhunter -c

と実行すれば、初回スキャンが終了し、上記設定により、あとは毎日スキャンしてくれるらしい。
スキャン結果は、/var/log/rkhunter.log に出力されています。
ログを読んでみると、pkg でインストールした ggrep を置き換えたような記述があって、どこまでやるんだ?という多少不安な気持ちもありますが、公開サーバーにてしばらく使ってみる予定。

コメントを残す