パッケージを全部アップデートしておく

sudo yum update -y

タイムゾーンが変わっていたら元に戻す

date
sudo cp -f /usr/share/zoneinfo/Japan /etc/localtime
sudo service crond restart

ClamAVインストール

sudo yum install clamav clamav-scanner-sysvinit clamav-update -y

設定ファイル更新1

  • /etc/freshclam.conf
    sudo vi /etc/freshclam.conf	
  • 行削除するかコメント
    # Example            
  • コメントを解除
    DatabaseDirectory /var/lib/clamav
    UpdateLogFile /var/log/freshclam.log
    DatabaseOwner clamupdate
  • スクリプトでやっちゃう
    sed -i -e "s/Example/#Example/" freshclam.conf
    sed -i -e "s:#DatabaseDirectory /var/lib/clamav:DatabaseDirectory /var/lib/clamav:" freshclam.conf
    sed -i -e "s:#UpdateLogFile /var/log/freshclam.log:UpdateLogFile /var/log/freshclam.log:" freshclam.conf
    sed -i -e "s/#DatabaseOwner clamupdate/DatabaseOwner clamupdate/" freshclam.conf

定義ファイルの更新

sudo freshclam

設定ファイル更新2

  • etc/clamd.d/scan.conf
    sudo vi /etc/clamd.d/scan.conf
  • 行削除するかコメント
    # Example
  • コメントを解除
    LocalSocket /var/run/clamd.scan/clamd.sock
    FixStaleSocket yes
    TCPSocket 3310
    TCPAddr 127.0.0.1
  • スクリプトでやっちゃう
    sed -i -e "s/Example/#Example/" /etc/clamd.d/scan.conf
    sed -i -e "s:#LocalSocket /var/run/clamd.scan/clamd.sock:LocalSocket /var/run/clamd.scan/clamd.sock:" /etc/clamd.d/scan.conf
    sed -i -e "s/#FixStaleSocket yes/FixStaleSocket yes/" /etc/clamd.d/scan.conf
    sed -i -e "s/#TCPSocket 3310/TCPSocket 3310/" /etc/clamd.d/scan.conf
    sed -i -e "s/#TCPAddr 127.0.0.1/TCPAddr 127.0.0.1/" /etc/clamd.d/scan.conf

起動

sudo service clamd.scan start

自動起動設定

sudo chkconfig clamd.scan on
chkconfig

シンボリックシンクの作成

sudo ln -s /etc/clamd.d/scan.conf /etc/clamd.conf 

手動スキャン

/usr/bin/clamdscan .
or
/usr/bin/clamscan -r .

定義更新

/usr/bin/freshclam

自動設定

  • スクリプト作成
    mkdir -p /opt/scripts/clamav
  • /opt/scripts/clamav/virusscan.sh
    #!/bin/bash
    PATH=/usr/bin:/bin 
    
    #ログ出力 開始
    logger "[Info] ClamAV Scan Start" 
    
    fromAddr="<Mail address>"
    toAddr="<Mail address>"
    subjString="[AWS] Virus Found in `hostname`"
    
    
    # clamd update
    yum -y --enablerepo=rpmforge update clamd > /dev/null 2>&1
    freshclam > /dev/null 2>&1
    
    # excludeopt setup
    excludelist=/opt/scripts/clamav/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
    bodyString="`grep FOUND$ $CLAMSCANTMP`"
    [ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
    
    # report mail send
    echo -e "From: ${fromAddr}\nTo: ${toAddr}\nSubject:${subjString}\n\n${bodyString}" | /usr/sbin/sendmail -t ${toAddr} -f <Mail address>
    
    #ログ出力 ウィルス検知
    grep FOUND$ $CLAMSCANTMP | logger 
    
    rm -f $CLAMSCANTMP
    
    #ログ出力 終了
    logger "[Info] ClamAV Scan Finish"
  • 実行権限付与
    sudo chmod 755 /opt/scripts/clamav/virusscan.sh
  • 除外場所設定
    sudo echo "/proc/" >> /opt/scripts/clamav/clamscan.exclude
    sudo echo "/sys/" >> /opt/scripts/clamav/clamscan.exclude
  • cron
    cd /etc/cron.daily
    sudo ln -s /opt/scripts/clamav/virusscan.sh

テストデータ

wget http://www.eicar.org/download/eicar.com.txt
wget http://www.eicar.org/download/eicar_com.zip
wget http://www.eicar.org/download/eicarcom2.zip
C#関連
(books)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Sun, 12 Nov 2017 22:08:31 JST (32d)