rootkit 検知システム導入 (chkrootkit)
- chkrootkitインストール
$ su -
パスワード:
# yum install -y chkrootkit
- chkrootkit 確認
# chkrootkit | grep INFECTED
何も表示されなければ問題なし
Clam AntiVirus 導入
- Clam AntiVirus インストール
- 必要パッケージのインストール
# yum install zlib-devel gmp-devel
- clamav ユーザ登録
# useradd -s /sbin/nologin clamav -m -d /usr/local/share/clamav -k /dev/null
- Clam AntiVirusダウンロード 最新版確認>
# wget http://jaist.dl.sourceforge.net/sourceforge/clamav/clamav-0.95.3.tar.gz
- インストール
# tar zxvf clamav-0.95.3.tar.gz
# cd clamav-0.95.3
# ./configure ; make ; make install
# rm -rf clamav-0.95.3*
- Clam AntiVirus設定
- vi /usr/local/etc/clamd.conf
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| |
LogFile /var/log/clamd.log ← ログを記録する
LogTime yes ← ログに日時も記録する
LocalSocket /tmp/clamd.socket ← ソケット通信設定
FixStaleSocket yes ← clamd強制終了後の再起動不可対処
|
- vi /usr/local/etc/freshclam.conf
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| |
UpdateLogFile /var/log/freshclam.log ← ログを記録する
DatabaseMirror db.jp.clamav.net ← ウィルス定義ファイル入手元を日本に変更
NotifyClamd /usr/local/etc/clamd.conf ← ウィルス定義ファイル更新をclamdに通知する
|
- Logファイル準備
# touch /var/log/freshclam.log
# chown clamav:clamav /var/log/freshclam.log
# freshclam
- 自動実行スクリプト作成
# vi freshclam
0
1
| | /usr/local/bin/freshclam --quiet
|
# chmod 700 freshclam
# mv freshclam /etc/cron.hourly/
- ログローテーション設定
- Clam AntiVirus起動
# wget http://nchc.dl.sourceforge.net/sourceforge/clamav/clamav-0.94.2.tar.gz
# tar zxvf clamav-0.94.2.tar.gz
# cp clamav-0.94.2/contrib/init/RedHat/clamd /etc/rc.d/init.d/
# rm -rf clamav-0.94.2*
# vi /etc/rc.d/init.d/clamd
#ulimit -f 20000 ← 行頭に#を追加してコメントウアト
# /etc/rc.d/init.d/clamd start
# chkconfig --add clamd
# chkconfig clamd on
- 定期自動実行設定
# vi clamav.sh
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| |
PATH=/bin:/usr/local/bin
excludelist=/root/clamscan.exclude
if [ -s $excludelist ]; then
for i in `cat $excludelist`
do
if [ $(echo "$i"|grep \/$) ]; then
i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
excludeopt="${excludeopt} --exclude-dir=^$i"
else
excludeopt="${excludeopt} --exclude=^$i"
fi
done
fi
freshclam > /dev/null 2>&1
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP
|
# chmod 700 clamav.sh
スキャン除外設定(例)
# echo "/backup/backup.tar.bz2" >> clamscan.exclude
# echo "/proc/" >> clamscan.exclude
# echo "/sys/" >> clamscan.exclude
# mv clamav.sh /etc/cron.daily/
- clamav-update インストール
# yum -y install curl
# wget "http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fclamav-update%2F44451%2Fclamav-update-2.2.6.tar.gz"
# tar zxvf clamav-update-2.2.6.tar.gz
# cd clamav-update-2.2.6
# ./install.sh
# cd
# rm -rf clamav-update-2.2.6*
- clamav-update 設定
# vi /usr/local/etc/freshclam.conf
0
1
2
3
4
5
6
7
8
9
10
11
12
| | DatabaseOwner root ← データベース所有者をrootに変更
OnOutdatedExecute /usr/local/bin/clamav-update.pl --config /usr/local/etc/clamav-update.conf
← Clam AntiVirusアップデート検知時にclamav-updateを実行する
|
参考
Fedora で自宅サーバー>
Fedora で自宅サーバー>