2026年10月22日、Fortinetは、FortiOSの重大度Critical/Highの脆弱性をまとめて修正したバージョン(7.6.8、8.0.2など)を公開しました。脆弱性の詳細は11月10日に公表される予定で、それまでは中身が分からないまま更新を急ぐ必要があります。その9日前、10月13日にもFortinetはFortiOSのHTTPS管理画面(GUI)を、認証なしでサービス停止に追い込める脆弱性を公表しています(FG-IR-26-181)。もし管理画面が応答しなくなったら、そのときに頼れるのはSSHかコンソールから叩くCLIだけです。
6月に大きく報じられたFortiBleed(FortiGateの認証情報が大量に出回った件)でも、Fortinetが最初に求めたのは「管理者セッションを切る」「見覚えのないアカウントを探す」といった点検でした。どれもCLIなら数行で終わる作業です。ネットワークエンジニア(以下、NE)として現場でFortiGateを触っていても、本当に困ったときに効くのはdiagnose系・execute系のコマンドだと感じます。
この記事は、自宅ラボのFortiGate 60F(FortiOS 7.6系)を前提に、「GUIではできない・GUIより確実にできる」作業だけを逆引きで集めたチートシートです。状態確認/通信トラブルの切り分け/セキュリティ点検/セッション・ログ操作/バックアップとアップグレードの5つに分けています。情報は2026年10月25日時点のものです。
60Fの構築がまだの方は、先にFortiGate 60F 初期設定の記事からどうぞ。
2026年秋、FortiGateのCLIを手元に置いておくべき理由
今年のFortiGateまわりは、GUIの外で動ける力が試される出来事が続きました。

AIが見つけた脆弱性の一斉修正(10月22日)
10月22日の修正版は、FortinetによればAIを使った社内のセキュリティテストで見つかった脆弱性を初めてまとめて直したリリースです。修正版はFortiOS 8.0.2、7.6.8、7.4.13、7.2.14以降で、FortiManagerやFortiAnalyzerも同時に更新されています。公表時点で悪用は報告されていませんが、CVEなどの詳細は11月10日まで伏せられます。
Fortinetは、攻撃側もAIで修正前後の差分を解析し、短時間で攻撃コードを作れるようになっていると警告しています。インターネット側に管理画面を出している機器から優先して更新し、すぐに上げられない場合は管理アクセスの制限やMFAで時間を稼ぐ、というのが公式の推奨です。この記事の公開時点(11月1日)は、まさに「詳細公表前に上げ切る」期間の中にあります。
GUIを止められる脆弱性(FG-IR-26-181)
10月13日公表の脆弱性は、細工したHTTPリクエストで管理画面を停止させられるものです。CVSSは6.7(Medium)で、公表時点で悪用は確認されていません。この脆弱性自体は7.6.7と8.0.1で直っていますが、10月22日の修正を含めると、7.6系なら7.6.8以降、8.0系なら8.0.2以降が今の目安です。4月にこのブログで7.6.6へ上げる手順を紹介しましたが、その7.6.6も対象に入っています。まずは get system status で自分のバージョンを確認してください。
FortiBleed後に求められた「点検」
FortiBleedについてFortinetは、新しい脆弱性ではなく、過去に漏れた認証情報の使い回しや、MFAなし・弱いパスワードの機器への総当たりが原因だと説明しています。そのうえで、セッションの切断、パスワード変更、MFAの有効化、見覚えのないアカウントの確認を推奨しました。経緯はFortiBleedの解説記事にまとめています。パッチを当てただけでは終わらないというのが今年の大きな教訓で、点検作業そのものはCLIのほうが速く確実です。
FortiOS 8.0でGUIは便利に、CLIの読み方はむしろ大事に
3月に発表されたFortiOS 8.0は、AI利用の可視化・制御や耐量子暗号を前面に出したリリースです。60Fも8.0.0のリリースノートで対応機種に含まれています。一方で、CLIリファレンスを見ると、8.0.0にあった config llm 系の設定が8.0.1で削除されるなど、マイナーアップデートでもコマンド体系が動いています。GUIやAIアシスタントが何をしているかを確かめるにも、結局はCLIの出力を読めることが前提になります。耐量子暗号の話はFortiGateのPQC移行の記事で詳しく扱っています。
この記事の前提と使い方
前提は以下のとおりです。
- 機種:FortiGate 60F(自宅ラボ実機)
- ファームウェア:FortiOS 7.6系(8.0系でも基本は同じだが、細部はリリースノートで要確認)
- 接続方法:SSH(コンソールケーブルでも同じコマンドが使えます)
コマンド表は「やりたいこと」→「コマンド」→「補足」の順です。diagnose系は参照が中心ですが、execute系には再起動や初期化など戻せない操作が含まれます。補足に「要注意」とある行は、本番機ではバックアップ取得後に実行してください。
FortiOSのCLIは省略入力ができ、diagnose sys session stat は diag sys session stat でも通ります。本記事では正式表記で統一します。なお、60Fのようなメモリ2GBのモデルでは、SSL VPNはすでに使えません。リモートアクセスはIPsec VPNが前提になります。
状態確認:GUIより深い情報をCLIで取る
ダッシュボードでは「CPUが高い」ことまでは分かっても、どのプロセスが原因かまでは追えません。そこから先はCLIの出番です。
| やりたいこと | コマンド | 補足 |
|---|---|---|
| バージョン・シリアル・稼働時間を見る | get system status | 脆弱性情報の該当確認はまずここから |
| CPUを消費しているプロセスを特定する | diagnose sys top 5 30 | 5秒間隔で上位30プロセスを表示。qで終了。並べ替えは大文字のP(バージョンによってはC)でCPU順、Mでメモリ順 |
| メモリの内訳を確認する | diagnose hardware sysinfo memory | コンサーブモード調査の起点。2GBモデルでは特に重要 |
| NICのエラーカウンタを見る | diagnose hardware deviceinfo nic wan1 | CRCエラーやドロップの確認に。ケーブル・対向機器の切り分けに有効 |
| ルーティングテーブル全体を見る | get router info routing-table all | 静的・動的経路をまとめて確認できる |
| ARPテーブルを確認する | get system arp | クリアは execute clear system arp table(CLIのみ) |
| NTPの同期状態を確認する | diagnose sys ntp status | ログの時刻ずれ調査に。点検時の時系列整理にも必須 |
| シグネチャのバージョンを一覧する | diagnose autoupdate versions | 手動更新は execute update-now。仮想パッチの反映確認にも使う |
| 再起動・クラッシュの履歴を読む | diagnose debug crashlog read | 「いつの間にか再起動していた」調査の第一歩 |
| セッション数の統計を見る | diagnose sys session stat | セッション枯渇の疑いがあるときにまず実行 |
通信トラブルの切り分け:debug flowとパケットキャプチャ
「通信が通らない」ときの二大武器がdebug flowとパケットキャプチャ(sniffer)です。debug flowは、FortiGateがそのパケットをどのポリシーで許可・破棄したかを内部処理のレベルで見せてくれます。GUIのログに「Deny」の1行しか出ない場面でも、理由まで追えます。
切り分けの順番は「状態確認 → debug flow → sniffer →(VPNなら)IKEのdebug」が基本です。

| やりたいこと | コマンド | 補足 |
|---|---|---|
| パケットの許可/破棄の理由を追う | diagnose debug flow filter addr 192.168.1.10diagnose debug flow trace start 10diagnose debug enable | 対象IPで絞ってから10パケット分をトレース。ポリシー未マッチや逆経路チェック失敗などが分かる |
| パケットキャプチャを取る | diagnose sniffer packet any 'host 192.168.1.10' 4 100 | 末尾はverbosity 4・100パケット。フィルタはtcpdumpと同じ書き方 |
| Wiresharkで読むためのキャプチャを取る | diagnose sniffer packet any 'host 192.168.1.10' 6 100 a | verbosity 6と絶対時刻で取得し、変換ツールでpcapにする前提 |
| 送信元IPを指定してpingを打つ | execute ping-options source 192.168.1.99execute ping 8.8.8.8 | 戻り経路の確認に。GUIからは送信元を細かく指定できない |
| 経路を確認する | execute traceroute 8.8.8.8 | どこで途切れるかの切り分けに |
| IPsec VPNのネゴシエーション失敗を調べる | diagnose debug application ike -1diagnose debug enable | Phase1/Phase2のどこで落ちているかが分かる。プロポーザル不一致の特定に |
| VPNトンネルの状態を確認する | diagnose vpn ike gateway listdiagnose vpn tunnel list | SAの確立状況やカウンタまで見える |
| LDAPサーバとの認証を単体でテストする | diagnose test authserver ldap <サーバ名> <ユーザ> <パスワード> | 実ユーザで認証が通るかまで確認できる |
| デバッグを確実に止める(後始末) | diagnose debug disablediagnose debug reset | debug系を使ったら必ず実行。出しっぱなしはCPU負荷の原因になる |
セキュリティ点検:FortiBleed後に見直したいCLI
今年いちばん追加したかったのがこのカテゴリです。Fortinetが示した点検項目を、CLIで実行できる形に置き換えました。GUIに入れない、あるいはGUI自体を信用しきれない状況でも同じ手順で確認できます。
| やりたいこと | コマンド | 補足 |
|---|---|---|
| いまログインしている管理者を確認する | get system info admin status | 見覚えのない接続元IPがないかを確認 |
| 管理者セッションを強制的に切る | execute disconnect-admin-session ?execute disconnect-admin-session <番号> | ?で表示される番号を指定。要注意:自分のセッションも切れるので番号をよく確認 |
| 管理者アカウントの一覧と許可元を見る | show system admin | forticloud、fortiuserなど、作った覚えのないアカウントがないか。trusthostの設定有無も確認 |
| VPN用のローカルユーザーを確認する | show user local | 最近追加されたユーザーや、心当たりのないユーザーがないか |
| 管理アクセスを絞るポリシーを確認する | show firewall local-in-policy | Fortinetは信頼済みホストの指定、さらにlocal-inポリシーでの制限を推奨している |
| 管理者のログイン履歴をCLIで読む | execute log filter category 1execute log filter field subtype systemexecute log display | イベントログのうちシステム系に絞る。見覚えのないIPからのログインを探す |
| IPsec VPNの接続をいったん切る | diagnose vpn ike gateway clear name <フェーズ1名> | 指定したトンネルのSAを切って張り直させる。要注意:名前を省くと全トンネルが対象。パスワード変更とセットで実施 |
| GUIが固まったときに管理画面のプロセスを確認する | diagnose sys process pidof httpsd | 再起動は diagnose sys kill 11 <PID>。要注意:根本対策はバージョンアップ |
Fortinetは、見覚えのない設定変更やアカウントが見つかった場合はその機器を侵害済みとして扱うよう求めています。設定を直して終わりにせず、正常時のバックアップとの比較や、AD・LDAP連携先の確認まで進めてください。VPN機器全般が狙われる背景は狙われるVPN機器の記事でも整理しています。
セッション・ログ操作:CLIだけの強制操作
既存セッションの強制切断は、ポリシー変更をすぐ反映させたいときの定番作業です。条件を絞って切る操作はCLIのほうが確実です。ログもGUIのほうが見やすいものの、SSHしか届かない障害時にはCLIでの閲覧が頼りになります。
| やりたいこと | コマンド | 補足 |
|---|---|---|
| 特定の宛先のセッションだけ表示する | diagnose sys session filter dst 8.8.8.8diagnose sys session list | filterで条件を決めてからlistする2段構え。解除は diagnose sys session filter clear |
| セッションを強制的に切る | diagnose sys session clear | 要注意:filterが未設定だと全セッションが切れる。必ずfilterを確認してから実行 |
| DHCPのリース一覧を確認する | execute dhcp lease-list | どの端末にどのIPを払い出したかをすぐ確認できる |
| トラフィックログをCLIで見る | execute log filter category 0execute log display | category 0がトラフィック、1がイベント。条件の確認は execute log filter dump |
| テスト用のログを出す | diagnose log test | Syslogやログ転送の疎通確認に使える |
バックアップとアップグレード:前後で必ず叩くexecuteコマンド
10月の一斉修正のように「詳細が出る前にすぐ上げる」場面が増えています。上げる前の退避と、失敗したときの戻し方をセットで覚えておくと、慌てずに済みます。
| やりたいこと | コマンド | 補足 |
|---|---|---|
| コンフィグをTFTPサーバへ退避する | execute backup config tftp fg60f.conf 192.168.1.50 | 作業前バックアップの基本形。点検時の「正常な状態」との比較用にも残す |
| コンフィグをUSBメモリへ退避する | execute backup config usb fg60f.conf | サーバ不要で手軽 |
| コンフィグを戻す | execute restore config tftp fg60f.conf 192.168.1.50 | 要注意:戻したあと自動で再起動する |
| 2つのファームウェア領域の中身を確認する | diagnose sys flash list | どちらの領域にどのバージョンが入っているかが分かる |
| 起動する領域を切り替える(切り戻し) | execute set-next-reboot secondary | アップグレードに失敗したとき旧バージョンへ戻す。手順はファームウェアアップグレードの記事で解説 |
| ファームウェアをTFTPから入れ直す | execute restore image tftp <ファイル名> <サーバIP> | GUIが使えないときの復旧手段。再起動を伴う |
| 再起動する/停止する | execute rebootexecute shutdown | 要注意:shutdownは電源が落ちるまで進む。リモートからは特に慎重に |
| 工場出荷状態に戻す | execute factoryreset | 要注意:全設定が消える。侵害が疑われる機器を作り直すときや廃棄前に |
| サポートに出す情報をまとめて取る | execute tac report | 問い合わせ前に。各種diagnoseの結果をまとめて出力する |
8.0系への移行を考えている場合は、リリースノートの「Changes in CLI」「Removed CLI commands」を必ず読んでからにしてください。前述のとおりマイナーアップデートでもコマンドが消えることがあり、古い設定が読み込めずに一部だけ反映される事故につながります。7.6系はサポート期間が長く残っているので、検証機で8.0を試しつつ、本番は7.6.8以降で固めるのが現実的だと考えています。
まとめ:GUIが使えない日に備えて
本記事では、FortiGate 60F(FortiOS 7.6系)で使う「GUIでできない・GUIより確実」なCLIコマンドを5つのカテゴリで逆引きできるようにまとめました。2026年は認証情報の大量流出、GUIを止める脆弱性、AIが見つけた脆弱性の一斉修正と、CLIで動ける力が試される一年でした。
まずは次の3つから試してみてください。
get system statusでバージョンを確認し、7.6.8(8.0系は8.0.2)より前なら更新を計画get system info admin statusとshow system adminで管理者まわりを点検execute backup configで「正常な状態」のコンフィグを残しておく
関連記事もあわせてどうぞ。
- FortiGate 60F 初期設定:これから60Fを構築する方向け
- FortiGate 60F ファームウェアアップグレード:切り戻しコマンドとセットで読むと安心です
- FortiBleedの解説:今年の認証情報流出の経緯と対策
このチートシートは、実機で検証するたびに追記していきます。ブックマークして現場でお使いください。意見や追加してほしいコマンドがあれば、Xの@ponflogまでお気軽にどうぞ。
WAN側で開けてはいけない設定は、実機画面を使ってチェックリストにまとめています。