rootkit検出ツール
有名ドコロとしては、”chkrootkit”や”RKHunter”があるが、”chkrootkit”の方は、更新が止まっているとの情報もあったので、RKHunterの方をインストールする。
EPELリポジトリからyumでインストール
$ sudo yum --enablerepo=epel -y install rkhunter
動作確認
デフォルトでは、”cron.dairy”に日次ジョブとして登録されるので、それで確認をする。
設定ファイルの修正とデータベースのアップデート
チェックする前に、下記コマンドでデータベースをアップデートしておく。
$ sudo rkhunter --update
[ Rootkit Hunter version 1.4.2 ]
Checking rkhunter data files...
Checking file mirrors.dat [ Updated ]
Checking file programs_bad.dat [ Updated ]
Checking file backdoorports.dat [ No update ]
Checking file suspscan.dat [ Updated ]
Checking file i18n/cn [ No update ]
(中略)
Checking file i18n/zh.utf8 [ Updated ]
$ sudo rkhunter --propupd
[ Rootkit Hunter version 1.4.2 ]
File created: searched for 173 files, found 130
設定ファイルを修正し、定時ジョブの結果が自分宛てにメールで届くようにする。
$ sudo vi /etc/sysconfig/rkhunter
MAILTO=root@localhost → 自分のメールアドレスを設定
DIAG_SCAN=no → より詳細にチェックしたければ、noからyesに変更。
即時チェックしたい場合は、以下コマンドでチェックできる。
$ sudo rkhunter --check --sk
改ざん検知ツールのインストール
有名なのは、TripwireとAIDEあたり。今回はAIDEの方を採用してみる。
インストール
標準リポジトリにあるので、下記コマンドでインストール完了。
$ sudo yum -y install aide
デフォルトの設定でも運用できるようだが、調整するなら”/etc/aide.conf”を修正。
データベース作成
以下のコマンドでデータベース作成し、以後はこのデータベースとの差分をチェックすることで改ざんチェックを行う。
$ sudo aide --init
少々時間はかかるが、下記のように結果が出力されれば完了。
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
出力されたデータベースファイルをチェック用のマスターファイルにコピーする。
$ sudo cp -p /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
ファイルシステムのチェック
ファイルシステムのチェックは下記のコマンドを実行する。
$ sudo aide --check
試しに、/rootにhoge.txtというファイルを作成してからチェックしたところ、以下のように差分が検出される。
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-11 16:46:23
Summary:
Total number of files: 64419
Added files: 1
Removed files: 0
Changed files: 3
---------------------------------------------------
Added files:
---------------------------------------------------
added: /root/hoge.txt
---------------------------------------------------
Changed files:
---------------------------------------------------
changed: /root
changed: /root/.cache/abrt/lastnotification
changed: /var/log/lastlog
(以下略)
なお、チェックを行ったあと、問題なければデータベースを更新する場合は、下記のコマンドを実行して、出力結果を確認し、問題なければ新たにできたデータベースファイルをマスターファイルにコピーする。
$ sudo aide --update
(出力結果を確認。問題なければ下記コマンド)
$ sudo cp -p /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
なお、AIDEの場合、デフォルトでcronジョブに登録されることはないので、必要に応じてcronジョブに追加する。
アンチウィルスソフト
CentOSの場合、Clam AntiVirusというソフトが定番の模様。
EPELリポジトリから入手可能。
$ sudo yum --enablerepo=epel -y install clamav clamav-update
設定ファイルを確認すると、以下の様な記述があるので、コメントアウト。
$ sudo vi /etc/freshclam.conf
##
## Example config file for freshclam
## Please read the freshclam.conf(5) manual before editing this file.
##
# Comment or remove the line below.
Example → #Example とする。
設定ファイルを保存したら、以下コマンドでウィルス定義ファイルをアップデート。
$ sudo freshclam
動作確認として、ウィルスチェックを実行してみる。
$ clamscan --infected --remove --recursive /home/hoge ← 末尾に"/home/hoge"を指定しているが、このように特定ディレクトリ配下だけをチェックすることも可能。
----------- SCAN SUMMARY -----------
Known viruses: 4297638
Engine version: 0.99.1
Scanned directories: 8
Scanned files: 8
Infected files: 0
Data scanned: 0.01 MB
Data read: 0.00 MB (ratio 2.00:1)
Time: 10.988 sec (0 m 10 s)
また、開発元にて、テスト用の無害ウィルスが提供されているので、それをダウンロードして検出されることを確認する。
$ curl -O http://www.eicar.org/download/eicar.com
$ clamscan --infected --remove --recursive /home/hoge
/home/iwakiri/eicar.com: Eicar-Test-Signature FOUND
/home/iwakiri/eicar.com: Removed.
----------- SCAN SUMMARY -----------
Known viruses: 4297638
Engine version: 0.99.1
Scanned directories: 7
Scanned files: 9
Infected files: 1 ←テスト用ウィルスが検出された
Data scanned: 0.01 MB
Data read: 0.00 MB (ratio 2.00:1)
Time: 10.912 sec (0 m 10 s)
2017.3.16追記
上記の作業だけだと、ウィルス定義ファイルの自動更新が行われないようなので、以下の設定を追加。
# vi /etc/sysconfig/freshclam
### !!!!! REMOVE ME !!!!!!
### REMOVE ME: By default, the freshclam update is disabled to avoid
### REMOVE ME: network access without prior activation
#FRESHCLAM_DELAY=disabled-warn # REMOVE ME →この行をコメントアウト

コメント