カテゴリー別アーカイブ: セキュリティ

ClamAVのリソース占有問題

Virusチェックは、なんだかんだCPUリソースを使う。
これはパソコンに限らず、サーバも一緒。

無料なんで、それなりのインストール数取っているであろうCalmAV
これもやっぱりCPUをよく食らう。

お行儀よくしたいなーって思っていたら、デーモン化することでCGroups
で制御できるぞ、との記事を発見!

ClamAVをCGroupで管理してCPUを節約する

Centos7へのclamavのインストール

インストール

yum -y install clamav clamav-server clamav-server-systemd clamav-update clamav-scanner

設定(freshclam.conf)

vi /etc/freshclam.conf
コメントアウト
	Example
追記
	NotifyClamd /etc/clamd.d/scan.conf

設定(freshclam)

vi /etc/sysconfig/freshclam
コメントアウト
	FRESHCLAM_DELAY=disabled-warn

ウィルス定義ファイル最新化

freshclam

設定(scan.conf)

vi /etc/clamd.d/scan.conf
コメントアウト
	Example
コメントはずし
	LocalSocket

サービス開始

systemctl start clamd.scan
/sbin/chkconfig clamd.scan on

スキャンテスト

clamscan --infected --remove --recursive

スキャン実施スクリプトの作成

#!/bin/bash

PATH=/usr/bin:/bin

# excludeopt setup
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

# virus scan
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \

# report mail send
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP

スキャン除外設定

echo "/proc/" >> clamscan.exclude
echo "/sys/" >> clamscan.exclude

クーロン登録

mv virusscan /etc/cron.daily/