chkrootkitでrootkitを検知しよう!
rootkitが仕込まれていないかをチェックするツールにchkrootkitがあります。
ここでは、chkrootkitの導入手順を掲載しています。
chkrootkitとは…
rootkitは不正アクセスに必要なコマンド、ソフト、プロセスを隠蔽する働きを持ち、システムや管理者から見えない状態になるため、検出するのは非常に困難です。
chkrootkitは不正アクセスに使われるコマンドやツールをセットにしたもので、既知のrootkitをサーバ内から探しだし、通知をする機能を持っています。
ただし、このchkrootkitでは検出しか出来ません。仮にrootkitが検知された場合、修復などは自分で行う必要があります。また、誤検出もあったりするので、過信せず、目安程度に留めておくのが良さそうです。
chkrootkitのインストール
chkrootkitは公式のリポジトリにないので、EPELリポジトリを使ってインストールします。
EPELリポジトリの設定をしていない方は初期設定ページをご覧ください。
[root@co ~]# yum --enablerepo=epel -y install chkrootkit
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
epel | 3.6 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package chkrootkit.x86_64 0:0.49-1.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
chkrootkit x86_64 0.49-1.el5 epel 303 k
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 303 k
Downloading Packages:
chkrootkit-0.49-1.el5.x86_64.rpm | 303 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : chkrootkit 1/1
Installed:
chkrootkit.x86_64 0:0.49-1.el5
Complete!
chkrootkitの実行
実際に動かしてみたいと思います。
[root@co ~]# chkrootkit | grep INFECTED
"INFECTED"と表示されなければ検出されなかったということです。
[root@co ~]# 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@co ~]# chmod +x /etc/cron.daily/chkrootkit
コマンド群のバックアップ
rootkitで使われるコマンドをあらかじめバックアップしておき、仮に検出された際に修復できるようにしておきます。
[root@co ~]# mkdir chkrootkitcmd
[root@co ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/
[root@co ~]# zip -r chkrootkitcmd.zip chkrootkitcmd/
adding: chkrootkitcmd/ (stored 0%)
adding: chkrootkitcmd/ls (deflated 54%)
adding: chkrootkitcmd/uname (deflated 59%)
adding: chkrootkitcmd/egrep (deflated 50%)
adding: chkrootkitcmd/find (deflated 52%)
adding: chkrootkitcmd/sed (deflated 54%)
adding: chkrootkitcmd/awk (deflated 51%)
adding: chkrootkitcmd/netstat (deflated 58%)
adding: chkrootkitcmd/id (deflated 58%)
adding: chkrootkitcmd/ps (deflated 60%)
adding: chkrootkitcmd/echo (deflated 59%)
adding: chkrootkitcmd/head (deflated 56%)
adding: chkrootkitcmd/cut (deflated 54%)
adding: chkrootkitcmd/strings (deflated 58%)
[root@co ~]# rm -rf chkrootkitcmd
あとはchkrootkitcmd.zipをWinSCPで他のPCに移動したり、USBメモリに移すなりして、保管します。
とはいえ、今回コピーしたコマンド以外にも影響が出ている可能性があるため、rootkitが仕掛けられていると感じたならば、サーバ再構築の方が確実かも知れません…。
参考にしたサイト様
CentOSで自宅サーバー構築 - rootkit検知ツール導入(chkrootkit)
はじめての自宅サーバ構築 - Fedora/CentOS - - セキュリティ強化 - rootkit 検知ツールの導入(chkrootkit)
今回新しく登場したコマンド
- grep
- zip
- which
[広告]

トップページ
Rocky Linux 8
CentOS 7
Scientific Linux 6
CentOS 5
○準備
○VMware Player
○Hyper-V(Win Proのみ)
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○ブログシステム
○その他
ブログ
[広告]