- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2016-04-24T00:54:05+09:00","","")
[[Computer/OpenSource]]
*概要 [#edd169c6]
Clam AntiVirus は各種 UNIX 系のシステム(Linux, Mac OS X{{fn 特に Mac OS X Server ではデフォルトのアンチウィルスソフトとして採用されている.}} などを含む)で動作するアンチウイルスソフトである.パターンマッチング方式を採用しており,2008年4月16日の時点で約260,000種類のウイルスに対応している.GPL ライセンスに従って利用することができるオープンソースのソフトウェアである.
-http://www.clamav.net/ (公式ページ)
-http://clamav-jp.sourceforge.jp/ (日本語ページ)
*インストール [#gafa0628]
Vine Linux 3.2 では clamav は VinePlus の extras カテゴリに入っているので,apt の設定を確認してインストールする.Vine Linux 4.1 では plus カテゴリに入っているので次の作業は必要ない.
/etc/apt/sources.list の例(末尾に extras を加える)
# (ECCS mirror)
rpm [vine] ftp://ftp.ecc.u-tokyo.ac.jp/VINELINUX/apt/ 3.2/$(ARCH) main devel plus updates extras
rpm-src [vine] ftp://ftp.ecc.u-tokyo.ac.jp/VINELINUX/apt/ 3.2/$(ARCH) main devel plus updates extras
sources.list を更新したあと,apt-get でインストールする.
# apt-get install clamav
なお,clamav パッケージは頻繁にアップデートされているので,ウィルスデータベース同様,更新を怠らないこと.
**ソースからのインストール [#o9fd795f]
-http://nchc.dl.sourceforge.net/sourceforge/clamav/clamav-0.93.tar.gz
などからダウンロードする.
インストール方法は通常通り
$ ./configure
$ make
# make install
でできるが,先に gmp パッケージをインストールしておくと,Digital Signature 対応になる.参考:[[gmp>Computer/OpenSource/gmp]]
**トラブル対応 [#a1e9376e]
場合によってはうまくコンパイルできないことがある.次の例を参考にしてほしい.
-[[OS X 10.10 Yosemiteへの対応>Computer/OpenSource/ClamAV/Yosemite]]
-[[zlibのエラー>Computer/OpenSource/ClamAV/zlib]]
-[[gcc-4.0.1 on Mac OS X(10.4 Tiger & 10.5 Leopard)でのエラー(clamav-0.92 以降)>Computer/OpenSource/ClamAV/gcc-4.0.1]]
-[[Mac OS X 10.4 Tiger で上書きインストールできない場合>Computer/OpenSource/ClamAV/Tiger]]
-[[Mac OS X 10.5 Leopard への対応(clamav-0.92 以前)>Computer/OpenSource/ClamAV/Leopard]]
*共通設定 [#hf32b332]
以下の設定は,クライアント/サーバとも行う必要がある.
**clamd.conf の設定 [#sf27ae8b]
***テスト用設定の解除 [#e3af6200]
/etc/clamd.conf の8行目付近にある「Example」と書かれた行をコメントアウトする.
# Comment or remove the line below.
# Example
***ログファイルの設定 [#n86a6dcb]
ログファイルを出力したければ,次の部分のコメントを解除し,ファイルのパスを指定する.
# Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/clamd.log
//指定したら,ファイルを作成して所有者とパーミッションを設定しておく.
// # touch /var/log/clamd.log
// # chown clamav:clamav /var/log/clamd.log
// # chmod 640 /var/log/clamd.log
//パーミッションはお好みで.
***ソケットの設定 [#d8e3f250]
72行目付近のソケットの設定は,任意で LocalSocket /var/run/clamav/clamd に変更する.
# Path to a local socket file the daemon will listen on.
# Default: disabled
LocalSocket /var/run/clamav/clamd
**freshclam.conf の設定 [#jd0a23bf]
***テスト用設定の解除 [#ebb0d3f2]
/etc/freshclam.conf の9行目付近にある「Example」と書かれた行をコメントアウトする.
# Comment or remove the line below.
# Example
***サーバの変更 [#jc0365b5]
サーバを日本のものに変更しておく.55行目付近の記述を変更する.
# Uncomment the following line and replace XY with your country
# code. See http://www.iana.org/cctld/cctld-whois.htm for the full list.
# Default: There is no default, which results in an error when running freshclam
DatabaseMirror db.jp.clamav.net
*クライアント用設定 [#paa3f4cc]
**freshclam [#a9e7450f]
ウィルスデータベースの更新は
# freshclam
で行う.ウィルスデータベースはほぼ1日に1回更新されている.常時接続環境にあれば,「サーバ用設定」−「cron への登録」−「freshclam」で,/etc/cron.daily/freshclam を作成するとよい{{fn 常時マシンが起動されていなくても,マシンが起動してからしばらくたつと自動的に cron が実行される(anacron).}}.
**clamscan [#ya75620c]
ウィルスチェックを行うときは,
$ clamscan -r <Directory>
を実行すると,<Directory> 以下のファイル/ディレクトリが再帰的に検査される.
自動的にウィルスチェックを行わせるためには,「サーバ用設定」−「cron への登録」−「clamscan」で,/etc/cron.daily/clamscan を作成するとよい.
*サーバ用設定 [#oa4f198f]
**cron への登録 [#j703a57f]
***freshclam [#sf3d84b4]
毎日 freshclam を実行させるために,/etc/cron.daily/freshclam を作成する.
/etc/cron.daily/freshclam
#***/bin/sh
/usr/bin/freshclam –daemon-notify –quiet –log=/var/log/freshclam.log
実行権限を与えておく.
# chmod 755 /etc/cron.daily/freshclam
次に /var/log/freshclam.log を作成する{{fn うまくログが作成されないときは,所有者/グループを clamav にしておくとよいかもしれない.# chown clamav:clamav /var/log/freshclam.log}}.
# touch /var/log/freshclam.log
***clamscan [#a377068f]
自動的にウィルスに感染したファイルを検索させるには,cron に登録しておくとよい.
/etc/cron.{hourly,daily,weekly,monthly}/clamscan を作成する(個人的には weekly で十分だと思う).
/etc/cron.{hourly,daily,weekly,monthly}/clamscan
#***/bin/sh
#
# clamscan v1.0 2006/05/16 MATSUURA Takashi
#
PATH=/usr/bin
clamscan -r -i –log=/var/log/clamscan.log /home
–log= と /home の部分は自分の管理しているシステムに合わせて変更しておく.検索ディレクトリは,/var や /tmp も加えておくとよい.
実行権限を与えておく.
# chmod 755 /etc/cron.{hourly,daily,weekly,monthly}/clamscan
clamscan の結果は,root 宛にメールが届き,/var/log/clamscan.log にも記録される.
次に /var/log/clamscan.log を作成する.log に記録されたファイル名などが(管理者以外の)他人にわかってしまっては困るので,パーミッションを変えておく.
# touch /var/log/clamscan.log
# chmod 600 /var/log/clamscan.log
**logrotate の設定 [#l07920ad]
***freshclam [#a28d28d8]
freshclam のログは /var/log/freshclam.log にできる.これを lotate する.あまり大きなログではないので,1ヶ月に一回 lotate することにする.
/etc/logrotate.d/freshclam
/var/log/freshclam.log {
monthly
missingok
}
***clamscan [#h1d3d16a]
clamscan のログは /var/log/clamscan.log にできる.これを lotate する.これもあまり大きなログではないので,1ヶ月に一回 lotate することにする.
/etc/logrotate.d/clamscan
/var/log/clamscan.log {
monthly
missingok
}
**clamd を自動的にスタートさせる設定 [#r1649826]
サーバマシンの起動時に clamd も起動させるように設定する.
***起動スクリプトの作成 [#lf88a5aa]
clamd を起動するスクリプトを /etc/rc.d/init.d/clamd に作成する.
/etc/rc.d/init.d/clamd
#***/bin/bash
# chkconfig: 345 80 20
# description: Clamd daemon
. /etc/init.d/functions
prog="/usr/sbin/clamd"
prog_base="$(basename ${prog})"
prog_config_file="/etc/clamd.conf"
RETVAL=0
case "$1" in
start)
action $"Starting ${prog_base}:" ${prog} -c ${prog_config_file}
RETVAL=$?
echo
;;
stop)
echo $"Shutting down ${prog_base}"
killproc ${prog_base}
RETVAL=$?
echo
;;
status)
status $"${prog_base}"
RETVAL=$?
echo
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
reload)
pid=`pidofproc ${prog_base}`
kill -USR2 ${pid}
RETVAL=$?
;;
-)
echo "Usage: $0 {start>stop>status>restart>reload}"
exit 1
esac
exit $RETVAL
***起動スクリプトの登録 [#g209cc71]
起動スクリプトを作成したら実行権限を与え,サーバマシンを起動するたびに起動されるように設定する.そして,ソケット用に指定した /var/run/clamav を作成し,最後に clamd を起動する.
# chmod 755 /etc/rc.d/init.d/clamd
# chkconfig clamd on
# mkdir /var/run/clamav
# service clamd start
*使い方 [#x5811670]
**freshclam [#we6031ef]
# freshclam
を実行すると,ウィルスデータベースが更新される.
**clamscan [#tdef1b98]
$ clamscan
を実行するとウィルス検索ができる.詳しくは
$ clamscan –help
や
$ man clamscan
で確認する.
*エラー対応 [#ub974090]
**clamd [#l8804dca]
clamd の起動に失敗する場合は,/var/log/clamd.log などの log ファイルを参考にする.
***ソケットの削除 [#b2a847ec]
ソケットファイルが残っていて起動に失敗することがあるので,削除する.
# cd /var/run/clamav
# rm -rf clamd
*参考 [#xbf86b75]
-[[@IT:Linuxで動く便利ツール[ClamAV]:http://www.atmarkit.co.jp/flinux/prodreview/tool_clamav/clamav.html]]