#contents
 
 
 *パッケージを全部アップデートしておく [#n64ea35a]
  sudo yum update -y
 
 *タイムゾーンが変わっていたら元に戻す [#g948a329]
  date
  sudo cp -f /usr/share/zoneinfo/Japan /etc/localtime
  sudo service crond restart
 
 *ClamAVインストール [#d3583c04]
  sudo yum install clamav clamav-scanner-sysvinit clamav-update -y
 
 *設定ファイル更新1 [#y8659419]
 -/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
 
 *定義ファイルの更新 [#za9c5b50]
  sudo freshclam
 
 *設定ファイル更新2 [#a26286b8]
 -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
 
 
 *起動 [#o2b9bc13]
  sudo service clamd.scan start
 
 *自動起動設定 [#zd57e214]
  sudo chkconfig clamd.scan on
  chkconfig
 
 *シンボリックシンクの作成 [#da8633a7]
  sudo ln -s /etc/clamd.d/scan.conf /etc/clamd.conf 
 
 
 *手動スキャン [#oa5e2cc8]
  /usr/bin/clamdscan .
  or
  /usr/bin/clamscan -r .
 
 *定義更新 [#y8c88405]
  /usr/bin/freshclam
 
 
 
 *自動設定 [#sc568c9a]
 -スクリプト作成
  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
 
 
 -元ネタは[[ここ>http://infra.blog.shinobi.jp/Entry/56/]]です
 
 *テストデータ [#kbfd6cba]
  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
 
 
 CENTER:&amazon(zaurus,key,Linux UNIX リナックス GNU Solaris Windows XP Vista C# Java PHP Ruby Apache VB C++ 玄箱 Debian RedHat SQL Oracle AWS, books);
 


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS