【FortiGate】アンチウイルス機能の設定を完全に理解する

ファイアウォール(UTM)

作業環境

  • 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 settingsconfig 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 を検査対象として、アクションはブロックとします。

EICAR テストファイルとは?
EICAR テストファイルとは?

上の 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

参考資料

FortiGuardアンチウイルスセキュリティサービス - フォーティネット
Patented technologies enable FortiGuard antivirus to identify thousands of current and future malware variants with a single signature – optimizing both securit...
Antivirus | Administration Guide
config antivirus profile | CLI Reference

タイトルとURLをコピーしました