2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

FreeなclamAntiVirusのインスコ!

FreeBSD鯖にClamAntiVirusを入れた。
これは、Freeなウィルススキャナーで最近かなり頻繁に定義ファイルも更新されているらしい。だから、ちと使ってみた。FreeBSDでは、portsに入っている。しかし、ここではソースからコンパイルする方法を説明している。


1.ソースのゲット

ソースは、 ここ でゲットしてくる。執筆時点(2004年10月)で、 clamav-0.80.tar.gz が最新だった。


2.clamavユーザとグループを作る

bash-2.05b# pw groupadd clamav
bash-2.05b# pw useradd clamav -g clamav -d /dev/null -s /bin/false


3.コンパイル

bash-2.05b# cd /usr/local/src
bash-2.05b# tar zxvf clamav-0.80.tar.gz
bash-2.05b# chown -R root:wheel clamav-0.80
bash-2.05b# cd clamav-0.80
bash-2.05b# ./configure
bash-2.05b# make
bash-2.05b# make install


4.必要なディレクトリの作成とオーナー設定

bash-2.05b# mkdir /var/run/clamav
bash-2.05b# chown clamav:clamav /var/run/clamav


5.ログファイルを作る

bash-2.05b# mkdir /var/log/clamav
bash-2.05b# chown clamav:clamav /var/log/clamav
bash-2.05b# touch /var/log/clamav/freshclam.log
bash-2.05b# chown clamav:clamav /var/log/clamav/freshclam.log
bash-2.05b# touch /var/log/clamav/clamd.log
bash-2.05b# chown clamav:clamav /var/log/clamav/clamd.log


6.confファイルの設定

/usr/local/etcにclamd.confとfreshclam.confが有るので両方編集する。

1)freshclam.conf

# vi /usr/local/etc/freshclam.conf

#Example                   ← コメントする

UpdateLogFile /var/log/clamav/freshclam.log

PidFile /var/run/clamav/freshclam.pid

DatabaseOwner clamav

DNSDatabaseInfo current.cvd.clamav.net

running freshclam

DatabaseMirror database.clamav.net

2)clamd.conf

# vi /usr/local/etc/clamd.conf

#Example                    ← コメントする

LogFile /var/log/clamav/clamd.log

LogTime

PidFile /var/run/clamav/clamd.pid

LocalSocket /var/run/clamav/clamd.sock

User clamav

ScanMail


7.実際にスキャンする

1)全てOKだった場合

bash-2.05b# /usr/local/bin/clamscan -r /tmp
/tmp/proftpd.conf: OK
/tmp/install.php: OK
/tmp/maillog.1: OK
/tmp/header_checks: OK
/tmp/body_checks: OK
/tmp/logcheck-1.1.1.tar.gz: OK
/tmp/install.sql: OK
/tmp/messages.0: OK
/tmp/INDEX88084.0: Empty file.
/tmp/maillog.0: OK
/tmp/aliases: OK
/tmp/index.html: OK
/tmp/main.cf: OK

———– SCAN SUMMARY ———–
Known viruses: 25253
Scanned directories: 2
Scanned files: 12
Infected files: 0
Data scanned: 0.62 MB
I/O buffer size: 131072 bytes
Time: 16.738 sec (0 m 16 s)

2)ウィルスが居た場合

bash-2.05b# /usr/local/bin/clamscan -r /tmp
/tmp/proftpd.conf: OK
/tmp/install.php: OK
/tmp/maillog.1: OK
/tmp/header_checks: OK
/tmp/body_checks: OK
/tmp/logcheck-1.1.1.tar.gz: OK
/tmp/install.sql: OK
/tmp/messages.0: OK
/tmp/eicar.com: Eicar-Test-Signature FOUND
/tmp/eicar.com.txt: Eicar-Test-Signature FOUND
/tmp/eicar_com.zip: Eicar-Test-Signature FOUND
/tmp/eicarcom2.zip: Eicar-Test-Signature FOUND
/tmp/INDEX88084.0: Empty file.
/tmp/maillog.0: OK
/tmp/aliases: OK
/tmp/index.html: OK
/tmp/main.cf: OK

———– SCAN SUMMARY ———–
Known viruses: 25379
Scanned directories: 2
Scanned files: 16
Infected files: 4
Data scanned: 0.62 MB
I/O buffer size: 131072 bytes
Time: 14.857 sec (0 m 14 s)

テストウィルスを入れておいたら引っかかった。Eicar-Test-Signature FOUNDがウィルスだ。


8.定義ファイルのアップデート

# freshclam
ClamAV update process started at Sun Oct 24 21:27:39 2004
main.cvd is up to date (version: 27, sigs: 23982, f-level: 2, builder: tomek)
daily.cvd is up to date (version: 548, sigs: 1549, f-level: 3, builder: ccordes)

これは、すでにアップデートされている状態である。

1)cronでの更新

実際の定期的な更新はcronでやるなら、
# touch /var/log/clamav/update.log
# chmod 644 /var/log/clamav/update.log
# chown clamav /var/log/clamav/update.log

/etc/crontab などに登録する。
34 * * * * clamav /usr/local/bin/freshclam –quiet -l /var/log/clamav/update.log

2)デーモンでの更新

デーモンで定期的に更新するならば、

# freshclam -d -c 5
これは、デーモンで一日に5回更新する。


9.その他

1)logrotationについて
logファイルが有ると言うことは、logが肥大化すると言うことで・・・・・。

# cd /etc/logrotate.d
# vi clamav

/var/log/clamav/clamd.log {
missingok
postrotate
/bin/kill -HUP `/bin/cat /var/run/clamav/clamd.pid`
endscript
}

/var/log/clamav/freshclam.log {
missingok
postrotate
/bin/kill -HUP `/bin/cat /var/run/clamav/freshclam.pid`
endscript
}

2)怪しいWARNING
Clamavはサイトをたまに見てstableがバージョンアップされてないか覗いて、バージョンアップされてたらコンパイルビルドインストールしよう。古くても定義ファイルのアップは出来るが、こいつ起動するたびに怪しいワーニングをfreshclam.logへ吐き出す。怪しいというか詰まるところ、新しいバージョン出てるから早くアップしろ!って言われてるんだがね(笑)。
たとえば、以下はfleshclam.logの一部だが、バージョン0.87を入っていたのだがすでにclamavのサイトには、バージョン0.88がアップされていた。したがって、以下のようなWARNINGを吐いたが、バージョン0.88へアップしらWARNINGが消えた。

————————————–
freshclam daemon 0.87 (OS: linux-gnu, ARCH: i386, CPU: i686)
ClamAV update process started at Fri Feb 3 21:35:45 2006
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/faq.html for an explanation.
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.87 Recommended version: 0.88
DON’T PANIC! Read http://www.clamav.net/faq.html
main.cvd is up to date (version: 35, sigs: 41649, f-level: 6, builder: tkojm)
daily.cvd is up to date (version: 1273, sigs: 2314, f-level: 7, builder: diego)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 6, recommended = 7
DON’T PANIC! Read http://www.clamav.net/faq.html
————————————–
————————————–
freshclam daemon 0.88 (OS: linux-gnu, ARCH: i386, CPU: i686)
ClamAV update process started at Fri Feb 3 22:14:18 2006
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/faq.html for an explanation.
main.cvd is up to date (version: 35, sigs: 41649, f-level: 6, builder: tkojm)
daily.cvd is up to date (version: 1273, sigs: 2314, f-level: 7, builder: diego)
————————————–

これがあまり気持ちいい物ではない。気にならない人はこの限りではない。

以上

コメント