最終更新日 2024年1月1日以前
CentOS7へのSophos Anti-Virus for Linux (Free Edition)のインストールと設定方法です。
Sophos Anti-Virus for Linux (Free Edition)の特長は以下です。
・日本語対応。インストール、設定時などで日本語での説明がある。
日本語マニュアルが完備されている。マニュアル(manコマンド)も
これ以上ないくらい分かりやすいです。
・有料のSophosは日本の色々なシステム(サーバ)にも
入っていて信頼度は高いと思います。
・オンアクセススキャン(≒リアルタイムスキャン)、オンデマンドスキャン
(≒手動スキャン)、スケジュールスキャンなど機能が豊富で有料版と
あまり遜色が無い。
有料版との違いは、サポートや集中管理機能が無いなどです。
個人で使う分には気になりませんね。
・Windows、Mac、Android向けのマルウェアも検出、ブロック可能。
ファイルサーバとして利用しているLinuxなどには良いですね。
・GUI(Web UI)は有りません。
※バージョン9.10からは
Webユーザーインターフェースは利用できません。
・オンアクセス検索のファイル割り込み方法はTalpaです。
Talpaに対応していないカーネルへアップグレードした場合は
代替でFanotifyを使用できますが、あくまでもSophos Anti-Virus
でのFanotifyの使用はベータ版機能です。
Sophos Anti-Virus for Linuxのシステム要件(使用しているOSの
カーネルがTalpaに対応しているかどうか等)は以下のURLから記載が
有りました。
本ページの目次
1. Sophos Anti-Virus for Linux (Free Edition)のダウンロード
2. Sophos Anti-Virus for Linux (Free Edition)のインストール
3. Sophos Anti-Virus for Linux (Free Edition)のアップデート
4. オンアクセス検索(≒リアルタイムスキャン)によるウィルス検知確認
5. オンデマンド検索(≒手動スキャン)によるウィルス検知確認
今回のCentOS7のカーネルのバージョンなどは以下です。
[root@localhost ~]# 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
インストールマニュアルや設定方法は以下のSophos公式ページに有ります。
基本的にはこれらのマニュアルに、ほとんどの操作方法が掲載されています。
また、ドキュメントなどではSophos Anti-Virusを略してSAVと記載していることもあります。
コマンド名もsavと付くものが多くあります。
パッケージをダウンロードするために以下のURLをクリックします。
まず「ダウンロード」をクリックします。
「個人情報のお取り扱いについて」画面で問題なければ「同意します」を
クリックした後、名前、メールアドレスを入力し「送信」をクリックします。
「ダウンロード」をクリックします。
問題なければ「利用規約に同意します」にチェックを入れ、「送信」を
クリックすると、ダウンロードが始まります。
その後、tmpディレクトリに作業ディレクトリを作成して、ダウンロードした
sav-linux-free-9.tgzを格納し、解凍しました。
[root@localhost ~]# mkdir /tmp/abc/
[root@localhost ~]# mv sav-linux-free-9.tgz /tmp/abc/
[root@localhost ~]# cd /tmp/abc/
[root@localhost abc]# tar zxvf sav-linux-free-9.tgz
解凍すると「sophos-av」ディレクトリが作成され、そのなかには
以下のものが有りますね。
[root@localhost abc]# ./sophos-av/install.sh
※以下、キーボードの文字キーで入力したのは赤文字の「Y」が1回、「f」が1回でした。
あとはほとんどEnterキーの押下で進めました。
また、バージョン9.10からは
Webユーザーインターフェースは利用できません。以前は「http://localhost:8081」で
アクセスできるWebUIが有りました。
Sophos Anti-Virus
=================
Copyright (c) 1989-2015 Sophos Limited. All rights reserved.
Sophos Anti-Virus インストーラへようこそ。Sophos Anti-Virus には、オンアクセススキャナ、オンデマンドコマンドラインスキャナ、Sophos Anti-Virus デーモン、および Sophos Anti-Virus GUI があります。
オンアクセススキャナ ファイルがアクセスされると検索し、未感染の場合のみアクセスを許可
オンデマンドスキャナ コンピュータの全体または一部を直ちに検索
Sophos Anti-Virus デーモン Sophos Anti-Virus にコントロール、ログ、メール警告機能を提供するバックグラウンドプロセス
Sophos Anti-Virus GUI Web ブラウザ経由でアクセスするユーザーインターフェース
「Enter」キーを押して、使用許諾契約書を表示してください。そして、
[including the GNU Public Licence.]
*/
ライセンス内容に同意しますか? はい(Y)/いいえ(N) [N]
> Y
Sophos Anti-Virus のインストール先を指定してください。 [/opt/sophos-av]
>
オンアクセス検索を有効にしますか? はい(Y)/いいえ(N) [Y]
>
ソフォスは、Sophos Anti-Virus での自動アップデートの設定をお勧めします。
ソフォスから直接アップデートしたり(要アカウント情報)、自社サーバー(ディレクトリや Web サイト(アカウント情報が必要な場合もあります))からアップデートすることができます。
オートアップデートの種類を選択してください: ソフォス(s)/自社サーバー(o)/なし(n) [s]
>
ソフォスから直接アップデートしています。
SAV for Linux の無償バージョン (f) と サポート対応付きバージョン (s) のどちらをインストールしますか? [s]
> f
Sophos Anti-Virus for Linux の無償バージョンに対して、サポート対応は提供されていません。
無償ツールのフォーラムは次のサイトを参照してください。http://openforum.sophos.com/
ソフォスからアップデートを行うためにプロキシが必要ですか? はい(Y)/いいえ(N) [N]
>
無償のアップデート用アカウント情報を取得しています。
Sophos Anti-Virus をインストールしています....
適切なカーネルサポートを選択しています...
インストールが完了しました。
ご使用のコンピュータは Sophos Anti-Virus で保護されるようになりました。
/opt/sophos-av/bin/savupdate
次のバージョンをアップデート中です - SAV: 9.10.0、エンジン: 3.60.0、データ: 5.17
sdds:SOPHOS からの Sophos Anti-Virus のアップデートに成功しました
次のバージョンにアップデートしました - SAV: 9.10.0、エンジン: 3.60.0、データ: 5.17
※実行しなくても、自動アップロードも行われます。
/opt/sophos-av/bin/savlog --today
※「--today」は過去24時間分を表示
/opt/sophos-av/bin/savsetup
Sophos Anti-Virus 対話型 環境設定へようこそ
[1] アップデートの環境設定を表示する
プライマリアップデート元を環境設定する:
[2] ソフォスから
[3] 自社サーバーから
セカンダリアップデート元を環境設定する:
[4] ソフォスから
[5] 自社サーバーから
[q] 終了
実行する操作を選択してください。 [1]
> 1
プライマリアップデート元アドレス = sophos:
プライマリアップデートキャッシュへのパス = /opt/sophos-av/update/cache/Primary
プライマリアップデート元用ユーザー名 =
プライマリ アップデート元用パスワード = ********
アップデート頻度 (分) = 60
wgetでeicar.comをダウンロードしました。
[root@localhost ~]# wget http://www.trendmicro.com/ftp/products/eicar-file/eicar.com
--2015-07-23 21:40:35-- http://www.trendmicro.com/ftp/products/eicar-file/eicar.com
www.trendmicro.com (www.trendmicro.com) をDNSに問いあわせています... 23.44.231.35
www.trendmicro.com (www.trendmicro.com)|23.44.231.35|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 68 [text/plain]
`eicar.com' に保存中
100%[======>] 68 --.-K/s 時間 0s
2015-07-23 21:40:35 (9.22 MB/s) - `eicar.com' へ保存完了 [68/68]
ダウンロード直後に、すぐ検知されました。
gedit(テキストエディタ)でeicar.comを開いたところ。
[root@localhost ~]# /opt/sophos-av/bin/savlog
日時 カテゴリ イベント
2015年07月23日 21時31分12秒: savd.daemon Sophos Anti-Virus デーモンが開始されました。
2015年07月23日 21時31分19秒: savd.daemon talpa を使用してオンアクセス検索が有効になりました。
2015年07月23日 21時38分59秒: log.threat 脅威が /tmp/a/eicar.com で検出されました: EICAR-AV-Test (閉じる)。(ファイルはまだ感染しています。)
オプション
--today 過去24時間のログのみを表示
--systemLog 「/var/log/messages」側のSophos Anti-Virusのログを表示する
[root@localhost a]# journalctl -r
7月 23 21:45:17 localhost.localdomain postfix/qmgr[2092]: C745325CE3D4: removed
7月 23 21:45:17 localhost.localdomain postfix/local[5965]: C745325CE3D4: to=
7月 23 21:45:17 localhost.localdomain postfix/smtpd[5960]: disconnect from localhost[::1]
7月 23 21:45:17 localhost.localdomain postfix/qmgr[2092]: C745325CE3D4: from=
7月 23 21:45:17 localhost.localdomain postfix/cleanup[5964]: C745325CE3D4: message-id=<20150723124517.C74
7月 23 21:45:17 localhost.localdomain postfix/smtpd[5960]: C745325CE3D4: client=localhost[::1]
7月 23 21:45:17 localhost.localdomain postfix/smtpd[5960]: connect from localhost[::1]
7月 23 21:45:17 localhost.localdomain gnome-session[3023]: (gnome-shell:3248): St-CRITICAL **: st_label_s
7月 23 21:45:17 localhost.localdomain gnome-session[3023]: ウィンドウマネージャーの警告: Log level 16: ST
7月 23 21:45:17 localhost.localdomain gnome-session[3023]: (gnome-shell:3248): St-CRITICAL **: st_label_s
7月 23 21:45:16 localhost.localdomain savd[5510]: Threat detected: EICAR-AV-Test in /tmp/a/eicar.com
/opt/sophos-av/logディレクトリにも各ログが格納されています。
[root@localhost a]# cat /var/spool/mail/root | more
From root@localhost.localdomain Thu Jul 23 21:45:18 2015
Return-Path:
X-Original-To: root@localhost
Delivered-To: root@localhost.localdomain
Received: from localhost.localdomain (localhost [IPv6:::1])
by localhost.localdomain (Postfix) with ESMTP id
for
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: root@localhost.localdomain
To: root@localhost.localdomain
Date: Thu, 23 Jul 2015 12:45:18 -0000
Subject: [SAV-LINUX] Threat 'EICAR-AV-Test' detected on localhost.localdomain
Message-Id: <***.***@localhost.localdomain>
A threat classified as 'EICAR-AV-Test' was detected in the file '/tmp/a/eicar.com' when attempting to open it at Thu Jul 23 21:45:16 2015 JST +0900 (2015-07-23 12:45:16 UTC). Access to the infected file was not allowed.
/opt/sophos-av/bin/savconfig add AutomaticAction disinfect
ちなみに、Sophos Anti-Virusとしてはeicar.comは駆除対象とはしていないようですね。
「オンアクセス検索での感染ファイルの自動削除」について、環境設定ガイドには以下の2つの重要な注意点が記載されています。
・このオプションは、ソフォステクニカルサポートより指示があった場合のみに使用すること(無料版はサポート無し)
・例えば感染ファイルがメールボックスであった場合は、メールボックス全体が削除される可能性がある。
/opt/sophos-av/bin/savconfig add AutomaticAction delete
savscanコマンドを使用します。
savscan / -bs -mbr -di -nc
~
クイックモード検索
~
/run/user/0/gvfs を開くことができませんでした
~
>>> ウイルス‘EICAR-AV-Test’がファイル /root/eicar.com に発見されました
~
1 個のマスターブートレコードを検索しました。
2 個のブートセクタを検索しました。
ファイル 58051 個を 6分45秒で検索しました。
12 個のエラーが発生しました。
1 個のウイルスが発見されました。
1 個のファイル(58051 個中)が感染しています。
検出に関する詳細は、ソフォス Web サイトの次のリンクを参照してください。
脅威解析センター: http://www.sophos.com/ja-jp/threat-center.aspx
検索が終了しました。
「/」で、検索対象は全てのファイルです。
ファイル単位の場合の例「savscan /home /root」
-bs 全論理ドライブのブートセクタをオンデマンド検索する(rootにて実行可)
※論理ドライブの、或るドライブのみは「-bs=ドライブ名」
-mbr 全物理ドライブのマスターブートレコードをオンデマンド検索する(rootにて実行可)
-di 全ての感染ファイルを駆除
※-remove(削除)と併用すると、「駆除失敗時、削除」が行われます。
また、-diと-removeの併用は非推奨かと思われます。
-nc 駆除や削除を行う時に確認メッセージを表示しない
完全な情報はman savscanと、savscan -hを参照して下さい。
※デフォルトでは、実行ファイルのみしかスキャンしません。
スキャン対象の実行ファイルは「-vv savscan」にて確認可能です。
-b 脅威検出時にビープ音を鳴らす
-dn 検索中のファイル名を表示する
-exclude 検索から除外するファイルを指定する
-f クイック検索ではなく、フル検索する。
-h ヘルプを表示
-include 検索にて、ファイルを含む
-ndi 駆除しない
-nrec ディレクトリの再帰検索を行わない
-p=ファイル名 ログを記録する
-remove 全ての感染ファイルを駆除
--quarantine 隔離する(駆除と併用時は、駆除失敗時に隔離する)
-ss スーパーサイレントモードを使用する
-vv savscanに関する詳細情報を表示する
■スキャンログ格納ディレクトリを作成
■スクリプト名は適当にsav-scan.shとしました。
初期設定で、スキャン時に検知するとメールが送信されるため、敢えてログを保存しなくても良いかもしれませんね。
検知用にeicar.com等を置いておき、一度スクリプトを実行してみます。
./sav-scan.sh
正しくメール受信出来ることを確認します。
※警告メールの送信先の初期値はroot@localhostです。
また今後、翌日(翌週)3、4時頃にログや警告メールを受信することを
確認し正しくクーロン、スキャンが行えたことを確認しましょう。
警告すべきイベントが発生しなかった場合は警告メールは送信されません。
1週間に1度スケジュールスキャンをする場合
1日に1度スケジュールスキャンをする場合
上記のcronで設定する以外にもSophos Anti-VirusのNamedScansで
スケジュール検索を設定する方法があります。
概要は以下です。
1. パラメータファイル(何曜日の何時にどのパスをスキャンして検知時は
駆除する、などの設定を予め記載したファイル)を作成
2. savconfigコマンドでそのファイルを読み込む
パラメータファイルのテンプレートは以下です。
色々な設定が分かりやすく記載されています。
/opt/sophos-av/doc/namedscan.example.ja
cp /opt/sophos-av/doc/namedscan.example.ja /home/ユーザ名/sav-schedule-scan
vi /home/ユーザ名/sav-schedule-scan
以下の3箇所のみ編集しました。
include=/
day=sunday
time=10:15
/opt/sophos-av/bin/savconfig add NamedScans 検索名 /home/ユーザー名/sav-schedule-scan
/opt/sophos-av/bin/savconfig query NamedScans 検索名
最後に「all」のパラメータが付いていました。
/opt/sophos-av/bin/savlog --today
2015年07月26日 10時15分00秒: scheduled.scan.log スケジュール検索 "検索名" が開始しました。
2015年07月26日 10時15分29秒: update.updated 次のバージョンをアップデート中です - SAV: 9.10.0、エンジン: 3.60.0、データ: 5.17
2015年07月26日 10時15分29秒: update.updated Updating Sophos Anti-Virus....
Updating SAVScan on-demand scanner
Updating Virus Engine and Data
Updating Manifest
Update completed.
2015年07月26日 10時15分29秒: update.updated sdds:SOPHOS からの Sophos Anti-Virus のアップデートに成功しました
2015年07月26日 10時15分29秒: update.updated 次のバージョンにアップデートしました - SAV: 9.10.0、エンジン: 3.60.0、データ: 5.17
2015年07月26日 10時17分20秒: log.threat 脅威が /root/eicar.com で検出されました: EICAR-AV-Test (開く)。(ファイルはまだ感染しています。)
2015年07月26日 10時44分34秒: scheduled.scan.log スケジュール検索 "検索名" の完了: 検索マスターブートレコード数: 0、検索ブートレコード数: 0、検索ファイル数: 236122、エラー数: 2、検出脅威数: 1、検出した感染ファイル数: 1
2015年07月26日 10時44分34秒: log.threat オンデマンド検索中、脅威が /root/.local/share/Trash/files/eicar.com.1: EICAR-AV-Test で検出されました。(ファイルはまだ感染しています。)
/etc/init.d/に有るものです。
sav-protect オンアクセス検索サービス
sav-update アップデート
sav-rms Remote Management System、サーバーとの通信処理
※sav-webは有りませんでした。(Web UI)が無くなったバージョン9.10にて確認。
※savd(Sophos Anti-Virus デーモン)、sav-protect(Sophos Anti-Virus デーモン)の
2つのサービスについては、savdctlにて制御できます。
[root@localhost ~]# ls /usr/local/bin/
savscan sweep
sweep ウィルス検出ユーティリティ(多分Sophos Anti-Virus 4のもの)
savscan ウィルス検出ユーティリティ(多分Sophos Anti-Virus 7、9のもの)
[root@localhost ~]# ls /opt/sophos-av/bin/
_ savconfig savdctl savdstatus savlog savscan savsetup savupdate
上記の7つのコマンドはmanでマニュアルを見られます。
「man savconfig」など。概要は以下の1~7に記載しました。
詳細はman savconfigを参照して下さい。
/opt/sophos-av/bin/savconfig
操作はset、add、remove、delete、query/get、helpが有ります。
/opt/sophos-av/bin/savconfig -v query
/opt/sophos-av/bin/savconfig --advanced query
AllowCorruptInCleanArchive: オン
CacheFilesystems: ext3
ext4
ext2
tmpfs
devtmpfs
iso9660
udf
xfs
reiserfs
jfs
vfat
msdos
ntfs
hfs
minix
ramfs
romfs
ufs
umsdos
xenix
cramfs
DenyOnCorruptFile: オフ
DenyOnDetectionError: オフ
DenyOnOperatingSystemError: オン
Email: root@localhost
EmailDemandSummaryAlways: オフ
EmailDemandSummaryIfThreat: オン
EmailLanguage: English
EmailNotifier: オン
EmailServer: localhost:25
EnableOnStart: オン
EnableAutoUpdating: オン
ExclusionEncodings: UTF-8
EUC-JP
ISO-8859-1
FileCacheSizeBytes: 4096
FileScanTimeoutMs: 10000
FilesystemScanTimeoutMs: 60000
GraceKillTimeoutMs: 2000
GraceStopTimeoutMs: 10000
HookModule: talpa_vfshook
LogMaxSizeMB: 100
LogNotifier: オン
NotificationQueueLimit: 50
NotifyOnUpdate: オフ
NotifyOnUpdateCheck: オフ
OnAccessCache: オン
OnAccessIncludePath: /
PrimaryUpdateSourcePath: sophos:
PrimaryUpdateCachePath: /opt/sophos-av/update/cache/Primary
PrimaryUpdateUsername:
PrimaryUpdatePassword: ********
PrimaryUpdateAllDistros: オフ
Processes: 2
RespawnLimit: 5
RespawnMax: 10
RespawnPeriodDurationMs: 20000
RestrictProcessExclusions: オフ
SendEmailMsgID: USING_BACKUP_CONFIGURATION
ALL_UPDATE_SOURCES_FAILED
RESPAWN-LIMIT
VIRUS-DATA-OLD
TALPA-FAILURE
TALPA-COMPILED
SendEmailLogLevel: FATAL
SendErrorEmail: オン
SendThreatEmail: オン
StartupTimeoutMs: 60000
StopScanTimeoutMs: 10000
StopTimeoutMs: 20000
SyslogFacility: DAEMON
SyslogNotifier: オン
TalpaDebug: オフ
TalpaInclusionProcessor: オフ
TalpaVettingGroup: 0
TalpaVettingTimeoutMs: 100
ThreadsPerProcess: 5
AdaptiveThreading: オン
MaximumThreads: 5
UINotifier: オン
UIpopupNotification: オン
UIttyNotification: オン
UpdatePeriodMinutes: 60
UseExtendedRegex: オン
XSmartSchedulerFix: オン
LiveProtection: 有効
ScanArchives: オン/オフ
/opt/sophos-av/bin/savconfig set UIpopupNotification disabled
/opt/sophos-av/bin/savconfig set UINotifier disabled
/opt/sophos-av/bin/savconfig set EmailNotifier disabled
/opt/sophos-av/bin/savconfig set EmailServer 1.1.1.1
/opt/sophos-av/bin/savconfig add Email sample@example.com
/opt/sophos-av/bin/savconfig set EmailSender admin@localhost
/opt/sophos-av/bin/savconfig query LiveProtection
/opt/sophos-av/bin/savconfig set DisableFanotify false
/opt/sophos-av/bin/savconfig set DisableFeedback true
savd(Sophos Anti-Virus デーモン)、sav-protect(Sophos Anti-Virus デーモン)の制御
/opt/sophos-av/bin/savdstatus --version
Copyright 1989-2015 Sophos Limited. All rights reserved.
Sophos Anti-Virus = 9.10.0
脅威検出エンジン = 3.60.0
脅威データ = 5.15
検出脅威数 = 9239070
脅威データリリース日 = 2015年05月26日 00時00分00秒
ログを表示する。オプションの詳細はman savlogを参照して下さい。
/opt/sophos-av/bin/savlog
日時 カテゴリ イベント
2015年07月23日 21時31分12秒: savd.daemon Sophos Anti-Virus デーモンが開始されました。
2015年07月23日 21時31分19秒: savd.daemon talpa を使用してオンアクセス検索が有効になりました。
2015年07月23日 21時38分59秒: log.threat 脅威が /tmp/a/eicar.com で検出されました: EICAR-AV-Test (閉じる)。(ファイルはまだ感染しています。)
オプション
--today 過去24時間のログのみを表示
--systemLog 「/var/log/messages」側のSophos Anti-Virusのログを表示する
※systemdのログで見るには「journalctl -r」です。
脅威検出・駆除ユーティリティ。詳細は上述しました。
(5. オンデマンド検索(≒手動スキャン)によるウィルス検知確認)
/opt/sophos-av/bin/savsetup
/opt/sophos-av/bin/savupdate
/opt/sophos-av/bin/savdstatus
有効時
Sophos Anti-Virus はアクティブで、オンアクセス検索を実行中です
無効時
Sophos Anti-Virus はアクティブですが、オンアクセス検索は実行されていません
sav-protectサービスの停止時
Sophos Anti-Virus は非アクティブです
/opt/sophos-av/bin/savdctl enable
/opt/sophos-av/bin/savdctl disable
または
または
systemctl is-enabled sav-protect
enabled
または
systemctl disable sav-protect
systemctl list-unit-files | grep sav
sav-protect.service enabled
sav-rms.service disabled
sav-update.service disabled
systemctl -a | grep sav
sav-protect.service
loaded active running "Sophos Anti-Virus daemon"
echo 'disable' > /proc/sys/talpa/intercept-filters/Cache/status
echo 'enable' > /proc/sys/talpa/intercept-filters/Cache/status
/opt/sophos-av/engine/talpa_select select
上記でコンパイルできないときのログは以下です。
cat /opt/sophos-av/log/talpaselect.log
※オンアクセス検索が起動できない時は手動アップデート
「/opt/sophos-av/bin/savupdate」のみで解決する場合も有りますので
まずは手動アップデートの方を先に実行するのが良いかと思います。
/opt/sophos-av/bin/savconfig set DisableFanotify false
service sav-protect restart
/opt/sophos-av/bin/savconfig set PreferFanotify true
service sav-protect restart
/opt/sophos-av/uninstall.sh