chkrootkitでrootkitを検知しよう!
rootkitが仕込まれていないかをチェックするツールにchkrootkitがあります。
ここでは、chkrootkitの導入手順を掲載しています。
※CentOS 5のサポートは2017年3月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
chkrootkitとは…
rootkitとは、不正アクセスに使われるコマンドやツールをセットにしたものです。rootkitは不正アクセスに必要なコマンド、ソフト、プロセスを隠蔽する働きを持ち、システムや管理者から見えない状態になるため、検出するのは非常に困難です。
chkrootkitはrootkitの仕込まれた疑いのあるコマンドをサーバ内から探しだし、通知をする機能を持っています。
ただし、このchkrootkitでは検出しか出来ません。仮にrootkitが検知された場合、バックアップから復元するなど、修復は自分で行う必要があります。また、誤検出もあったりするので、過信せず、目安程度に留めておくのが良さそうです。
chkrootkitのインストール
EPELリポジトリにありますがまともに使えないので、rpmを直接ダウンロードしてからインストールします。
[root@co5 ~]# rpm -Uvh http://archives.fedoraproject.org/pub/archive/epel/5/x86_64/chkrootkit-0.49-9.el5.x86_64.rpm
準備中... ########################################### [100%] 1:chkrootkit ########################################### [100%]
chkrootkitの実行
実際に動かしてみたいと思います。
[root@co ~]# chkrootkit | grep INFECTED
"INFECTED"と表示されなければ検出されなかったということです。
[root@co5 ~]# vi /etc/cron.daily/chkrootkit
#!/bin/bash PATH=/usr/bin:/bin TMPLOG=`mktemp` # chkrootkit実行 chkrootkit > $TMPLOG # ログ出力 cat $TMPLOG | logger -t chkrootkit # SMTPSのbindshell誤検知対応 if [ ! -z "$(grep 465 $TMPLOG)" ] && \ [ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then sed -i '/465/d' $TMPLOG fi # rootkit検知時のみroot宛メール送信 [ ! -z "$(grep INFECTED $TMPLOG)" ] && \ grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root rm -f $TMPLOG
作成したスクリプトに実行権限を与えます。
[root@co5 ~]# chmod +x /etc/cron.daily/chkrootkit
コマンド群のバックアップ
rootkitで使われるコマンドをあらかじめバックアップしておき、仮に検出された際に修復できるようにしておきます。
[root@co5 ~]# mkdir chkrootkitcmd
[root@co5 ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/
[root@co5 ~]# zip -r chkrootkitcmd.zip chkrootkitcmd/
adding: chkrootkitcmd/ (stored 0%) adding: chkrootkitcmd/find (deflated 52%) adding: chkrootkitcmd/awk (deflated 51%) adding: chkrootkitcmd/uname (deflated 58%) adding: chkrootkitcmd/ps (deflated 60%) adding: chkrootkitcmd/netstat (deflated 58%) adding: chkrootkitcmd/cut (deflated 54%) adding: chkrootkitcmd/sed (deflated 54%) adding: chkrootkitcmd/ls (deflated 54%) adding: chkrootkitcmd/strings (deflated 58%) adding: chkrootkitcmd/echo (deflated 59%) adding: chkrootkitcmd/egrep (deflated 50%) adding: chkrootkitcmd/head (deflated 56%) adding: chkrootkitcmd/id (deflated 58%)
あとはchkrootkitcmd.zipをWinSCPで他のPCに移動したり、USBメモリに移すなりして、保管します。
とはいえ、今回コピーしたコマンド以外にも影響が出ている可能性があるため、rootkitが仕掛けられていると感じたならば、サーバ再構築の方が確実かも知れません…。
参考にしたサイト様
CentOSで自宅サーバー構築 - rootkit検知ツール導入(chkrootkit)
はじめての自宅サーバ構築 - Fedora/CentOS - - セキュリティ強化 - rootkit 検知ツールの導入(chkrootkit)
今回新しく登場したコマンド
- grep
- zip
- which
[広告]
トップページ
CentOS 5
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○その他