Linuxルートキット検出ガイド:rkhunterとchkrootkitの使い方
Linuxサーバー向けルートキット検出ツールrkhunterとchkrootkitのインストール・実行方法を解説。定期的なスキャンの自動化や注意点も紹介。
はじめに
ルートキットは、システムへの不正アクセスを隠蔽するマルウェアの一種です。Linuxサーバーを運用する上で、rkhunterやchkrootkitなどのツールを使った定期的な検出はセキュリティ対策の基本です。本記事では、それぞれの特徴、インストール方法、基本的な使い方、自動化の手順を解説します。
rkhunterとは
rkhunter(Rootkit Hunter)は、ルートキット、バックドア、ローカルエクスプロイトを検出するためのスキャンツールです。システムファイルのハッシュ値や権限、隠しファイル、ネットワークインターフェースの異常などをチェックします。
インストール
Debian/Ubuntu系
sudo apt update
sudo apt install rkhunter
RHEL/CentOS系
sudo yum install epel-release
sudo yum install rkhunter
Fedora
sudo dnf install rkhunter
初期設定とアップデート
インストール後、まずデータベースを更新します。
sudo rkhunter --update
必要に応じてプロパティデータベースを更新します。
sudo rkhunter --propupd
スキャンの実行
基本的なスキャンは以下のコマンドです。
sudo rkhunter --check
スキャン中に表示される警告は、必ずしもルートキットを意味するわけではありません。例えば、特定のファイルのハッシュ値が変更されている場合、正当なアップデートによるものかもしれません。結果をログファイル(/var/log/rkhunter.log)で確認し、疑わしい項目を精査します。
注意点
chkrootkitとは
chkrootkitは、既知のルートキットの痕跡をチェックするツールです。システムバイナリの改ざんや特定の文字列パターンを検出します。
インストール
Debian/Ubuntu系
sudo apt update
sudo apt install chkrootkit
RHEL/CentOS系
sudo yum install chkrootkit
Fedora
sudo dnf install chkrootkit
スキャンの実行
sudo chkrootkit
デフォルトでは全てのテストを実行します。特定のテストのみ実行するには、-tオプションでテスト名を指定します。
注意点
rkhunterとchkrootkitの比較
| 項目 | rkhunter | chkrootkit |
|---|---|---|
| 検出方法 | ハッシュ比較、権限チェック、パターンマッチ | パターンマッチ、バイナリ改ざんチェック |
| データベース更新 | 必要(--update) | 不要(バイナリ更新で対応) |
| 誤検出 | 多い | 多い |
| カスタマイズ | 設定ファイルで詳細調整可能 | オプションは限定的 |
自動化と定期実行
cronを使って定期的にスキャンを実行し、結果をメールで通知する設定例です。
<h1>rkhunterの自動実行(毎日午前3時)</h1>
0 3 * * * /usr/bin/rkhunter --check --skip-keypress --report-warnings-only 2>&1 | mail -s "rkhunter report" admin@example.com
<h1>chkrootkitの自動実行(毎日午前4時)</h1>
0 4 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit report" admin@example.com
メール送信にはmailコマンドが必要です。インストールされていない場合は、sudo apt install mailutils(Debian系)などで導入します。
結果の解釈と対応
スキャン結果で「Warning」や「INFECTED」が表示された場合、以下の手順で対応します。
注意点と限界
*この記事はArch Linux/btrfs/LUKs環境で実際に検証した内容を基にしています。セキュリティ設定は環境によって異なるため、本番環境への適用前に必ずテスト環境で検証してください。*
まとめ
rkhunterとchkrootkitは、Linuxサーバーのルートキット検出に有用なツールです。両方をインストールし、cronで定期実行することで、セキュリティ監視の自動化が可能です。ただし、誤検出が多いため、結果の解釈には注意が必要です。定期的なスキャンと合わせて、システムの堅牢化を心がけましょう。