FortiGateのファームウェアアップデートは、セキュリティパッチの適用や新機能の追加に欠かせない重要な作業です。しかし、手順を誤ると通信断や設定消失といった重大な障害につながる可能性があります。本記事では、FortiGateのファームウェアアップデートを安全に実施するための手順と注意点を、実機での作業経験をもとに詳しく解説します。
過去にHA構成のFortiGateで、Primary側だけをアップデートして切り戻しができなくなった現場がありました。バージョン差が大きくHA同期が取れず、復旧に数時間を要したことがあります。
また、本番環境で直接アップデートを試みて失敗し、緊急で旧バージョンのファームウェアをUSBメモリから復旧させた経験もあります。事前準備と手順の確認がいかに重要かを痛感した事例でした。
ファームウェアアップデートを実施する前には、必ず以下の事前確認項目をチェックする必要があります。これらの確認を怠ると、アップデート失敗時の復旧が困難になったり、想定外の動作を引き起こす可能性があります。
まず現在動作しているファームウェアバージョンを確認します。GUIとCLIの両方で確認する方法を紹介します。
GUIでの確認方法:
System > Status の画面で「Version」フィールドを確認します。ここには「v7.0.8 build0342」のような形式でバージョン情報が表示されます。
CLIでの確認方法:
FG200F # get system status
Version: FortiGate-200F v7.0.8,build0342,220916 (GA)
Serial-Number: FG200FTK20123456
BIOS version: 07000008
System time: Mon Jan 15 10:30:45 2024
この出力から、現在のバージョンが7.0.8でビルド番号が0342であることがわかります。この情報をメモしておき、アップデート後に正しくバージョンが上がったか確認する際に使用します。
ファームウェアアップデートの前には必ず設定バックアップを取得します。万が一アップデートに失敗した場合、このバックアップが唯一の復旧手段になることもあります。
GUIからのバックアップ:
管理画面の左メニューから System > Configuration を選択します。
「Backup」ボタンをクリックし、「Local PC」を選択してダウンロードします。
ダウンロードされたファイル名に日付とホスト名が含まれていることを確認し、安全な場所に保管します。
CLIからのバックアップ:
FG200F # execute backup config tftp backup_20240115.conf 192.168.1.100
TFTPサーバーにバックアップを保存する場合は上記のコマンドを使用します。SCPやFTPを使う場合は、protocolオプションを追加します。
バックアップファイルには平文のパスワードが含まれる場合があります。セキュアな場所に保管し、不要になったら確実に削除してください。また、暗号化オプションを使用することも検討しましょう。
FortiGateでは、バージョンによって直接アップグレードできる範囲が決まっています。大幅なバージョンアップを行う場合は、段階的にアップグレードする必要があります。
例えば、FortiOS 6.2.x から 7.2.x へアップグレードする場合の推奨パス:
| 現在のバージョン | 目標バージョン | 推奨パス |
|---|---|---|
| 6.2.x | 7.2.x | 6.2.x → 6.4.x → 7.0.x → 7.2.x |
| 6.4.x | 7.2.x | 6.4.x → 7.0.x → 7.2.x |
| 7.0.x | 7.2.x | 7.0.x → 7.2.x(直接可能) |
| 7.0.x | 7.0.y | 7.0.x → 7.0.y(直接可能) |
FortinetのSupport Siteから該当バージョンのリリースノートをダウンロードし、以下の項目を必ず確認してください:
- 既知の問題(Known Issues)
- 解決されたバグ(Resolved Issues)
- 新機能と変更点(New Features & Changes)
- 設定の互換性(Configuration Compatibility)
- アップグレード後の推奨設定(Post-upgrade Recommendations)
FortiGateのファームウェアアップデートは、GUIとCLIの両方から実施できます。それぞれの方法について詳しく解説します。
GUIからのアップデートは視覚的でわかりやすく、初心者にも推奨される方法です。以下の手順で実施します。
Fortinet Support Siteから該当機種・バージョンの.outファイルをダウンロードします。ファイル名は「FGT_200F-v7-build0342-FORTINET.out」のような形式です。
FortiGateの管理画面にログインし、System > Firmware を選択します。
「Upload」または「Browse」ボタンをクリックし、ダウンロードした.outファイルを選択します。アップロードが完了すると「Backup config and upgrade」ボタンが表示されます。
「Backup config and upgrade」をクリックします。確認ダイアログが表示されるので「Continue」を選択します。この時点でバックアップも自動的に取得されます。
アップグレードが完了すると自動的に再起動します。再起動後、System > Status でバージョンが正しく更新されていることを確認します。
GUIからのアップデートでは、進行状況がプログレスバーで表示されるため、作業の進捗が把握しやすいというメリットがあります。通常、アップデート作業には5~15分程度かかります。
CLIからのアップデートは、リモート作業や自動化に適しています。特にHA構成や複数台を管理する場合に効率的です。
TFTPサーバーからのアップデート:
FG200F # execute restore image tftp FGT_200F-v7-build0342-FORTINET.out 192.168.1.100
This operation will replace the current firmware version!
Do you want to continue? (y/n) y
Reading file FGT_200F-v7-build0342-FORTINET.out...
############################################
Image Verified. Starting upgrade...
Flashing firmware...
############################################
Firmware upgrade successful.
System will reboot in 3 seconds...
USBメモリからのアップデート:
FG200F # execute usb-disk list
usb-disk is mounted successfully.
FG200F # execute restore image usb FGT_200F-v7-build0342-FORTINET.out
This operation will replace the current firmware version!
Do you want to continue? (y/n) y
USBメモリからのアップデートは、TFTPサーバーが利用できない環境や、ネットワークが不安定な場合に有効です。また、災害対策として事前にUSBメモリにファームウェアを保存しておくことも推奨されます。
以下は、アップデート方法ごとのメリット・デメリットの比較です:
図1: アップデート方法別の適用率
アップデート方法の比較表:
| 方法 | メリット | デメリット |
|---|---|---|
| GUI | 直感的で進捗が見やすい、初心者にも安心 | ブラウザ経由のため若干遅い |
| TFTP | 高速、スクリプト化可能 | TFTPサーバーの準備が必要 |
| USB | ネットワーク不要、物理的にセキュア | 現地作業が必要 |
| FortiManager | 一括管理、スケジュール実行可能 | FortiManagerライセンスが必要 |
HA(High Availability)構成のFortiGateでは、アップデート手順が単体機器とは大きく異なります。適切な手順を踏まないと、HA同期が取れなくなり、サービス断が発生する可能性があります。
HA構成でのファームウェアアップデートには以下の原則があります:
- Secondary機から先にアップデート: 必ずSecondary(待機系)から先にアップデートします
- バージョン差の制限: Primary-Secondary間のバージョン差は1~2メジャーバージョン以内に留める
- HA同期の確認: 各ステップでHA同期が正常であることを確認する
- 計画的なフェイルオーバー: Primary更新時は計画的にフェイルオーバーを実施する
以下は、Active-PassiveのHA構成における標準的なアップデート手順です。
まず現在のHA状態を確認します。どちらがPrimary/Secondaryか、同期状態は正常かを確認します。
FG200F # get system ha status
HA Health Status: OK
Model: FortiGate-200F
Mode: HA A-P
Group: 0
Debug: 0
Cluster Uptime: 15 days, 4:32:15
Cluster state change time: 2024-01-01 09:15:30
Primary : FG200FTK20123456, priority=200, override=disable
Secondary: FG200FTK20123457, priority=100, override=disable
ses_pickup: enable, ses_pickup_delay=disable
override: disable
Configuration Status:
Primary : in-sync
Secondary: in-sync
System Usage stats:
Primary : sessions=1234, npu_sessions=5678, nturbo_sessions=0
Secondary: sessions=0, npu_sessions=0, nturbo_sessions=0
Secondary機にログインし、設定バックアップを取得します。
Secondary機に対してファームウェアアップデートを実行します。再起動後、自動的にHA同期が開始されます。
Secondary # execute restore image tftp FGT_200F-v7-build0342-FORTINET.out 192.168.1.100
Secondary機が再起動したら、HA同期が正常に完了するまで待ちます(通常5~10分)。
Primary # get system ha status
Configuration Status:
Primary : in-sync
Secondary: in-sync (v7.0.8 build0342)
Primary機からSecondary機へ手動でフェイルオーバーを実行します。これにより、アップデート済みのSecondary機がPrimaryに昇格します。
Primary # execute ha failover set 1
This operation will cause a failover. Do you want to continue? (y/n) y
フェイルオーバーが完了したら、通信が正常に継続されているかを確認します。pingやトラフィック監視で確認します。
旧Primary機(現在はSecondaryになっている機器)に対してファームウェアアップデートを実行します。
両機がアップデートされ、HA同期が正常であることを最終確認します。両機のバージョンが一致していることを確認します。
HA構成でPrimary機を先にアップデートしてしまうと、バージョン差によりHA同期が切れる可能性があります。必ずSecondaryから先にアップデートしてください。
また、メジャーバージョンを複数段階またぐアップデートの場合、段階的にアップデートする必要があります。例:6.4.x → 7.0.x → 7.2.x
HA構成でのアップデート時によくあるトラブルと対処法をまとめます:
| トラブル | 原因 | 対処法 |
|---|---|---|
| HA同期が取れない | バージョン差が大きすぎる | 段階的にアップデート、または両機を同一バージョンに戻す |
| Primaryに昇格しない | Priority設定またはヘルスチェック失敗 | Priority設定を確認、interface監視を一時無効化 |
| フェイルオーバーで通信断 | Session pickupが無効 | Session pickup有効化、または計画的な切り替えで対応 |
| アップデート後起動しない | ファームウェア破損またはHW不適合 | コンソールから旧バージョンで起動、またはUSB復旧 |
図2: HAアップデート時のダウンタイム比較
