はじめに
FortiGate を安全に運用するうえで、ファームウェアのバージョン管理と脆弱性対策は運用設計の重要な要素です。
セキュリティ強化を目的として、FortiOS 7.4.8 以降で、特定の条件下にある FortiGate のファームウェアが「強制的にアップグレード(Required/Forced firmware upgrade)」される仕様が追加されました。さらにこの仕様は、FortiOS 7.6.4 系以降にも適用範囲が拡大しています。意図しないタイミングでの再起動やバージョンアップを避けるためには、対象バージョン・発生条件・延期方法を正しく理解しておくことをおすすめします。
なお、Fortinet の公式ドキュメントでは、この機能の呼称が当初の「Automatic firmware upgrades」から「Required firmware upgrades(必須ファームウェアアップグレード)」へ更新されています。本記事では検索・運用上の通称に合わせて「強制アップグレード」と表記し、必要に応じて公式呼称を併記します。
- FortiOS 7.4.8 系および 7.6.4 系における強制アップグレードの基本仕様と発生条件
- アップグレードスケジュールの確認と延期(ディレイ)の設定方法
- ライセンスが有効でも強制アップグレードが発生する原因と回避策
結論として、強制アップグレードは「FMWR ライセンスが無効」または「稼働バージョンが EOES に到達」した場合に、現行マイナーバージョン内の最新パッチへ向けてスケジュールされます。一度スケジュールされるとキャンセルはできませんが、インストールの延期は可能です。また autoupdate schedule を無効化していると、ライセンスを更新してもライセンス誤認により強制アップグレードが発動する場合があるため、設定の見直しをおすすめします。
FortiOS 7.4 の EOES / EOS 日程は 2026 年に変更されています。背景となる SSL-VPN 廃止と IPsec 移行の事情については、関連記事『FortiOS 7.4 の EOES 延長と SSL-VPN から IPsec への移行実情』をあわせてご参照ください。
参考: Required firmware upgrades for FortiGates(FortiOS 8.0.0 Administration Guide)
“Since FortiOS 7.4.8 and 7.6.4, FortiGates are required to upgrade to the latest patch”
(FortiOS 7.4.8 および 7.6.4 以降、FortiGate は現行マイナーバージョン内の最新パッチへのアップグレードが要求されます)
https://docs.fortinet.com/document/fortigate/8.0.0/administration-guide/320693/required-firmware-upgrades-for-fortigates-with-invalid-support-contracts-or-that-have-reached-eoes
FortiGate における強制アップグレードの基本仕様
FortiOS 7.4.8 以降(および 7.6.4 以降)では、脆弱性の放置を防ぐ予防的な措置として、特定のライセンス状態・サポート状況にある機器に対し、ファームウェアの自動アップグレードがスケジュールされます。FortiGate は毎日 FortiGuard へ通信し、新しいパッチの有無とライセンス状態を確認します。

アップグレードされるバージョンの範囲
この強制アップグレードによって、メジャーバージョンやマイナーバージョンが大きく上がること(例: 7.4.x が 7.6.x へ上がる)はありません。適用先は、あくまで現在のマイナーバージョン内における最新パッチに限定されます。
例えば、稼働中のバージョンが 7.4.8 で、そのマイナーバージョン(7.4 系)の最新パッチが 7.4.12 である場合、7.4.12 へのアップグレードがスケジュールされます。同様に、7.6 系の機器であれば 7.6 系の最新パッチが対象となります(※ 本記事執筆時点の 7.4 系最新パッチは 7.4.12 です。実際に適用されるバージョンは確認時点の最新パッチにより異なります)。
FortiGate のファームウェア管理や推奨バージョンの考え方については、関連記事『FortiGate アップグレードパスの確認方法と所要時間』もあわせてご参照ください。
FortiOS 7.6 系への適用拡大と FMWR ライセンスの整理
強制アップグレードの仕様は当初 FortiOS 7.4.8 系を対象に導入されましたが、その後 7.6.4 系以降にも適用範囲が拡大しています。挙動そのものは共通で、いずれも「現行マイナーバージョン内の最新パッチ」へ向けてスケジュールされます。7.6 系の機器でも、FMWR ライセンス無効または EOES 到達を契機に、7.6 系の最新パッチが対象となります。
FMWR ライセンスと EOES とは
強制アップグレードの発生条件を理解するうえで、2 つの用語の整理が役立ちます。
- FMWR ライセンス(Firmware & General Updates)
-
ファームウェアのアップグレード/ダウングレードを許可する契約です。FortiOS 7.4.2 以降では、現行ライセンスの有効期限と、対象ファームウェアのメジャー GA(.0)リリース日を比較して許可可否が判定されます。契約の有効期限は
diagnose test update info contract | grep FMWRや、GUI の System > FortiGuard で確認できます。 - EOES(End of Engineering Support)
-
エンジニアリングサポートが終了する日付です。EOES 到達後は、業界的に重大な問題や PSIRT 脆弱性に対する must-fix ビルドのみが提供されるフェーズに移ります。
参考: How the FortiGate firmware license works(FortiOS 7.6.6 Administration Guide)
“Enforcement is based on the expiry date of the current firmware license”
(許可可否は現行ファームウェアライセンスの有効期限を基準に判定されます)
https://docs.fortinet.com/document/fortigate/7.6.6/administration-guide/299518/how-the-fortigate-firmware-license-works
対象バージョンと挙動の早見表
適用対象と強制先を整理すると、以下のとおりです。
| 区分 | 対象となる FortiOS | 強制先 | 主な例外 |
|---|---|---|---|
| 当初の仕様 | 7.4.8 以降 | 同一マイナー内の最新パッチ | Security Fabric 参加時/FortiManager 接続時/HA セカンダリ単独 |
| 適用拡大後 | 7.4.8 以降・7.6.4 以降 | 同一マイナー内の最新パッチ | 同上 |
メジャー・マイナーをまたぐアップグレード(例: 7.4.x → 7.6.x)が強制されることはなく、あくまで現行マイナー内のパッチ更新にとどまる点は、当初・拡大後で共通しています。
ライセンス未検証エラー(7.6.6 など)と強制アップグレードの違い
実務では、強制アップグレードとは逆向きの挙動として、ライセンス期限切れによってアップグレード自体が拒否されるケースもあります。手動で上位バージョンのイメージをインストールしようとした際に、次のようなエラーが表示されることがあります。
This is a FortiOS vX.X.X-buildXXXX firmware image that cannot be installed
because the device's FortiGuard license for firmware upgrades could not be
verified or may have expired. Verify or renew the license to install upgrades.このエラーは、FMWR ライセンスの有効期限が、対象ファームウェアのメジャー GA(.0)リリース日より前である場合に発生します。例えば、7.6.6 のイメージを適用しようとして、ライセンスが該当する GA リリース日より前に切れていると、この検証エラーでインストールが拒否されます。
混同しやすい 2 つの挙動を整理すると、次のように区別できます。
| 項目 | 強制(Required)アップグレード | ライセンス未検証エラー |
|---|---|---|
| 発生契機 | FMWR 無効または EOES 到達時に、最新パッチへ自動的にスケジュール | 期限切れライセンスで上位イメージを手動インストールしようとした時 |
| 方向 | 同一マイナー内の最新パッチへ向かう(上がる) | 上位バージョンへの更新が拒否される(上がらない) |
| 対象 | 7.4.8 系・7.6.4 系以降 | FortiOS 7.4.2 以降全般 |
| 主な解消・回避 | キャンセル不可・延期のみ可能/ライセンス検証の維持 | FMWR ライセンスの更新 |
いずれも FMWR ライセンスの状態が起点となるため、ライセンスの有効性と FortiGuard への通信経路を維持しておくことが、両方のトラブルを避ける共通の前提となります。具体的な検証エラーの切り分け手順は、Fortinet コミュニティの Troubleshooting Tip でも案内されています。
参考: Troubleshooting Tip — Firmware image cannot be installed(Fortinet Community)
“the device’s FortiGuard license for firmware upgrades could not be verified or may have expired”
(ファームウェアアップグレード用の FortiGuard ライセンスが検証できないか、期限切れの可能性がある)
https://community.fortinet.com/t5/FortiGate/Troubleshooting-Tip-Firmware-image-cannot-be-installed-because/ta-p/404049
強制アップグレードが実行される条件と例外
FortiGate は毎日 FortiGuard へ通信し、新しいパッチの有無を確認しています。この確認プロセスで以下のいずれかの条件を満たすと判断された場合、新しいファームウェアイメージへの強制アップグレードがスケジュールされます。
実行される条件
FMWR ライセンスの無効化(期限切れ):
Firmware & General Updates(FMWR)契約が無効になっている場合。
EOES(End of Engineering Support)到達:
稼働中のマイナーバージョンがエンジニアリングサポート終了フェーズに入っている場合。
FortiOS 7.4 および 7.6 の EOES / EOS 日程は、2026 年 3 月に公表された Customer Support Bulletin(CSB-260330-1)で変更されています。延長の背景や影響については、関連記事『FortiOS 7.4 の EOES 延長と SSL-VPN から IPsec への移行実情』をご参照ください。
参考: FortiOS End of Support change for FortiOS v7.4 and v7.6(Fortinet Community Technical Tip)
“an expected change to End of Engineering Support and End of Support dates for FortiOS v7.4 and v7.6”
(FortiOS v7.4 および v7.6 の EOES / EOS 日程に関する変更)
https://community.fortinet.com/fortigate-3/technical-tip-fortios-end-of-support-change-for-fortios-v7-4-and-v7-6-224876
例外となる条件(実行されないケース)
機器が特定の管理下にある環境では、システム全体への影響を考慮して対象外(または独自挙動)となります。
Security Fabric に参加している場合:
自動アップグレードは実行されません(アップグレードがスケジュールされた状態では Fabric に参加できません)。
FortiManager に接続されている場合:
自動アップグレードは実行されません。スケジュール後に FortiManager へ接続した場合、そのスケジュールはキャンセルされます。
HA(冗長化)構成の場合:
強制アップグレードはプライマリ機に対してのみ進行します。セカンダリ機が単独で実行することはありませんが、プライマリ機が主導する通常のクラスタアップグレードを通じて、結果的に両機ともアップグレードされます。
アップグレードの延期方法とステータス確認コマンド
この仕様で管理者が注意すべき点は、一度スケジュールされた強制アップグレードはキャンセル(取り消し)ができないことです。実際に execute federated-upgrade cancel を実行してもエラーとなり、システムに拒否されます。
# execute federated-upgrade cancel
The existing upgrades cannot be cancelled. Command fail. Return code 1ただし、日中の業務時間内での予期せぬ再起動を避けるため、インストールのタイミングを延期(ディレイ)することは可能です。延期には次の 2 つのアプローチがあります。
config によるスケジュール調整(14 日ウィンドウ)
config system fortiguard 階層で auto-firmware-upgrade-day または auto-firmware-upgrade-delay を設定することで、新しいパッチが検知されてから 14 日間のウィンドウ内でインストール日時を再調整できます。
execute コマンドによる延期(既定 7 日)
以下のコマンドで、既存のインストール予定日を延期できます。このコマンドは繰り返し実行しても有効で、業務都合に合わせて継続的に後ろ倒しにすることも可能です。
# execute auto-upgrade delay-installation
(※ diagnose test forticldd 93 も同等の動作をします)ステータス確認と手動トリガーのコマンド
強制アップグレードがスケジュールされているかの確認や、FortiGuard へのチェックを手動でトリガーするための CLI コマンドが用意されています。
アップグレードステータスの詳細確認(自動アップグレードが有効(Forced)か、いつ実行されるか):
# execute auto-upgrade status
(※ diagnose test application forticldd 13 も同等の動作をします)新しいイメージの確認を手動でトリガー(FortiGuard へのファームウェアチェックを即座に実行):
# execute auto-upgrade check-for-new-image
(※ diagnose test forticldd 90 も同等の動作をします)ライセンス期限切れ判定がトリガーになっているかは、デバッグコマンドでも確認できます。
# diagnose debug application forticldd -1強制アップグレードが発動している場合、ログに以下のような出力が記録されます。
[206] fmwr_contract_expired: Contract expired!
[1705] auto_upg_img_check: News: FMWR contract expired? 1
[1706] auto_upg_img_check: Should we force it? 1出力中の 1 はそれぞれの問いに対する「Yes(該当する)」を意味しており、ライセンス有効期限切れと判定されたうえで強制アップグレードが実行される流れを示しています。
ライセンス有効時でも発生する強制アップグレードのリスクと対策
実務で最も注意すべきなのは、FMWR ライセンスを正常に更新し、かつ自動アップグレード設定を無効化しているにもかかわらず、強制アップグレードが実行されるケースです。Fortinet の公式コミュニティ(Technical Tip)でも、この予期せぬ挙動への注意喚起が行われています。
意図しない強制アップグレードが発生する原因
根本原因は、FortiGate 全体のスケジュール更新機能である autoupdate schedule 自体を無効化(disable)していることにあります。
この機能が無効だと、管理者がライセンスを更新しても、FortiGate 本体が FortiGuard サーバーへ通信して新しいライセンス情報を取得・検証できません。その結果、機器内部に残る古いライセンス情報のまま「期限切れ(無効)」と誤認し、強制アップグレードのプロセスを自らトリガーしてしまいます。
参考: Unexpected automatic firmware upgrade despite FMWR(Fortinet Community Technical Tip)
“FortiGate could not validate the new FMWR license”
(FortiGate が新しい FMWR ライセンスを検証できなかった)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Unexpected-automatic-firmware-upgrade-despite-FMWR/ta-p/419243
正しい設定方法と回避策
ライセンスの有効性を正しく認識させ、意図しない強制アップグレードを防ぐためには、以下の設定状態を維持することをおすすめします。
1. autoupdate schedule を有効にしておく(推奨)
ライセンス認証やアップデート通知を正常に機能させるため、システム全体のスケジュール機能は有効にしておくことをおすすめします。
config system autoupdate schedule
set status enable
end2. ファームウェアの自動アップグレードのみを無効にする
ファームウェアの自動アップグレードだけを止めたい場合は、こちらの項目のみを無効化します。これであれば、ライセンスの検証プロセスは阻害されません。
config system fortiguard
set auto-firmware-upgrade disable
end3. FortiGuard サーバーへの通信確保
ライセンス検証を正常に機能させるため、FortiGate から以下の FQDN へ通信できることを確認しておくことをおすすめします。
update.fortiguard.netservice.fortiguard.net
show system federated-upgrade を実行して以下のように set source forced-upgrade というステータスが表示された場合は、すでにライセンス誤認(または実際の期限切れ)による強制アップグレードが作動しているサインです。
config system federated-upgrade
set status initialized
set source forced-upgrade
set upgrade-id 1
set ha-reboot-controller "FGT40FXXXXXXXX"
config node-list
edit "FGT40FXXXXXXXX"
set timing immediate
set maximum-minutes 45
set upgrade-path 7-4-12
next
end
endset source forced-upgrade の部分が強制アップグレード起因であることを示し、set upgrade-path には適用予定のパッチバージョンが表示されます。
まとめ
本記事では、FortiOS 7.4.8 以降で導入され、その後 7.6.4 系へ適用が拡大した強制アップグレードの仕様と、予期せぬ再起動を防ぐための対策を解説しました。仕組みの起点はいずれも FMWR ライセンスの状態であり、ライセンスと FortiGuard 通信の維持が運用上の前提となります。
- ライセンス無効または EOES 到達を契機に同一マイナー内の最新パッチへ強制スケジュール
- 対象は当初の 7.4.8 系に加え 7.6.4 系以降へ拡大
- スケジュール後はキャンセル不可で延期のみ可能(config は 14 日ウィンドウ・execute は既定 7 日)
- Security Fabric・FortiManager 管理下・HA セカンダリ単独は対象外
- autoupdate schedule の無効化はライセンス誤認による強制アップグレードの引き金
- 期限切れライセンスでの上位イメージ拒否エラーは強制アップグレードとは別挙動
以上、最後までお読みいただきありがとうございました。
