AVG Anti-Virus free for Linuxの設定方法

AVG Anti-Virus free for Linuxの設定方法

AVG Anti-Virus free for Linuxの設定方法

 

CentOS7へAVG アンチウイルス無料版 for Linuxをインストールし設定しました。

 

AVG アンチウイルス無料版 for Linuxの特長は以下です。

・無料

 

・リアルタイムスキャン可能

 

リアルタイムスキャンにfanotifyを使用する場合、インストールから
リアルタイムスキャンの設定まで5分かかりません。

※サブディレクトリも対象(≒再帰的スキャン)

 

無料のLinux用ウィルス対策ソフトについて

 

CentOS7でSophos Anti-Virus for Linux (Free Edition)、ClamAV、
COMODO AntiVirus、AVG Anti-Virusをインストールし比較しましたが、
一番良いと思うのは個人向けは無料のSophos
Anti-Virus for Linux (Free Edition)です。次はAVGかと思います。
また一般的によくインストールされているのはClamAVかなと思います。

 

唯一コントロールパネルの有るCOMODOはWindowsからの移行のユーザーから
見れば使いやすいと思うのですがfanotifyでの(サブディレクトリも)
リアルタイムスキャン方法が分かりませんでした。普通に設定コンフィグには
redirFSかfonotifyかを選択する項目が有るので、出来るかと思います。

 

企業でLinuxサーバを運用するならばトレンドマイクロのServerProtect等の
有料ウィルス対策ソフトが良いかと思います。

 

またClamAVは関連パッケージが豊富です。

 

また、自宅でシステムを構築している(複数のサーバが有る)場合は併用して
自宅サーバの場合無料で使用可能なsophosの無料UTMを手前に置く
のも良いかもしれませんね。

 

 

本ページの目次

 

AVGのデーモン一覧
avgd
avgavid
avgsched
avgtcpd
avgspamd
avgscand
avgupd
avgoad

 

 

AVGのコマンドライン一覧

 

avgctl

AVGの基本的な操作

 

avgctl --stat-all

AVGのバージョンや、次のウィルスアップデート時間、
リアルタイムスキャンの状態などが表示されます。

 

avgctl --start[=component]

AVGやコンポーネントの起動

 

avgctl --stop[=component]

AVGやコンポーネントの停止

 

avgctl --restart[=component]

AVGやコンポーネントの再起動

 

avgcfgctl

コンフィグの表示や設定

 

avgcfgctl

コンフィグの表示

 

avgcfgctl -x

xml形式でコンフィグを表示

 

avgscan

スキャンを実施する。

 

avgscan 対象ディレクトリ

例 avgscan /

 

avgscan -x 除外ディレクトリ

例 avgscan /home -x /olduser1 -x /olduser2

 

avgupdate

ウィルスデータベースのアップデート

 

avgvvctl

AVG Virus Vaultの操作

 

avgdiag

問題報告用のレポート作成

 

avgevtlog

AVGのイベントログの確認

 

avgsetup

対話形式でのコンフィグ作成。リアルタイムスキャン(オンアクセスデーモン)
やメールサーバ用スキャン(TCPDプロテクト)を対話形式で設定できます。

 

 

 

avgscanのオプションと返り値一覧

正確にはman avgscanを参照して下さい。

 

avgscanのオプション一覧

-x PATH, --exclude PATH

スキャンからパスを除外します。複数の--excludeオプションを指定することができます。
※/sysと/procは常に除外されます。

 

-e EXTENSION, --ext EXTENSION

指定された拡張子を持つファイルをスキャンします。複数の--extオプションを
入力することができます。--noextとの併用はできません。

 

-n EXTENSION, --noext EXTENSION

指定された拡張子を持つファイルを除外します。複数の--noextオプションを
入力することができます。--extとの併用はできません

 

-W DIRS, --winsysdir DIRS

Windowsのシステムディレクトリについて。

 

-R, --reclevel=N

再帰的にチェックする最大値。デフォルト値は16384。

 

-a, --arc

内部のアーカイブをスキャンする。

 

-L, --arc-reclevel=N

アーカイブを再帰的にチェックする最大値。デフォルト値は40。

 

-S, --arc-maxfilesize=N

アーカイブから抽出された最大ファイルサイズ。デフォルト値は268435456Byte

 

-N, --arc-maxfilenum=N

アーカイブ内のスキャンされたファイルの最大数。
デフォルト値は50000。

 

-w, --pwdw

パスワード保護されたファイルを報告します。--arcで使用してください。

 

-b, --arcbombsw

アーカイブボム(膨大なファイルや複数の同一ファイルを高圧縮した、小さな
サイズのアーカイブ)を報告します。デフォルトでオンです。--arcで使用して
ください。無効にするには--no-arcbombswオプションを指定します。

 

-l, --heal

自動的に感染したオブジェクトを治します。

 

-t, --delete

自動的に感染したオブジェクトを削除します。

 

-u, --vv-move

自動的に感染したオブジェクトを隔離します。

 

-U, --vv-backup

削除によって治る場合、感染オブジェクトをバックアップします。

 

-H, --heur

ヒューリスティックスキャン(未知のウイルスに対するスキャン。パターンの照会では
なくウイルスに特徴的な挙動の有無を調べる方法)を使用する。デフォルトでオン。
無効にするには--no-heurオプションを指定します。

 

-p, --pup

不審なプログラムをスキャンします。デフォルトでオン。
無効にするには--no-pupオプションを指定します。

 

-P, --pup2

不審なプログラムの拡張セットをスキャンします。

 

-c, --coo

cookieをスキャンします。

 

-i, --hidext

隠された拡張子を認識します。

 

-m, --macrow

マクロを含むドキュメントを報告します。

 

-o, --repok

クリーンなファイルも報告します。

 

-M, --media

メディアファイルはスキャンしません。

 

-j, --paranoid

パラノイドモードを有効にします。偏執的に調べる場合(笑)。危険の少ない
マルウェアと、より多くの時間がかかるアルゴリズムをスキャンします。

 

-B, --boot-sector

指定されたデバイスファイルのスキャンブートセクタは省略する。

 

-s, --specfs

特殊なファイルシステムをスキャン。/procや/sysなど。

 

-r FILE, --report FILE

指定したファイルにスキャンレポートを保存します。

 

-F FILE, --filelist FILE

与えられたファイルに指定されたスキャンファイルパス。
パスは1行である必要があります。

 

-d, --debug

詳細モード。複数の-dオプションは、冗長性を高める。
最大3つのオプションが許可。

 

--ignerrors

オブジェクトスキャンエラーを報告しない。

 

-h, --help

ヘルプを表示します。

 

-v, --version

バージョンを表示します。

 

-T, --tui

ターミナルユーザーインタフェースを使用する。

 

-k, --registryscan

Windowsのレジストリをスキャンします。

 

 

 

返り値の一覧

0 エラー無し

 

1 テストはユーザーにより中断されました。

 

2 テスト中に何らかのエラー。例えばファイルを開けないなど。

 

3 スキャン中に警告がでました。

 

4 不審なプログラムが検出されました。

 

5 ウイルスが検出されました。

 

6 パスワードで保護されたアーカイブ

 

7 隠された拡張子を持つファイル

 

8 マクロを含むドキュメント

 

9 アーカイブボム(膨大なファイルや複数の同一ファイルを高圧縮した、
 小さなサイズのアーカイブ)

 

10 cookieです。

 

 

 

AVG アンチウイルス無料版 for Linuxのインストール

 

まず、CentOSのFirefoxでAVG ダウンロード 無料版 全製品
AVG 無料ダウンロードへアクセスします。

 

コマンドラインでダウンロードする場合は、wgetやrpmコマンド、またWindowsで
ダウンロードでも良いですね。

 

 

 

 

「AVG Server Edition for Linux」(rpm)をクリックします。

 

 

 

 

ダウンロードしたファイルは「場所」→「ダウンロード」に有ります。

 

 

 

 

ダウンロードしたAVGをインストールします。

rpm -ivh avg***.rpm

 

正しくインストール出来ました。

 

 

 

 

※もし「ld-linux.so.2」が無い場合は「/bin/avgdiag: /opt/avg/av/bin
/avgdiag: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルや
ディレクトリはありません」となりインストール出来ません。

 

 

その際はld-linux.so.2をインストールしてから再度試行しましょう。

yum install ld-linux.so.2

 

 

 

 

AVGのインストール後、正しく稼働していることを確認します。

systemctl status avgd

 

 

 

自動起動について

 

自動起動しているかの確認をします。

systemctl is-enabled avgd

enabled

 

※自動起動させるには

systemctl enable avgd

 

※自動起動の停止は

systemctl disable avgd

 

 

自動起動しているかどうか、ユニットの一覧表で見る場合は以下。

systemctl list-unit-files

 

全ユニットの一覧表は、

systemctl -a

 

で、「systemctl is-enabled avgd」を実行すると
「avgd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig avgd --level=5」と表示されてリダイレクトされ
「enabled」と正しく表示されました。

 

※ネイティブのsystemdサービスでは無いので、従来の
「chkconfig --list」でも表示させることが可能です。

 

 

 

ログについて

 

また、AVGに関するログの表示は以下です。

journalctl -u avgd

 

journalctl -r ※新しい順

 

avgevtlog

 

/var/log/messages ※catやtail -10などで確認しましょう。

 

/opt/avg/av/log/0 ※oadなど個々のログ。

 

 

ウィルス検知確認

 

テストウィルスファイル「eicar.com」をダウンロードします。

wget http://files.trendmicro.com/products/eicar-file/eicar.com

 

スキャンを行いました。

avgscan 対象ディレクトリ

 

※ウィルス発見時自動削除する場合

avgscan -t 対象ディレクトリ

 

ウィルス発見時の動作等々、avgscanのオプションは
avgscan -h、man avgscanに載っています。

 

※除外ディレクトリは-xで指定します。

例 avgscan /home -x /olduser1 -x /olduser2

 

 

 

ターミナルユーザーインタフェースについて

 

また、ターミナルユーザーインタフェースを使用する場合は-Tまたは--tuiです。

 

avgscan -T 対象ディレクトリ

 

 

 

アップデート

 

アップデートを行いました。

avgupdate

 

次回の自動アップデート時刻は「avgctl --stat-all」などで表示できます。

 

 

プロキシを使用している場合は、「avgcfgctl-w」コマンドにて以下の項目を
編集します。「avgcfgctl-w」コマンドの使用方法は本ページ下部に記載しています。

Default.update.Options.Proxy.AuthenticationType=0
Default.update.Options.Proxy.Login=
Default.update.Options.Proxy.Mode=0
Default.update.Options.Proxy.Password=
Default.update.Options.Proxy.Port=3128
Default.update.Options.Proxy.Server=
Default.update.Options.Proxy.UseLogin=false

 

プログラムのアップデートに関する設定項目は以下かと思います。

UpdateProgram.sched.Repeat.BaseTime=INVALIDTIME
UpdateProgram.sched.Repeat.Interval=12
UpdateProgram.sched.Repeat.Type=1
UpdateProgram.sched.Task.Disabled=true
UpdateProgram.sched.Task.MissedStartAction=1
UpdateProgram.sched.Task.StartType=2
UpdateProgram.sched.Times.DayOfMonth=1
UpdateProgram.sched.Times.DayOfWeek=0
UpdateProgram.sched.Times.GracePeriod=300
UpdateProgram.sched.Times.SelectedDays=127
UpdateProgram.sched.Times.StartTime=2007-06-22/08-00-00
UpdateProgram.sched.Update.Path=
UpdateProgram.sched.Update.Source=inet

 

ウィルスデータベースのアップデートに関する設定項目は以下かと思います。

UpdateVir.sched.Repeat.BaseTime=INVALIDTIME
UpdateVir.sched.Repeat.Interval=4
UpdateVir.sched.Repeat.Type=1
UpdateVir.sched.Task.Disabled=false
UpdateVir.sched.Task.MissedStartAction=1
UpdateVir.sched.Task.StartType=2
UpdateVir.sched.Times.DayOfMonth=1
UpdateVir.sched.Times.DayOfWeek=0
UpdateVir.sched.Times.GracePeriod=180
UpdateVir.sched.Times.SelectedDays=127
UpdateVir.sched.Times.StartTime=2007-06-22/17-00-00
UpdateVir.sched.Update.Path=
UpdateVir.sched.Update.Source=inet

 

 

スケジュールスキャンの設定方法

 

■スクリプト作成

■スキャンログ格納ディレクトリを作成

mkdir /home/ユーザ名/avg-scan-log

 

■スクリプト名は適当にavg-scan.shとしました。

vi avg-scan.sh
#!/bin/bash

 

avgscan / -t -r /home/ユーザ名/avg-scan-log/`date +%Y%m%d`.log

 

cat /home/ユーザ名/avg-scan-log/`date +%Y%m%d`.log | mail -s "SCAN RESULT - `hostname`" 送信先メールアドレス

 

※/proc、/sysは自動的に除外されます。その他avgscanのオプションは
man avgscanや前項のavgscanのオプション一覧を参照して下さい。

 

(スキャン対象とするフォルダの検討用)
Linuxの各ディレクトリに格納されているファイルについて
bin  linuxに最初から有るコマンド群
dev  デバイスに関するファイル。接続デバイスは「fdisk -l」
home  root以外のユーザーごとのディレクトリ
mnt  ファイルシステムのマウントポイント
proc  プロセス(PID)やカーネルに関するファイル。PID表示は「ps -aux」
run  プロセスのデータ。/var/runは/runのシンボリックリンク。
sys  ドライバ関連のファイル。
usr  ユーザーが共通で使うプログラム群。
※/usr/share/applicationsがWindowsで言うとコントロールパネル
boot  ブートに関するファイル
etc  コンフィグファイル
lib  コマンドを実行するためのファイル
lib64  コマンドを実行するためのファイル。64ビット用
media  CDやDVDのマウントポイント
opt  パッケージのインストール先。
※Windowsで言うとProgram Filesのうち、後からインストールしたプログラム群。
root  rootユーザーのディレクトリ
sbin  管理者が使用するコマンド
srv  システムのサービスデータ。
tmp  テンポラリファイル
var  ログやApacheのデフォルトのドキュメントルートなど。

 

 

■実行権限の付与
chmod +x avg-scan.sh

 

 

一度スクリプトを実行してみて、正しくメール受信出来ることを確認します。
また今後、翌日(翌週)3、4時頃にもメール受信することを確認し正しくクーロン、
スキャンが行えたことを確認しましょう。

 

./avg-scan.sh

 

 

 

 

 

■/etc/cron.weeklyや/etc/cron.daily/への移動

1週間に1度スケジュールスキャンをする場合

mv avg-scan.sh /etc/cron.weekly/

 

1日に1度スケジュールスキャンをする場合

mv avg-scan.sh /etc/cron.daily/

 

■/etc/crontabの確認

CentOS6と同一で殆ど何も記載されていません。
CentOS5のように「cron.dailyは4時2分に実行」では有りません。
1台の物理サーバ上で全仮想サーバが4時2分にスクリプトを実行すると
負荷がかかるため、などの理由。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

 

# For details see man 4 crontabs

 

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

 

■/etc/anacrontabの確認

[root@localhost /]# cat /etc/anacrontab

# /etc/anacrontab: configuration file for anacron

 

# See anacron(8) and anacrontab(5) for details.

 

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

 

#period in days delay in minutes job-identifier command
15cron.dailynice run-parts /etc/cron.daily
725cron.weeklynice run-parts /etc/cron.weekly
@monthly 45cron.monthlynice run-parts /etc/cron.monthly

 

以上のデフォルト設定により日次、週次ともに(スケジュールスキャンが)
午前3時~4時の間に実行されるかと思います。

 

実行時刻をランダムでは無く、固定するにはcronie-noanacronを
インストールして使用する感じかと思います。

 

 

翌日頃に、スケジュール通り実行されたかと、正しく実行されログが保管されたを
確認しましょう。

 

 

 

リアルタイムスキャンの設定方法

 

以前、CentOS5や6でリアルタイムスキャンによく使用されていたRedirFSDazuko
収束しており、現在はLinux 2.6.36以降のカーネルに最初から入っているfanotify
(filesystem wide access notification)を利用してのリアルタイムスキャンが
多くなっていっています。
IPAのサイトにdnotify・inotify・fsnotify・fanotifyの説明が有りました。

 

AVGはRedirFSはLinux 2.6.37まで、DazukoはLinux 2.6.22まで使用可能です。
fanotifyの入っているLinux 2.6.36のリリースは2010年10月20日ですので
CentOS5.6や6.0のリリース前ですね。今回のCentOS7は3.10.0-123でした。

uname -a

Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30
12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

 

ServerProtect for LinuxはKHMでしょうか。

 

Linuxの無料のウィルス対策ソフトで言うとオンアクセススキャン時に
利用するモジュールは以下です。

Sophos Anti-Virus for Linux (Free Edition): Talpa、(fanotify)
AVG Anti-Virus free for Linux: RedirFS、Dazuko、fanotify
COMODO Antivirus: RedirFS、(fanotify)
ClamAV: fanotify

また、AVGではdarwinも指定できます。appleのUNIXカーネルのことかと思います。

 

 

・OAD(リアルタイムスキャン、On Access Deamon)の紹介(旧資料 AVG8.5)

 

・OADの利用にあたって
/opt/avg/av/doc/README.oadファイル

 

※RedirFS、Dazukoのインストール方法やfanotifyについての説明、それらの設定方法

 

・OADのマニュアル
man avgoad

※RedirFS、Dazuko、fanotifyの各設定値なども載っています。

 

・AVGコマンドラインコンフィグコントローラ(avgcfgctl、AVG command line configuration controller)のマニュアル
man avgcfgctl

 

・AVGのコンフィグ(RedirFS、Dazuko、fanotifyの各設定値など)の一覧表示
avgcfgctl

 

(a) fanotifyを利用する場合

 

※ServersMan@VPSのCentOS7ではfanotifyでのリアルタイムスキャン
(オンアクセススキャン)は出来ませんでした。

[root@dti-vps-srv94]# avgsetup

F) Fanotify engine (only Linux kernel from 2.6.36 version)
Type [R|S|D|F|B|E]: F
Your kernel 2.6.32-042stab092.2 is not compatible with the fanotify engine.

 

[root@dti-vps-srv94]# uname -a

Linux dti-vps-srv94 2.6.32-042stab092.2 #1 SMP Tue Jul 8 10:35:55 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux

 

※avgsetup時のfanotifyの警告自体はunameでカーネルのバージョンを
見ているだけですので以下の方法で消す(設定を進める)ことは出来ます。

 

uname -r でのカーネルの表示の変更方法

■カーネルのバージョン確認

uname -r

2.6.32-042stab092.2

 

■/bin/unameのリネームか退避

/bin/unameをリネームするか/binディレクトリ以外に退避する

 

mv /bin/uname /bin/uname-true

 

■unameスクリプトの作成

vi /bin/uname

echo 3.10.0-123.20.1.el7.x86_64

 

■カーネルのバージョン確認

uname -r

3.10.0-123.20.1.el7.x86_64

偽装できました。

 

■avgsetup

avgsetupでfanotifyを選択出来ました。

 

 

■fanotifyが有効かの確認

/boot/config-***を開き、以下となっているか確認します。

CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSION=y

4567行目と4568行目に記載が有りました。

 

 

 

また、SELinuxは有効のままで問題ないかと思います。
ClamAVの時はfanotifyを使用する場合はSELinuxを無効にするか
ポリシーを作成するかになるかと思います。

 

ここまで終了すれば、本ページの「(d) 上記モジュール設定完了後の設定」
へ進んで下さい。

 

(b) RedirFSを使用する場合

RedirFSは、Redirecting FileSystemの略です。

 

RedirFS自体が昔のモジュールであるためCentOS7では不可です。
CentOS6などでは選択肢に入るかと思います。
RedirFSが使用できるのはLinux 2.6.37までです。
Linux 2.6.25~2.6.37で有ればRedirFSで良いかと思います。

 

■ダウンロード

RedirFSにてredirfsとavfltを
ダウンロードします。

 

■解凍します。
tar xzvf redirfs-***.***.tar.gz

 

■ビルドなどを行います。
cd redirfs-***.***
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make -C /lib/modules/`uname -r`/build M=`pwd` modules_install

 

cd avflt-***.***
cp redirfs-***.***のディレクトリ/Module.symvers .

 

make -C /lib/modules/`uname -r`/build M=`pwd` \
make -C /lib/modules/`uname -r`/build M=`pwd` \

 

■カーネルモジュールの依存関係を更新します。
depmod -a

 

■カーネルモジュールをロードします。
modprobe avflt
modprobe redirfs

 

ここまで終了すれば、本ページの「(d) 上記モジュール設定完了後の設定」
へ進んで下さい。

 

 

(c) dazukoFSを使用する場合

dazukoはDateizugriffskontrolle(ファイルアクセスコントール)の略です。

 

dazukoやdazukoFS自体が昔のモジュールであるためCentOS7では不可です。
CentOS6などでは選択肢に入るかと思います。
DazukoはLinux 2.6.22まで使用可能です。

 

DazukoにてdazukoFSをダウンロードします。

http://dazuko.dnsalias.org/files/dazukofs-3.1.0.tar.gz
http://dazuko.dnsalias.org/files/dazukofs-3.1.1.tar.gz
http://dazuko.dnsalias.org/files/dazukofs-3.1.2.tar.gz
http://dazuko.dnsalias.org/files/dazukofs-3.1.3.tar.gz
http://dazuko.dnsalias.org/files/dazukofs-3.1.4.tar.gz

など

 

 

■インストールします。
make
make dazukofs_install

 

■カーネルモジュールをロードします。
modprobe dazukofs

 

ここまで終了すれば、以下の「(d) 上記モジュール設定完了後の設定」
へ進んで下さい。

 

 

(d) 上記モジュール設定完了後の設定

 

■対話形式でのリアルタイムスキャン設定について

 

今回は、本項目の対話形式での設定コマンド「avgsetup」を使わず
次の項目から「avgcfgctl」で設定していく方法を説明します。

 

 

※今回は実施しませんが、「avgsetup」コマンドを使用することによって
対話形式でリアルタイムスキャン設定を行うことができます。

 

avgsetup

 

 

 

RadirFSを使用する場合は「R」
Fanotifyを使用する場合は「F」
Dazukoを使用する場合は「D」

から操作を進めます。Sambaのプラグインの設定もこの画面から行えます。

 

 

 

 

今回は、上記の対話形式での設定コマンド「avgsetup」を使わず
「avgcfgctl」にて設定していく方法を以下から説明します。

 

 

■OAD機能の設定値確認

AVGコマンドラインコンフィグコントローラで
OAD機能に関する設定値を確認します。

※OAD以外にもスパムアサシンやTCPDなどに対する設定値などが有ります。

 

[root@localhost boot]# avgcfgctl | grep Oad

Oad.scan.AutomaticActions.BackupInVault=false
Oad.scan.AutomaticActions.Enabled=false
Oad.scan.AutomaticActions.PreferedAction=1
Oad.scan.Options.ParanoidMode=false

 

 

[root@localhost boot]# avgcfgctl | grep oad

Default.oad.avflt.paths.exclude=
Default.oad.avflt.paths.include=
Default.oad.avflt.timeout=0

 

Default.oad.darwin.cache.hashtable_size=4096
Default.oad.darwin.cache.max_items_number=65536
Default.oad.darwin.paths.exclude=|/dev|/proc|/sys|
Default.oad.darwin.paths.include=

 

Default.oad.dazuko.cache.hashtable_size=4096
Default.oad.dazuko.cache.max_items_number=65536
Default.oad.dazuko.events.close=false
Default.oad.dazuko.events.close_modified=true
Default.oad.dazuko.events.exec=true
Default.oad.dazuko.events.open=true
Default.oad.dazuko.paths.exclude=|/dev|/proc|/sys|
Default.oad.dazuko.paths.include=

 

Default.oad.deny_on_error=false

 

Default.oad.fanotify.cache.hashtable_size=4096
Default.oad.fanotify.cache.max_items_number=65536
Default.oad.fanotify.paths.exclude=
Default.oad.fanotify.paths.include=

 

Default.oad.timeout=0
Default.oad.use=fanotify
Default.setup.features.oad=true

 

■まず、OAD自体が有効になっていること。

最終行に「Default.setup.features.oad=true」と表示されているので問題無いですね。

 

■次にOADで利用するモジュールの変更

OADで利用するモジュールを変更します。
初期設定ではfanotifyですので、fanotifyを利用する場合は
変更の必要はありません。

Default.oad.use=fanotify

 

・dazukoFSに変更する場合

avgcfgctl -w Default.oad.use=dazukofs

 

・redirFSに変更する場合

avgcfgctl -w Default.oad.use=avflt

 

■モジュールに関する設定値の確認および編集

使用しているモジュール(fanotify、RedirFS、dazukoFS)それぞれの
設定値の必要箇所を編集します。
リアルタイムスキャンを行うパスの入力方法は以下です。

avgcfgctl -w 'Default.oad.モジュール.paths.include=|/ディレクトリ名|/ディレクトリ名|'

 

注意

以下のようにルートディレクトリをリアルタイムスキャン対象としました。

avgcfgctl -w 'Default.oad.fanotify.paths.include=|/|'

 

サービスを再起動しました。

avgctl --restart=oad

 

するとフリーズし、VMwareをパワーオフし起動後にログインも不可となりました。
※CPU使用率が上昇し処理に時間がかかっているだけかもしれません。

 

darwinやdazukoでの初期設定に倣い、fanotifyで実施する際も除外フォルダ設定で

Default.oad.fanotify.paths.exclude=|/dev|/proc|/sys|

とした方が良いかもしれません。

 

※説明の詳細は「/opt/avg/av/doc/README.oadファイル」に記載されています。
※設定項目の意味は「man avgoad」に掲載されています。
※avgcfgctlの使用方法は「man avgcfgctl」に掲載されています。

 

編集後は「avgcfgctl | grep Oad」、「avgcfgctl | grep oad」にて
正しく編集完了したか見ておきましょう。

 

■AVGのOADコンポーネントを再起動します。
avgctl --restart=oad

 

※書式は以下です。=でコンポーネントのみ、とすることが出来ます。

avgctl --restart[=component]

 

 

■続き:fanotifyの場合(テストウィルスの検知確認)

まず、/tmpディレクトリと/tmp/aディレクトリにテストウィルスファイル
「eicar.com」を置きました。

 

次に以下のように/tmpをリアルタイムスキャンに含める設定としました。

avgcfgctl -w 'Default.oad.fanotify.paths.include=|/tmp|'

 

複数のディレクトリを記載する場合は

Default.oad.fanotify.paths.include=|/a|/b|/c|

 

OADを再起動。

avgctl --restart=oad

 

 

/tmpディレクトリのeicar.comを開きました。
「ファイル/tmp/eicar.comを開けませんでした。
そのファイルを開く権限がありません。」と表示されました。

 

 

 

/tmp/aディレクトリのeicar.comを開いたところ。
「ファイル/tmp/a/eicar.comを開けませんでした。
そのファイルを開く権限がありません。」と表示されました。

 

※オンアクセススキャンではなくTCPDでの、どれくらいのサブディレクトリの深さまで
再帰的にスキャンするかの設定は以下の箇所かもしれませんね。

Tcpd.scan.DirOptions.MaxRecursionDepth=16384
Tcpd.scan.Options.MaxRecursionDepth=40

 

 

 

 

OADを停止。

avgctl --stop=oad

 

 

/tmpディレクトリのeicar.comを開いたところ。
開くことが出来ました。

 

 

 

 

/tmp/aディレクトリのeicar.comを開いたところ。
開くことが出来ました。

 

 

 

■続き:dazukoFSの場合

 

対象ディレクトリをマウントします。

mount -t dazukofs /ディレクトリ名 /ディレクトリ名

 

起動時からマウントさせておくには/etc/fstabに以下を記載します。

※dazukoのREADMEに記載されていました。
/usr /usr dazukofs defaults 0 0
/opt /opt dazukofs defaults 0 0

 

 

■redirFSのドキュメント

Redirecting FileSystem - Documentation

 

 

メールサーバ用のメールスキャン

※今回は設定していません。

 

README.postfixやREADME.sendmailなどのファイルを参照し
設定を行います。

 

対話形式で設定を実施する場合はavgsetupコマンドから設定していきます。

avgsetup

 

 

 

SpamAssassinとの連携

※今回は設定していません。
※設定の詳細はREADME.antispamファイルを参照して下さい。

 

スパムアサシンとは迷惑メール対策ソフト(スパムフィルタリングプログラム)です。

 

■SpamAssassinのインストール

spamassassinからダウンロードします。

 

yum install spamassassin

 

■avgcfgctlの設定

デフォルト値は以下です。
[root@localhost av]# avgcfgctl | grep spam

Default.aspam.spamassassin.address=127.0.0.1
Default.aspam.spamassassin.enabled=true
Default.aspam.spamassassin.port=783
Default.aspam.spamfilter=
Default.setup.features.antispam=false
Default.tcpd.rules.spam.action=0
Default.tcpd.rules.spam.bounce_addr=
Default.tcpd.spam.enabled=true
Default.tcpd.spam.header.enabled=true
Default.tcpd.spam.subj_prefix=[SPAM]
Default.tcpd.threshold.spam=1000

 

以下のコマンドで変更していきます。

avgcfgctl -w '以下の設定行を入れる'

 

■アンチスパム機能を使用する
Default.setup.features.antispam=true
Default.tcpd.spam.enabled=true

 

■アンチスパムフィルタにスパムアサシンを使用する
Default.aspam.spamfilter=spamassassin
Default.aspam.spamassassin.enabled=true

 

■SpamAssassinで使用するIPアドレスとポート番号を記載します
Default.aspam.spamassassin.address=127.0.0.1
Default.aspam.spamassassin.port=783

 

■AVGを再起動します。
avgctl --restart

または

service avgd restart

 

※あまり関連性は有りませんが、レンタルサーバ「クイッカ」のスパムアサシン設定項目に、
スパムアサシンについての分かりやすい説明が有りました。