ふと思い立ったので、AVGを入れてみた

ほんとに、ふとした思いつきで、AVG AntiVirusのLinux版を入れてみたので、備忘録的にメモ。
ClamAVが動いている環境ではあるのだけど、念のため複数のAnti Virusスキャナを動かしてみよう、という興味本位でのお試しではありますが・・・。


ダウンロート&インストール

AVGのダウンロードページから、"Debian based distributions (Debian, Ubuntu)"のリンクをクリック。
でも、Macから再度転送するのが面倒なので、今回はwgetコマンドで直接インストールしたいサーバに、直接ダウンロード。

soukaku@eswat2:~$ wget http://www.avg.com/filedir/inst/avg75fld-r51-a1243.i386.deb
--2009-01-03 21:37:23--  http://www.avg.com/filedir/inst/avg75fld-r51-a1243.i386.deb
www.avg.com をDNSに問いあわせています... 64.74.243.14, 64.74.243.15, 77.67.44.203, ...
www.avg.com|64.74.243.14|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://www.grisoft.cz/filedir/inst/avg75fld-r51-a1243.i386.deb [続く]
--2009-01-03 21:37:24--  http://www.grisoft.cz/filedir/inst/avg75fld-r51-a1243.i386.deb
www.grisoft.cz をDNSに問いあわせています... 193.86.103.18
www.grisoft.cz|193.86.103.18|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://download.avg.com/filedir/inst/avg75fld-r51-a1243.i386.deb [続く]
--2009-01-03 21:37:26--  http://download.avg.com/filedir/inst/avg75fld-r51-a1243.i386.deb
download.avg.com をDNSに問いあわせています... 212.96.161.226
download.avg.com|212.96.161.226|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 49350626 (47M) [text/plain]
`avg75fld-r51-a1243.i386.deb' に保存中
2009-01-03 21:51:10 (58.6 KB/s) - `avg75fld-r51-a1243.i386.deb' へ保存完了 [49350626/49350626]

ダウンロードが終わると、次のようなdebファイルがあることを確認。

soukaku@eswat2:~$ ls -l avg75fld-r51-a1243.i386.deb
-rw-r--r-- 1 soukaku soukaku 49350626 2008-01-21 23:49 avg75fld-r51-a1243.i386.deb

あとは、root権限で、このdebファイルをインストール。

soukaku@eswat2:~$ su -
パスワード:
eswat2:~# dpkg -i ~soukaku/avg75fld-r51-a1243.i386.deb
未選択パッケージ avg75fld を選択しています。
(データベースを読み込んでいます ... 現在 153008 個のファイルとディレクトリがインストールされています。)
(.../avg75fld-r51-a1243.i386.deb から) avg75fld を展開しています...
dpkg: 依存関係の問題により avg75fld の設定ができません:
 avg75fld は以下に依存 (depends) します: python-glade2 (>= 2.0) ...しかし:
  パッケージ python-glade2 はまだインストールされていません。
dpkg: avg75fld の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
menu のトリガを処理しています ...
以下のパッケージの処理中にエラーが発生しました:
 avg75fld

簡単にはいるかと思ったら、python-glade2というパッケージに依存しているので、これを先にインストール。と思ったら、依存関係が解決できなくて保留されていたAVGもインストール完了。

eswat2:~# aptitude install python-glade2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
以下の新規パッケージがインストールされます:
  libglade2-0{a} python-glade2
以下の、インストールが完了していないパッケージが設定されます:
  avg75fld
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
129kB のアーカイブを取得する必要があります。展開後に 246kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
拡張状態情報を書き込んでいます... 完了
取得:1 http://http1.debian.or.jp sid/main libglade2-0 1:2.6.3-1 [86.7kB]
取得:2 http://http1.debian.or.jp sid/main python-glade2 2.12.1-6 [42.5kB]
129kB を 0s 秒でダウンロードしました (255kB/s)
パッケージフィールドを読み込んでいます... Done
Reading package status... Done
Retrieving bug reports... Done
Parsing Found/Fixed information... Done
データベース /var/lib/apt/listchanges.db をロードするのに失敗しました
Exception bsddb.db.DBRunRecoveryError: DBRunRecoveryError(-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery') in  ignored
未選択パッケージ libglade2-0 を選択しています。
(データベースを読み込んでいます ... 現在 153193 個のファイルとディレクトリがインストールされています。)
(.../libglade2-0_1%3a2.6.3-1_i386.deb から) libglade2-0 を展開しています...
未選択パッケージ python-glade2 を選択しています。
(.../python-glade2_2.12.1-6_i386.deb から) python-glade2 を展開しています...
libglade2-0 (1:2.6.3-1) を設定しています ...
python-glade2 (2.12.1-6) を設定しています ...
avg75fld (7.5.51_a1243) を設定しています ...
Installing 'avgd' service initscripts...
Registering 'avgd' service to runlevels...
update-rc.d: warning: /etc/init.d/avgd missing LSB keyword 'required-start'
update-rc.d: warning: /etc/init.d/avgd missing LSB keyword 'required-stop'
 Adding system startup for /etc/init.d/avgd ...
   /etc/rc0.d/K20avgd -> ../init.d/avgd
   /etc/rc1.d/K20avgd -> ../init.d/avgd
   /etc/rc6.d/K20avgd -> ../init.d/avgd
   /etc/rc2.d/S20avgd -> ../init.d/avgd
   /etc/rc3.d/S20avgd -> ../init.d/avgd
   /etc/rc4.d/S20avgd -> ../init.d/avgd
   /etc/rc5.d/S20avgd -> ../init.d/avgd
Please launch the '/opt/grisoft/avggui/bin/avggui_update_licinfo.sh'
script as root for updating license information.
AVG 7.5 Anti-Virus Free for Linux successfully installed.
python-support のトリガを処理しています ...
menu のトリガを処理しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
現在の状態: 依存関係破損が 0 個 [-1]。

amavisd-newと連携させてみる

インストールが出来ただけでは楽しくないので、amavisd-newと連携させて、メール受信時にVirusスキャンを行うように設定してみる。
ちなみに、AVG本体は/opt/grisoft/以下にインストールされ、ドキュメント類も/opt/grisoft/avg7/doc/にあるので、そこにあるREADME.amavisを参照しつつ、amavisd-newの設定を変更。

amavisd-newだと、Ant-Virusスキャナーの設定は、/etc/amavis/conf.d/15-av_scannersにまとまっているので、それを次のように修正。

eswat2:/etc/amavis/conf.d# diff -u 15-av_scanners~ 15-av_scanners
--- 15-av_scanners~     2007-10-15 21:21:47.000000000 +0900
+++ 15-av_scanners      2009-01-03 22:20:38.000000000 +0900
@@ -39,9 +39,9 @@
 #   qr/(?x)^ [-+]? \d+ : (.*?) [\000\r\n]* $/ ],
 # ### http://www.grisoft.com/
-# ['AVG Anti-Virus',
-#   \&ask_daemon, ["SCAN {}\n", '127.0.0.1:55555'],
-#   qr/^200/, qr/^403/, qr/^403 .*?: ([^\r\n]+)/ ],
+['AVG Anti-Virus',
+  \&ask_daemon, ["SCAN {}\n", '127.0.0.1:55555'],
+  qr/^200/, qr/^403/, qr/^403 .*?: ([^\r\n]+)/ ],
 # ### http://www.f-prot.com/
 # ['FRISK F-Prot Daemon',

まだ、この時点ではAVGが起動していないので、AVGを起動。

eswat2:~# /etc/init.d/avgd start
WARNING: Dazuko module is not loaded, please insmod dazuko module
Starting avgd.
eswat2:~# ps axf | grep avgd
11515 pts/1    S+     0:00  |                   \_ grep avgd
10425 ?        S      0:00 /usr/bin/avgscan -d -pid /var/run/avgd.pgrp
eswat2:~# lsof -i:55555
COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME
avgscan 10425 root    5u  IPv4 13256458       TCP localhost:55555 (LISTEN)

WARNINGメッセージは出るけど、動作自体には問題がないらしく、プロセスでも、TCPポートでも正しく起動できているのが確認できたので、続けて/etc/init.d/amavis restartでamavisdを再起動。
/var/log/mail.log/var/log/mail.infoをチェックして、amavisdの起動メッセージ中に、

Jan  3 22:45:59 eswat2 amavis[12086]: Using primary internal av scanner code for ClamAV-clamd
Jan  3 22:45:59 eswat2 amavis[12086]: Using primary internal av scanner code for AVG Anti-Virus

というメッセージが出ていれば、amavisdからAVGが呼び出されて、メールに対するVirusチェックが行われるようになります。
で、実際にメールをスキャンすると、/var/log/mail.logに、ClamAVに続けてAVGが呼び出されている様子が記録されてる。

Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) ask_av Using (ClamAV-clamd): CONTSCAN /var/lib/amavis/tmp/amavis-20090103T224814-12104/parts\n
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) ClamAV-clamd: Connecting to socket  /var/run/clamav/clamd.ctl
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) ClamAV-clamd: Sending CONTSCAN /var/lib/amavis/tmp/amavis-20090103T224814-12104/parts\n to UNIX socket /var/run/clamav/clamd.ctl
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) run_av (ClamAV-clamd): CLEAN
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) run_av (ClamAV-clamd) result: clean
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) ask_av Using (AVG Anti-Virus): SCAN /var/lib/amavis/tmp/amavis-20090103T224814-12104/parts\n
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) AVG Anti-Virus: Connecting to socket  127.0.0.1:55555
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) AVG Anti-Virus: Sending SCAN /var/lib/amavis/tmp/amavis-20090103T224814-12104/parts\n to INET socket 127.0.0.1:55555
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) (!!)run_av (AVG Anti-Virus) FAILED - unexpected , output="220-AVG7 Anti-Virus daemon mode scanner\r\n220-Program version 7.5.51, engine 442\r\n220-Virus Database: Version 269.19.5/1228  2008-01-16\r\n220 Ready\r\n200 OK\r\n"
Jan  3 22:53:11 eswat2 amavis[12104]: (12104-02) (!!)AVG Anti-Virus av-scanner FAILED: CODE(0xa7be3c0) unexpected , output="220-AVG7 Anti-Virus daemon mode scanner\r\n220-Program version 7.5.51, engine 442\r\n220-Virus Database: Version 269.19.5/1228  2008-01-16\r\n220 Ready\r\n200 OK\r\n" at (eval 88) line 527.

パターンファイルをアップデートする

パターファイルが古くては、スキャンするが意味がないので、手動でパターンファイルをアップデート。

eswat2:~# avgupdate -p3 --online
Preparing to download files from 'http://www.grisoft.cz/softw/70/update/'.
Downloading file: avginfo.ctf          [   8439B]
Downloading file: u7avi1411ya.bin      [6431652B]
Downloading file: u7iavi1872vx.bin     [31650268B]
Downloading file: u7lxaspam7d699.bin   [1505122B]
Downloading file: u7lxcmn52d5199.bin   [ 420881B]
Downloading file: u7lxdoc47d4698.bin   [   1101B]
Updating...
Stopping AVG Daemons...
Starting AVG Daemons...
Online update finished successfully.

これで、とりあえず、最新になったのだけど、当然日々アップデートすべきものなので、rootのcrontabか/etc/crontabで、アップデートコマンドを自動実行するように設定。
今回は、/etc/crontabに、毎日3時15分にアップデートされるように設定してみた。

# AVG daily update
15 03 * * *     root    /usr/bin/avgupdate -p3 --online &> /dev/null

ここまでやって、完了〜。
あとはしばらく動作状況を見てみたいと思います。

トラックバック(1)

サイトへのアクセス統計をチェックしていると、7 年も前のエントリーを見に来て頂いてるのは有難いのですが、 ほんとに、ふとした思いつきで、AVG AntiV... 続きを読む

コメントする