FortiGate 脆弱性の確認方法|PSIRT と仮想パッチの実機チェック

  • URLをコピーしました!
目次

はじめに

Fortinet 製品の脆弱性が公開されたとき、運用者がまず判断したいのは「自分の FortiGate が影響を受けるのか」「修正版はどれか」「ファームウェアをすぐに上げられない場合、暫定的に守られているのか」の 3 点です。これらは FortiGuard PSIRT、Upgrade Path Tool、仮想パッチ(fmwp シグネチャ)と確認先が分かれているため、初めて対応する際は動線が分かりにくいことがあります。

本記事では、FortiOS を例に、脆弱性の公開から実機での仮想パッチ確認までを一連の流れとして整理します。

この記事でわかること
  • FortiGuard PSIRT Advisories で、自機が影響を受けるかを確認する手順
  • アドバイザリの Solution 列から修正バージョンを読み取り、Upgrade Path Tool で経路を確認する方法
  • 仮想パッチ(fmwp)の役割と、PSIRT から仮想パッチ名を特定する方法
  • 実機の FortiOS で仮想パッチの適用状況を確認するコマンド
  • これらをつなげた、脆弱性対応のひとつの動線

結論を先に整理すると、確認の流れは「PSIRT Advisories で影響バージョンを確認 → Solution 列で修正版を把握 → Upgrade Path Tool でアップグレード経路を確認 → 仮想パッチ(fmwp)の有無を確認 → 実機で適用状況をチェック」という順序になります。すぐにアップグレードできない環境でも、仮想パッチの適用状況を実機で確認できれば、暫定的な緩和の度合いを把握しやすくなります。

FortiGate の脆弱性情報はどこで確認するか

Fortinet の脆弱性情報は、FortiGuard 上の複数の窓口に分かれています。それぞれの役割を押さえておくと、目的に応じて使い分けやすくなります。

FortiGuard PSIRT Advisories

個別の脆弱性(FG-IR 番号・CVE 番号)ごとの詳細を確認する一次情報です。影響を受けるバージョン、修正版、深刻度、回避策がアドバイザリ単位で整理されています。Fortinet は深刻度の評価に CVSS v3.1 を用いており、高(High)以下の脆弱性は、毎月決まったタイミング(太平洋時間の第 2 火曜日)にまとめて公開される運用になっています。月次のリズムを把握しておくと、定期的な棚卸しの計画が立てやすくなります。

各情報源の入口そのものの探し方は、関連記事『Fortinet 公式情報の探し方|製品仕様から脆弱性情報までの調べ方』も参照してください。

FortiGuard Outbreak Alerts

大規模に悪用されている攻撃キャンペーンを、影響・技術詳細・保護方法の観点でまとめた速報です。個別の CVE を追うというより、「いま広く狙われている脅威」を俯瞰する用途に向いています。

外部ソースとの併用(CISA KEV 等)

実際に悪用が確認された脆弱性は、米国 CISA の Known Exploited Vulnerabilities(KEV)カタログにも登録されます。PSIRT のアドバイザリと KEV を突き合わせると、「修正の有無」だけでなく「実際に悪用されているか」という観点が加わり、対応の優先順位づけに役立ちます。

PSIRT Advisories で影響範囲を確認する手順

FortiGuard の PSIRT Advisories ページ(https://www.fortiguard.com/psirt)では、複数の条件で脆弱性を絞り込めます。自機に関係するアドバイザリだけを抽出する流れを整理します。

参考: PSIRT Advisories(FortiGuard Labs)
“The following is a list of advisories for issues resolved in Fortinet products.”
(Fortinet 製品で解決された問題に関するアドバイザリの一覧です)
https://www.fortiguard.com/psirt

絞り込みの基本手順

ページ上部の条件で、次のように絞り込みます。

  1. Affected Product で対象製品(例: FortiOS)を選択する。
  2. Date で確認したい年を選択する。
  3. Severity で深刻度(Critical / High / Medium など)を選択する。
  4. 必要に応じて Version に自機のバージョンを入力し、該当するアドバイザリのみを抽出する。
  5. Keyword で語句(後述の fmwp など)を指定する。
  6. Filter を実行する。

Version 欄に自機のバージョンを入力すると、そのバージョンに影響するアドバイザリだけが残るため、保有機種が複数バージョンにまたがる環境での絞り込みに有効です。

Affected と Solution の読み方

個々のアドバイザリには、Version・Affected・Solution を対応づけた表が掲載されています。確認のポイントは次の 2 点です。

  • 自機のバージョンが Affected(影響あり)の範囲に含まれるかを確認する。
  • Solution 列に示される対処が「Upgrade to x.x.x or above(指定バージョン以上へのアップグレード)」か、「Migrate to a fixed release」かを確認する。

ここで 「Migrate to a fixed release」は、そのブランチ内に修正版が用意されておらず、修正済みの別ブランチへ移行する必要があることを示します。同じ「修正あり」でも、単純なパッチ適用で済むのか、ブランチ移行を伴うのかで作業計画が変わるため、この区別は早い段階で押さえておくとよい部分です。具体的なアップグレード経路の確認方法は、次のセクションで扱います。

修正バージョンとアップグレード経路の確認

PSIRT で修正版を把握したら、次は現行バージョンからその修正版へ至る経路を確認します。FortiGate はバージョンを飛ばしたアップグレードに制約があるため、目標バージョンへ一足飛びにできない場合があります。そこで役立つのが Upgrade Path Tool です。

ツールに現行のモデル・FortiOS バージョン・目標バージョンを指定すると、テスト済みの経路(各ホップ)が提示されます。経路は QA で検証された手順を順にたどる形になっており、途中のパッチを飛ばさずに進めることが、構成の整合性や安定性の観点から推奨されます。

参考: Upgrade Path Tool(Fortinet Document Library)
“The upgrade path tool provides recommended upgrade paths based on tested, valid point-to-point upgrades.”
(アップグレードパスツールは、テスト済みで有効な地点間アップグレードに基づく推奨経路を提示します)
https://docs.fortinet.com/upgrade-tool

同様のツールは Fortinet サポートサイト(https://support.fortinet.com)にもあり、両者で経路が若干異なる場合がありますが、いずれも有効な経路とされています。なお、次のメジャーバージョンへ上げる前に、現行マイナーの最新パッチへ上げておくことが一般的なベストプラクティスです。

HA 構成での具体的な適用手順や所要時間の目安については、関連記事『FortiGate アップグレードパスの確認方法と所要時間|HA 構成の手順』で詳しく扱っているため、本記事では経路確認の位置づけにとどめます。

仮想パッチ(fmwp)とは何か

修正版が判明しても、検証やメンテナンス枠の都合で、すぐにアップグレードできない環境は少なくありません。その間の暫定的な緩和策として用意されているのが仮想パッチ(fmwp)です。

参考: Virtual patching on the local-in management interface(FortiGate / FortiOS 7.6.6 Administration Guide)
“Virtual patching is a method of mitigating vulnerability exploits.”
(仮想パッチは、脆弱性の悪用を緩和する手法のひとつです)
https://docs.fortinet.com/document/fortigate/7.6.6/administration-guide/393161/virtual-patching-on-the-local-in-management-interface

ポイントを整理します。

  • fmwp は FortiGate の IPS エンジンを用いて、既知の脆弱性の悪用をブロックするシグネチャです。修正版へのアップグレードを代替するものではなく、あくまで適用までの間の緩和策と位置づけられます。
  • FMWP データベースの導入には、有効な FMWR(Firmware)ライセンスが必要です。FMWR ライセンスの仕様やライセンス起因の挙動については、関連記事『FortiGate 強制自動アップグレードの仕様と無効化手順』も参照してください。
  • 管理インターフェース宛のトラフィックに対しては、local-in ポリシーに set virtual-patch enable を設定することで仮想パッチを適用できます(FortiOS 7.4.2 以降)。
  • PSIRT のアドバイザリ詳細には、対象 CVE に対応する仮想パッチ名(FG-VD- で始まる識別子など)が記載される場合があります。前述の PSIRT の Keyword 欄に fmwp と入力すると、仮想パッチが用意されている脆弱性を絞り込めます。

実機で仮想パッチの適用状況を確認する

仮想パッチ名が分かったら、実機の FortiOS でそのシグネチャが有効になっているかを確認します。使用するコマンドは get rule fmwp status です。PSIRT で得た仮想パッチ名を grep で絞り込むと、該当するルールだけを抽出しやすくなります。

# get rule fmwp status | grep -A 19 <仮想パッチ名>
rule-name: "FortiOS.Fclicense.Daemon.Format.String."
rule-id: 10004067
rev: 23.082
date: 1697644800
action: block
status: enable
log: disable
severity: 3.high
service: TCP, HTTP
vuln_type: Format String
cve: 202329181
fos_comp: Web-GUI

(出力は公式ドキュメントの例を基にした抜粋です。rule-name には、上記のような説明的な名称のほか、FG-VD- で始まる識別子が表示される場合もあります。)

出力の読み方は次のとおりです。

  • status: enable であれば、そのシグネチャが有効化されています。
  • action: block は、検知時にブロック動作をとることを示します。
  • rev はシグネチャのリビジョンで、PSIRT 側に記載される仮想パッチのリビジョンと突き合わせると、想定どおりの版が適用されているかを確認できます。
  • cve は対応する CVE 番号、vuln_type は脆弱性の種別を示します。

なお、FMWR ライセンスが無効、または期限切れの場合は FMWP データベース自体が導入されず、仮想パッチも適用されない点に注意が必要です。実機で status が想定どおりにならない場合は、まず FortiGuard のライセンス状態を確認することをおすすめします。

まとめ

FortiGate の脆弱性対応では、影響有無の確認・修正版の把握・経路の確認・暫定緩和の判断を、それぞれ別の窓口でたどることになります。本記事では、PSIRT から実機での仮想パッチ確認までを一連の流れとして整理しました。すぐにアップグレードできない環境でも、仮想パッチの適用状況を実機で確認できれば、現時点の守りの度合いを把握しやすくなります。

  • PSIRT Advisories は影響バージョンと修正版を確認する一次情報
  • 高(High)以下の脆弱性は毎月第 2 火曜の定期公開
  • Solution 列で修正版とブランチ移行の要否を確認
  • 修正版への経路は Upgrade Path Tool で段階的に確認
  • 仮想パッチ(fmwp)は IPS エンジンによる暫定的な緩和策
  • 仮想パッチの導入には有効な FMWR ライセンスが必要
  • 実機では get rule fmwp statusで適用状況を確認

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次