rkhunterでrootkitを検知しよう!
rootkitが仕込まれていないかをチェックするツールにrkhunterがあります。
ここでは、rkhunterの導入手順を掲載しています。
※CentOS 7のサポートは2024年6月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
rkhunterとは…
不正アクセスに使われるコマンドやツールをセットにしたものです。rootkitは不正アクセスに必要なコマンド、ソフト、プロセスを隠蔽する働きを持ち、システムや管理者から見えない状態になるため、検出するのは非常に困難です。
rkhunterはrootkitの仕込まれた疑いのあるコマンドをサーバ内から探しだし、通知をする機能を持っています。
ただし、このrkhunterでは検出しか出来ません。仮にrootkitが検知された場合、修復などは自分で行う必要があります。また、誤検出もあったりするので、過信せず、目安程度に留めておくのが良さそうです。
[root@co7 ~]# yum --enablerepo=epel -y install rkhunter
インストール:
rkhunter.noarch 0:1.4.6-3.el7
依存性関連をインストールしました:
lsof.x86_64 0:4.87-6.el7
完了しました!
データベースの実行
データベースを更新します
[root@co7 ~]# rkhunter --update
[ Rootkit Hunter version 1.4.6 ] 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/de [ Updated ] Checking file i18n/en [ No update ] Checking file i18n/tr [ Updated ] Checking file i18n/tr.utf8 [ Updated ] Checking file i18n/zh [ Updated ] Checking file i18n/zh.utf8 [ Updated ] Checking file i18n/ja [ Updated ]
システムデータを更新します
[root@co7 ~]# rkhunter --propupd
[ Rootkit Hunter version 1.4.6 ] File created: searched for 175 files, found 126
rkhunterの実行
実際に動かしてみたいと思います。
[root@co7 ~]# rkhunter --check --skip-keypress --report-warnings-only
しばらく待って何も表示されなければ、検出されなかったということです。
rkhunterの自動実行
定期的にチェックを行い、そのレポートをメールで報告するようにします。
スクリプトは鳥さんでは足りないつぶやき様にて公開されてていたのものを使わせて頂きます。
[root@co7 ~]# vi /etc/cron.daily/rkhunter
#!/bin/bash MAIL_TO=root MAIL_SUBJECT="`hostname -s` `date +%Y%m%d_%H-%M-%S` Rootkit Hunter" LOG_FILE=`mktemp /tmp/rkhunter.temp.XXXXXX` /bin/rkhunter --update > /dev/null 2>&1 /bin/rkhunter --check --skip-keypress --cronjob --report-warnings-only 2>&1 > ${LOG_FILE} if [ -s ${LOG_FILE} ]; then grep Warning ${LOG_FILE} | mail -s "$MAIL_SUBJECT NG" $MAIL_TO else echo "$MAIL_SUBJECT OK" | mail -s "$MAIL_SUBJECT OK" $MAIL_TO fi rm -f ${LOG_FILE}
[root@co7 ~]# chmod +x /etc/cron.daily/rkhunter
コマンド群のバックアップ
rootkitで使われるコマンドをあらかじめバックアップしておき、仮に検出された際に修復できるようにしておきます。
[root@co7 ~]# yum -y install zip
インストール:
zip.x86_64 0:3.0-11.el7
完了しました!
[root@co7 ~]# mkdir rkhuntercmd
[root@co7 ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` rkhuntercmd/
/usr/bin/which: no netstat in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@co7 ~]# zip -r rkhuntercmd.zip rkhuntercmd/
adding: rkhuntercmd/ (stored 0%) adding: rkhuntercmd/ls (deflated 53%) adding: rkhuntercmd/ps (deflated 58%) adding: rkhuntercmd/id (deflated 50%) adding: rkhuntercmd/sed (deflated 52%) adding: rkhuntercmd/egrep (deflated 31%) adding: rkhuntercmd/cut (deflated 50%) adding: rkhuntercmd/strings (deflated 49%) adding: rkhuntercmd/awk (deflated 50%) adding: rkhuntercmd/find (deflated 51%) adding: rkhuntercmd/head (deflated 54%) adding: rkhuntercmd/echo (deflated 56%) adding: rkhuntercmd/uname (deflated 56%)
[root@co7 ~]# rm -rf rkhuntercmd
一部コマンドが「見つからない」としてコピーに失敗していますが気にしない!
あとはrkhuntercmd.zipをWinSCPで他のPCに移動したり、USBメモリに移すなりして、保管します。
とはいえ、今回コピーしたコマンド以外にも影響が出ている可能性があるため、rootkitが仕掛けられていると感じたならば、サーバ再構築の方が確実かも知れません…。
参考にしたサイト様
鳥さんでは足りないつぶやき - CentOS7 ルートキット検出ツール(rkhunter)インストール
今回新しく登場したコマンド
- grep
- zip
- which
[広告]
トップページ
CentOS 7
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他