作業環境
- FortiGate 60E
- version 7.0.1
アンチウイルス機能概要
アンチウイルス機能では、アンチウイルスプロファイルを(ファイアウォール)ポリシーに適用することによって、アンチウイルスプロファイルの内容に従って当該ポリシーに合致するトラフィックについて検疫を行うことができます。

デフォルトのアンチウイルスプロファイル
デフォルトでは以下の 2 つのアンチウイルスプロファイルが存在します。
- default
- wifi-default

これらのプロファイルをカスタマイズして使用することも、新規にオリジナルのプロファイルを作成して使用することも可能です。
アンチウイルスプロファイル設定画面
GUI で設定する場合は、[セキュリティプロファイル > アンチウイルス] 画面で実施できます。
プロファイルを新規作成する場合は [新規作成] ボタンから実施できます。

フローベースとプロキシベース
プロファイルの設定項目である [機能セット] の値としてフローベース
かプロキシベース
かを選択できます。
プロキシベースの場合のみ使用できる機能がいくつかありますが、プロキシベースにするとフローベースよりもスループットが小さくなるといわれています。
◆フローベースの場合の設定項目

◆プロキシベースの場合の設定項目

上の画像で (P)
マークがついている設定項目はプロキシベースの場合のみ使用できる機能です。
FortiSandbox の利用について
アンチウイルス機能の中で FortiSandbox
(いわゆるサンドボックス機能)を使用するためにはファブリックコネクタ画面からサンドボックス(クラウド、またはオンプレミスアプライアンス)を有効化する必要があります。
デフォルトでは無効化されていて、無効化されているとアンチウイルスプロファイルの設定画面で FortiSandbox の設定項目が表示されません。
◆有効化方法(クラウドサンドボックスの場合)
[セキュリティファブリック > ファブリックコネクタ] 画面で [クラウドサンドボックス] をダブルクリックします。

表示された設定画面で以下の通り設定し [OK] をクリックします。
- ステータス:有効
- タイプ:FortiGate Cloud
- 地域:日本

[セキュリティファブリック > ファブリックコネクタ] 画面で [クラウドサンドボックス] の表示が以下のように変わったことを確認します。

アンチウイルスプロファイル設定の完全理解
基本設定と検査対象プロトコル

- 名前:任意のプロファイル名
- コメント:任意の説明コメント
- アンチウイルススキャン:
- ブロック:ウイルスに感染したファイルをブロックする
- モニタ:ウイルスに感染したファイルをログに記録する
- 機能セット:
- フローベース:フローベースのプロファイルとして設定する
- プロキシベース:プロキシベースのプロファイルとして設定する
- インスペクションされるプロトコル:
- 検査対象のプロトコルを有効化する
- MAPI と SSH はプロキシベースの場合のみ選択可能
APTプロテクションオプション

コンテンツ無害化
コンテンツ無害化はプロキシベースの場合のみ使用可能です。
コンテンツ無害化(Content disarm and reconstruction (CDR))では、
- ハイパーリンク
- 埋め込みメディア
- JavaScript
- マクロ
などのアクティブなコンテンツをファイルから削除することにより、Microsoft Office ドキュメントと PDF ファイル(ZIP アーカイブにあるものを含む)を、そのテキストコンテンツの整合性に影響を与えることなくサニタイズ(sanitize)できます。
CDR によって処理されたファイルは、隔離の目的でハードディスクを備えた FortiAnalyzer、FortiSandbox、または FortiGate ローカルに保存できます。これにより誤検知が発生した場合にはオリジナルのコピーを取得できます。
対応しているプロトコルは HTTP、SMTP、POP3、IMAP です。
エラー発生時の送信を許可
CDR エンジンで回復不能なエラーが発生した場合に実行するアクション。
- ON:ログ記録のみ実施し、ファイルは許可する
- OFF:ファイルはブロックする
元のファイル宛先
アクティブコンテンツが削除された場合にオリジナルのファイルを送信する宛先。
- FortiSandbox:設定された FortiSandbox に保存
- ファイルの隔離:ディスク(可能な場合)または FortiGate ログ設定(
config log fortianalyzer setting
)に基づいて設定された FortiAnalyzer に保存 - 破棄:オリジナルのドキュメントファイルを破棄する(デフォルト設定)
CDR 機能のパラメータの設定
上で記載している以外の CDR 機能のパラメータの設定は CLI でのみ実施できます。
config antivirus profile
edit "profile-name"
#中略
config content-disarm
set original-file-destination discard
set error-action log-only
set office-macro enable
set office-hylink enable
set office-linked enable
set office-embed enable
set office-dde enable
set office-action enable
set pdf-javacode enable
set pdf-embedfile enable
set pdf-hyperlink enable
set pdf-act-gotor enable
set pdf-act-launch enable
set pdf-act-sound enable
set pdf-act-movie enable
set pdf-act-java enable
set pdf-act-form enable
set cover-page enable
set detect-only disable
end
#中略
next
end
主な設定項目は以下の通りです。
set office-macro <enable|disable>
- Microsoft Office ドキュメントのマクロの削除を [有効/無効] にする
- デフォルト:enable
set cover-page <enable|disable>
- ファイルが CDR によって処理されたらファイルのコンテンツに表紙を添付を [有効/無効] にする
- デフォルト:enable
set detect-only <enable|disable>
- CDR 処理可能なファイルの検出のみ実施しコンテンツを変更しないことを [有効/無効] にする
- デフォルト:disable(CDR 処理を実施する)
Eメール添付のWindows実行ファイルをウイルスとして扱う
プロトコル imap、pop3、smtp、mapi に関係する設定。
Windows 実行可能ファイルをウイルスとして扱うかどうかの設定。
- ON:Windows 実行可能ファイルをウイルスとして扱う
- OFF:Windows 実行可能ファイルに対して標準的なアンチウイルススキャンを実行する
FortiSandboxに検査のためファイルを送信
- None:ファイルは FortiSandbox に転送されない
- 疑わしいファイルのみ:
- アクティブコンテンツの可能性があるとアンチウイルスによって分類されたファイルは FortiSandboxに転送される
- FortiGate クラウドサンドボックスを使用する場合、送信制限があるため、この設定が推奨
- サポートされているすべてのファイル:FortiSandbox のスキャンプロファイルで定義されているファイルタイプに一致するすべてのファイルが転送される
FortiSandboxデータベースを使用
FortiSandbox シグネチャデータベースを使用してアンチウイルスシグネチャデータベースを補完することを [有効/無効] にする。
モバイルマルウェアプロテクションを含める
モバイルマルウェアシグネチャデータベースの使用を [有効/無効] にする。
隔離
感染したファイルの検疫を [有効/無効] にする。
ウイルスアウトブレイク防止

ウイルスアウトブレイク防止 (FortiGuard Virus Outbreak Protection Service (VOS)) を使用すると、FortiGate アンチウイルスデータベースを、FortiGuard で収集されたサードパーティのマルウェアハッシュシグネチャによって強化することができます。
- ウイルス対策データベースはスキャンしたファイルのハッシュを使用して FortiGuard にクエリを実行
- FortiGuard が一致を返す場合、スキャンされたファイルは悪意のあるものと見なされる
FortiGuardアウトブレイク防止データベースを使用する
FortiGuardアウトブレイク防止データベースの使用を [有効/無効] にする。
また、ウイルス感染ファイル検知時の動作として [ブロック/モニタ(ログ記録のみ)] とする。
外部マルウェアブロックリストを使用
- 外部マルウェアブロックリストを使用すると、ユーザーは MD5、SHA1、および SHA256 ハッシュの形式で独自のマルウェアシグネチャを追加可能
- FortiGate のウイルス対策データベースは、リモートサーバーから外部マルウェアハッシュリストを取得し、n分ごとにハッシュリストをポーリングして更新を確認する
- 異なるタイプのハッシュを同時に使用すると、マルウェアスキャンのパフォーマンスが低下する可能性があることに注意が必要。1種類のハッシュを使用することが推奨
EMS脅威フィードの使用
- FortiGateは、FortiClient EMS (FortiClient 管理サーバ) からマルウェア脅威フィードをプル可能
- FortiClient EMSは、FortiClient によって検出されたマルウェアハッシュを受信する
- ブロックまたはモニタアクションでアンチウイルススキャンが有効になっている場合、マルウェアハッシュをアンチウイルスプロファイルで使用可能
- この機能を使用するためには [セキュリティプロファイル > ファブリックコネクタ] 画面から FortiClient EMS の設定をしておく必要がある
アンチウイルスプロファイルの CLI での設定
CLI で設定する場合は、GUI で実施する場合よりも細かく設定ができます。
(検査対象プロトコル別に設定内容を変えるなど。)
アンチウイルスプロファイルを CLI で設定する場合は config antivirus profile
が対象です。
FW01 # show full-configuration antivirus profile
config antivirus profile
edit "default"
set comment "Scan files and block viruses."
set replacemsg-group ''
set feature-set proxy
set ftgd-analytics suspicious
set analytics-max-upload 10
unset analytics-ignore-filetype
unset analytics-accept-filetype
set analytics-db disable
set mobile-malware-db enable
config http
set av-scan block
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine enable
unset archive-block
unset archive-log
set emulator enable
set content-disarm enable
end
config ftp
set av-scan block
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine enable
unset archive-block
unset archive-log
set emulator enable
end
config imap
set av-scan block
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine enable
unset archive-block
unset archive-log
set emulator enable
set executables default
set content-disarm enable
end
config pop3
set av-scan block
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine enable
unset archive-block
unset archive-log
set emulator enable
set executables default
set content-disarm enable
end
config smtp
set av-scan block
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine enable
unset archive-block
unset archive-log
set emulator enable
set executables default
set content-disarm enable
end
config mapi
set av-scan disable
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine disable
unset archive-block
unset archive-log
set emulator enable
set executables default
end
config nntp
set av-scan disable
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine disable
unset archive-block
unset archive-log
set emulator enable
end
config cifs
set av-scan disable
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine disable
unset archive-block
unset archive-log
set emulator enable
end
config ssh
set av-scan block
set outbreak-prevention disable
set external-blocklist disable
set fortiai disable
set quarantine enable
unset archive-block
unset archive-log
set emulator enable
end
config nac-quar
set infected none
set log disable
end
config content-disarm
set original-file-destination discard
set error-action log-only
set office-macro enable
set office-hylink enable
set office-linked enable
set office-embed enable
set office-dde enable
set office-action enable
set pdf-javacode enable
set pdf-embedfile enable
set pdf-hyperlink enable
set pdf-act-gotor enable
set pdf-act-launch enable
set pdf-act-sound enable
set pdf-act-movie enable
set pdf-act-java enable
set pdf-act-form enable
set cover-page enable
set detect-only disable
end
set outbreak-prevention-archive-scan disable
set external-blocklist-enable-all enable
set ems-threat-feed disable
set fortiai-error-action log-only
set av-virus-log enable
set av-block-log enable
set extended-log disable
set scan-mode default
next
#中略
end
アンチウィルス関係のコンフィグ項目としては、プロファイルの他に config antivirus settings
と config antivirus quarantine
があります。
FW01 # show antivirus settings
config antivirus settings
set machine-learning-detection enable
set grayware enable
end
FW01 # show full-configuration antivirus settings
config antivirus settings
set machine-learning-detection enable
set grayware enable
set override-timeout 0
end
FW01 # show antivirus quarantine
config antivirus quarantine
end
FW01 # show full-configuration antivirus quarantine
config antivirus quarantine
set maxfilesize 0
set quarantine-quota 0
unset drop-infected
set store-infected imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs ssh
unset drop-blocked
set store-blocked imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs ssh
unset drop-machine-learning
set store-machine-learning imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs ssh
set destination NULL
end
アンチウイルス動作確認(HTTP)
以下のカスペルスキーのサイトから、疑似ウイルスファイルを HTTPS/HTTP でダウンロードできるため、HTTP を使って FortiGate のアンチウイルスの動作テストをしてみます。なお、使用するアンチウイルスプロファイルでは HTTP を検査対象として、アクションはブロックとします。

上の Web ページの [HTTP] のリンクをクリックしてファイルダウンロードを試みると以下の画面が表示され、ダウンロードがブロックされることが確認できます。

なお、HTTPS でダウンロードすると、通信内容が暗号化されていて検査ができないためブロックされません。
HTTPS 通信も検査したい場合は FortiGate で SSL インスペクションの設定を併せて行う必要があるようです。これに関しては後日検証予定です。
アンチウイルスログの確認
GUI でのログ確認
[ログ&レポート > アンチウイルス] 画面でアンチウイルスのログを確認できます。

ウイルス検知・ブロックの統計情報の確認
diagnose ips av stats show
コマンドで、検査対象プロトコル別にウイルス検知およびブロック件数を確認できます。
FW01 # diagnose ips av stats show
AV stats:
HTTP virus detected: 2
HTTP virus blocked: 2
SMTP virus detected: 0
SMTP virus blocked: 0
POP3 virus detected: 0
POP3 virus blocked: 0
IMAP virus detected: 0
IMAP virus blocked: 0
NNTP virus detected: 0
NNTP virus blocked: 0
FTP virus detected: 0
FTP virus blocked: 0
SMB virus detected: 0
SMB virus blocked: 0
また diagnose ips av stats clear
コマンドで統計情報をリセットできます。
FW01 # diagnose ips av stats clear
Clear AV stats
FW01 # diagnose ips av stats show
AV stats:
HTTP virus detected: 0
HTTP virus blocked: 0
SMTP virus detected: 0
SMTP virus blocked: 0
POP3 virus detected: 0
POP3 virus blocked: 0
IMAP virus detected: 0
IMAP virus blocked: 0
NNTP virus detected: 0
NNTP virus blocked: 0
FTP virus detected: 0
FTP virus blocked: 0
SMB virus detected: 0
SMB virus blocked: 0
参考資料
