いらっしゃいませ
rootkitが仕込まれていないかをチェックするツールにchkrootkitがあります。
ここでは、chkrootkitの導入手順を掲載しています。
chkrootkitとは…
不正アクセスに使われるコマンドやツールをセットにしたものです。rootkitは不正アクセスに必要なコマンド、ソフト、プロセスを隠蔽する働きを持ち、システムや管理者から見えない状態になるため、検出するのは非常に困難です。
chkrootkitは既知のrootkitをサーバ内から探しだし、通知をする機能を持っています。
ただし、このchkrootkitでは検出しか出来ません。仮にrootkitが検知された場合、修復などは自分で行う必要があります。また、誤検出もあったりするので、過信せず、目安程度に留めておくのが良さそうです。
chkrootkitのインストール
chkrootkitは公式のリポジトリにないので、EPELリポジトリを使ってインストールします。
EPELリポジトリの設定をしていない方は初期設定ページをご覧ください。
[root@sl ~]# yum --enablerepo=epel -y install chkrootkit
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* epel: ftp.riken.jp
* sl: ftp.riken.jp
* sl-security: ftp.riken.jp
* sl6x: ftp.riken.jp
* sl6x-security: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package chkrootkit.x86_64 0:0.49-9.el6 will be インストール
--> 依存性の処理をしています: /usr/bin/consolehelper のパッケージ: chkrootkit-0.49-9.el6.x86_64
--> トランザクションの確認を実行しています。
---> Package usermode.x86_64 0:1.102-3.el6 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
================================================================================
インストールしています:
chkrootkit x86_64 0.49-9.el6 epel 310 k
依存性関連でのインストールをします。:
usermode x86_64 1.102-3.el6 sl 186 k
トランザクションの要約
================================================================================
インストール 2 パッケージ
総ダウンロード容量: 496 k
インストール済み容量: 1.6 M
パッケージをダウンロードしています:
(1/2): chkrootkit-0.49-9.el6.x86_64.rpm | 310 kB 00:00
(2/2): usermode-1.102-3.el6.x86_64.rpm | 186 kB 00:00
--------------------------------------------------------------------------------
合計 1.6 MB/s | 496 kB 00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : usermode-1.102-3.el6.x86_64 1/2
インストールしています : chkrootkit-0.49-9.el6.x86_64 2/2
Verifying : chkrootkit-0.49-9.el6.x86_64 1/2
Verifying : usermode-1.102-3.el6.x86_64 2/2
インストール:
chkrootkit.x86_64 0:0.49-9.el6
依存性関連をインストールしました:
usermode.x86_64 0:1.102-3.el6
完了しました!
chkrootkitの実行
実際に動かしてみたいと思います。
[root@sl ~]# chkrootkit | grep INFECTED
"INFECTED"と表示されなければ検出されなかったということです。
[root@sl ~]# 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 # upstartパッケージ更新時のSuckit誤検知対応 if [ ! -z "$(grep Suckit $TMPLOG)" ] && \ [ -z $(rpm -V `rpm -qf /sbin/init`) ]; then sed -i '/Suckit/d' $TMPLOG fi # rootkit検知時のみroot宛メール送信 [ ! -z "$(grep INFECTED $TMPLOG)" ] && \ grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root rm -f $TMPLOG
[root@sl ~]# chmod +x /etc/cron.daily/chkrootkit
コマンド群のバックアップ
rootkitで使われるコマンドをあらかじめバックアップしておき、仮に検出された際に修復できるようにしておきます。
[root@sl ~]# mkdir chkrootkitcmd
[root@sl ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/
[root@sl ~]# zip -r chkrootkitcmd.zip chkrootkitcmd/
adding: chkrootkitcmd/ (stored 0%) adding: chkrootkitcmd/uname (deflated 54%) adding: chkrootkitcmd/cut (deflated 51%) adding: chkrootkitcmd/sed (deflated 54%) adding: chkrootkitcmd/head (deflated 52%) adding: chkrootkitcmd/ps (deflated 59%) adding: chkrootkitcmd/echo (deflated 54%) adding: chkrootkitcmd/ls (deflated 55%) adding: chkrootkitcmd/egrep (deflated 49%) adding: chkrootkitcmd/strings (deflated 57%) adding: chkrootkitcmd/id (deflated 54%) adding: chkrootkitcmd/awk (deflated 51%) adding: chkrootkitcmd/find (deflated 52%) adding: chkrootkitcmd/netstat (deflated 57%)
[root@sl ~]# rm -rf chkrootkitcmd
あとはchkrootkitcmd.zipをWinSCPで他のPCに移動したり、USBメモリに移すなりして、保管します。
とはいえ、今回コピーしたコマンド以外にも影響が出ている可能性があるため、rootkitが仕掛けられていると感じたならば、サーバ再構築の方が確実かも知れません…。
参考にしたサイト様
今回新しく登場したコマンド
- grep
- zip
- which
[広告]
トップページ
Scientific Linux 6
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○NTPサーバ
○Dynamic DNS
○DNSサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○ブログシステム
○その他