#author("2016-04-24T00:54:19+09:00","","")
#author("2016-04-24T17:03:41+09:00","","")
[[Computer/OpenSource]]

*概要 [#edd169c6]

Clam AntiVirus は各種 UNIX 系のシステム(Linux, Mac OS Xなどを含む)で動作するアンチウイルスソフトである.パターンマッチング方式を採用しており,2008年4月16日の時点で約260,000種類のウイルスに対応している.GPL ライセンスに従って利用することができるオープンソースのソフトウェアである.
Clam AntiVirusは各種UNIX系のシステム(Linux, Mac OS Xなどを含む)で動作するアンチウイルスソフトである.パターンマッチング方式を採用しており,2016年4月の時点で約4,300,000種類のウイルスに対応している.GPLライセンスに従って利用することができるオープンソースのソフトウェアである.Windows版もある.

-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]]

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