はじめに
テレワークが定着した現在、社外からオフィスへ安全に接続するためのリモートアクセス VPN は業務継続に欠かせないインフラです。その中でも、Web ブラウザだけで手軽に導入できる SSL-VPN は長らく主流でしたが、状況が大きく変化しています。
具体的には、Fortinet は FortiOS 7.6.3(2025 年リリース)をもって、全機種で SSL-VPN のトンネルモード機能そのものを GUI/CLI から完全に削除しました。さらに、2GB RAM 以下のエントリーモデルや G シリーズについては、それ以前のバージョンから段階的に SSL-VPN 機能が削除されてきています。
参考: SSL VPN tunnel mode replaced with IPsec VPN(FortiOS 7.6.6 Release Notes)
“Starting in FortiOS 7.6.3, the SSL VPN tunnel mode feature is replaced with IPsec VPN, which can be configured to use TCP port 443. SSL VPN tunnel mode is no longer available in the GUI and CLI. Settings will not be upgraded from previous versions. This applies to all FortiGate models.”
(FortiOS 7.6.3 以降、SSL-VPN トンネルモードは IPsec VPN に置き換えられます。IPsec VPN は TCP/443 で構成可能です。SSL-VPN トンネルモードは GUI/CLI のいずれからも利用できません。以前のバージョンの設定は引き継がれず、これはすべての FortiGate モデルに適用されます。)
https://docs.fortinet.com/document/fortigate/7.6.6/fortios-release-notes/173430/ssl-vpn-tunnel-mode-replaced-with-ipsec-vpn
つまり、SSL-VPN は「リスクが高いから IPsec を推奨する」という段階を超えて、「製品からそもそも消える」フェーズに入っています。本記事では、この前提を踏まえたうえで、SSL-VPN を取り巻く現状の整理、まだ SSL-VPN を運用している環境向けの暫定設定、そして移行先となる IPsec VPN over TCP/443 ダイアルアップ の構築手順までを解説します。
- FortiOS のバージョン別 SSL-VPN サポート状況(マトリクス)
- SSL-VPN が廃止された背景(CVE 事例と Fortinet の方針)
- SSL-VPN/IPsec VPN/ZTNA の選定マトリクス
- SSL-VPN(トンネルモード)の暫定 CLI 設定手順(FortiOS 7.6.2 以前)
- IPsec VPN over TCP/443 ダイアルアップへの移行 CLI 手順(推奨構成)
- 移行時のトラブルシューティングコマンド集
FortiOS バージョンごとの SSL-VPN サポート状況
SSL-VPN の機能削除は、FortiOS のバージョンと機種の組み合わせによって段階的に進められてきました。ご利用中の環境がどの段階にあるかを以下の表で確認してください。
| FortiOS バージョン | SSL-VPN トンネルモード | SSL-VPN Web モード | 対象機種 |
|---|---|---|---|
| 7.4.7 以前 | 利用可能 | 利用可能 | 全機種 |
| 7.4.8 以降 | 削除 | 削除 | G シリーズエントリー機(50G/70G/90G 等) |
| 7.6.0 〜 7.6.2 | 削除 | 削除 | 2GB RAM 以下の機種(40F/60F/61F 等) |
| 7.6.0 〜 7.6.2 | 利用可能 | 利用可能 | 上記以外の機種 |
| 7.6.3 以降 | 全機種で削除 | Agentless VPN として一部機種で存続 | 全機種 |
| 8.0.x | 削除 | Agentless VPN として 19″ モデルで存続 | 全機種 |
参考: Agentless VPN not supported on FortiGate 40F, 60F, and 90G series models(FortiOS 7.6.3 Release Notes)
“On the following FortiGate models, the Agentless VPN (formerly SSL VPN web mode) feature is no longer available from the GUI or CLI. Settings will not be upgraded from previous versions.”
(以下の FortiGate モデルでは、Agentless VPN(旧 SSL-VPN Web モード)機能は GUI/CLI から利用できなくなりました。以前のバージョンの設定は引き継がれません。)
https://docs.fortinet.com/document/fortigate/7.6.3/fortios-release-notes/877104/agentless-vpn-formerly-ssl-vpn-web-mode-not-supported-on-fortigate-40f-60f-and-90g-series-models
自機の RAM 容量を確認する方法
ご利用の機種が 2GB RAM 制約に該当するかは、以下のコマンドで確認できます。
diagnose hardware sysinfo conserve出力された total ram の値が 2000 MB 未満であれば、2GB RAM 制約の対象機種です。
バージョン運用上の注意点
FortiOS 7.4.8 以降では、ライセンス無効や EOES 到達を条件に同一マイナーバージョン内の最新パッチへ自動でアップグレードされる仕様が追加されています。SSL-VPN を運用したまま意図せず 7.6.3 以降へアップグレードされると、リモートアクセスが完全に停止します。仕様の詳細と回避手順については、関連記事『FortiGate 強制アップグレード(自動アップグレード)の仕様と回避対策』を参照してください。また、FortiOS 7.4 のサポート期間延長と SSL-VPN 廃止の動きをあわせて把握したい場合は、関連記事『FortiOS 7.4 サポート延長の背景と SSL-VPN 廃止に伴う移行の現実』も参考になります。
SSL-VPN が IPsec VPN に置き換えられた背景
Fortinet が SSL-VPN を製品から削除する方針を取った背景には、長年にわたる SSL-VPN 関連脆弱性の累積があります。
過去に攻撃の標的となった主な SSL-VPN 脆弱性
FortiOS の SSL-VPN は、機能の複雑さに起因する脆弱性が繰り返し報告されてきました。代表的なものとして、CVE-2022-42475(heap overflow、CVSS 9.8)、CVE-2023-27997(heap overflow、CVSS 9.8)、CVE-2024-21762(out-of-bounds write、CVSS 9.6)などがあり、いずれも CISA KEV(Known Exploited Vulnerabilities)カタログに収録され、実際に攻撃に悪用された経緯があります。
これらの脆弱性の多くは、SSL-VPN の Web モード(FortiGate が HTML を書き換えてプロキシする機能)や、TLS 接続を処理する SSL-VPN デーモン自体に起因しています。インターネットに常時公開されるサービスであること と、処理が複雑であること が組み合わさり、攻撃面として狙われやすい構造でした。
Fortinet の対応: 段階的な機能削除
Fortinet は脆弱性パッチを提供し続けるだけでなく、より根本的な対策として「機能そのものを削除する」方向へ舵を切りました。具体的には、リソースが限られるエントリーモデルから段階的に削除を進め、最終的に FortiOS 7.6.3 で全機種のトンネルモードを廃止しています。
参考: Fortinet による SSL-VPN 廃止アナウンス(CybersecurityNews)
“By completely removing this feature, Fortinet is helping to steer the community to a safer online experience. A hacker or bad actor cannot exploit something that no longer exists.”
(この機能を完全に削除することで、Fortinet はより安全なオンライン環境へとコミュニティを導いています。攻撃者は、もはや存在しないものを悪用することはできません。)
https://cybersecuritynews.com/fortinet-ends-ssl-vpn-support/
移行先となる選択肢
SSL-VPN の代替として、Fortinet は以下の 3 つの方向性を提示しています。
- IPsec VPN(推奨)
-
標準ベースのトンネルプロトコル。FortiOS 7.4.2 以降では、ESP パケットを TCP/443 内にカプセル化できるため、UDP がブロックされる環境にも対応可能
- Agentless VPN(旧 SSL-VPN Web モード)
-
ブラウザ経由のクライアントレス接続。FortiOS 8.0 でも一部機種で存続していますが、対応機種は段階的に縮小しています。
- ZTNA(Zero Trust Network Access)
-
TLS ベースの新しいリモートアクセス方式。端末のポスチャチェックと組み合わせ、より粒度の細かいアクセス制御が可能
本記事では、ほとんどの企業ユーザーにとって現実的な移行先となる IPsec VPN(TCP/443 ダイアルアップ) に焦点を当てます。
リモートアクセス VPN の選定マトリクス
SSL-VPN 廃止に伴い、現実的な代替手段は複数あります。それぞれの特性を整理します。
| 比較軸 | SSL-VPN(トンネル) | IPsec VPN(UDP) | IPsec VPN(TCP/443) | Agentless VPN | ZTNA |
|---|---|---|---|---|---|
| FortiOS 7.6.3 以降 | × 廃止 | ○ | ○ | △ 機種限定 | ○ |
| クライアントソフト | FortiClient | FortiClient/OS 標準 | FortiClient 7.4.1+ | 不要(ブラウザ) | FortiClient/ブラウザ |
| 通信プロトコル | TCP(任意ポート) | UDP/500、UDP/4500 | TCP/443 | TCP/443 | TCP/443 |
| CG-NAT・制限環境 | ○ | × ブロック多発 | ○ | ○ | ○ |
| NP オフロード | × | ○ 高速 | × CPU 処理 | × | × |
| MFA/SAML 連携 | ○ | ○ | ○ | ○ | ○ |
| 推奨用途 | (新規構築不可) | 拠点間・高速ダイアルアップ | UDP がブロックされる環境のダイアルアップ | クライアント導入が困難な端末 | 端末ポスチャ重視 |
選定のポイント
拠点間 VPN(Site-to-Site)の構築・既存環境の引き継ぎ については、IPsec VPN(UDP)が最も標準的かつ高性能です。詳しい構築手順は、関連記事『FortiGate IPsec VPN の構築手順|IKEv2 と NAT 越えの設定例』で解説しています。
SSL-VPN からのリモートアクセス移行 には、本記事で扱う IPsec VPN over TCP/443 ダイアルアップ が最も自然な移行先です。SSL-VPN と同じ TCP/443 を使うため、ホテル Wi-Fi や社外プロキシ環境など、利用者側のネットワーク要件への影響を最小化できます。
クライアントソフトを配布できない端末 については Agentless VPN が選択肢になりますが、対応機種が限定されているため将来性は限定的です。ゼロトラスト方針を採用する場合 は、ZTNA への直接移行も検討の余地があります。
なお、IPsec VPN over TCP は NP オフロードが効かず、純粋な ESP/UDP 方式と比較すると CPU 負荷が高くなります。UDP/500、UDP/4500 が利用可能な環境では、通常の IPsec VPN(UDP)の方が高スループットを得られます。
参考: Dialup IPsec VPN using custom TCP port(FortiOS 8.0 Administration Guide)
“Because there is no NP offloading for the RFC compliant version of IPsec over TCP, its performance is lower than standard ESP and ESP over UDP, which fully utilizes NP offloading to accelerate the performance.”
(RFC 準拠の IPsec over TCP には NP オフロードが適用されないため、NP オフロードを活用できる標準 ESP および ESP over UDP と比較すると、性能は低くなります。)
https://docs.fortinet.com/document/fortigate/8.0.0/administration-guide/567401/dialup-ipsec-vpn-using-custom-tcp-port


SSL-VPN(トンネルモード)を運用する場合の CLI 設定
FortiOS 7.6.3 以降ではこの設定自体が不可能です。FortiOS 7.6.2 以前、または 7.4 系の対応機種を運用中で、IPsec への移行までの暫定運用が必要なケース のために CLI 設定例を示します。新規構築では次のセクションで解説する IPsec VPN over TCP/443 の採用を推奨します。
設定の前提パラメーター
- WAN(port1): インターネット側(グローバル IP を持つ)
- LAN(port2): 社内ネットワーク側(例: 192.168.1.0/24)
- 待ち受けポート: 10443(デフォルトの 443 はスキャン対象となりやすいため変更を推奨)
- トンネル用 IP プール: 10.212.134.10 – 10.212.134.20
- 認証: ローカルユーザー認証
アドレスオブジェクトの作成
後続のコマンドで参照するアドレスオブジェクトを事前に作成します。
config firewall address
edit "LAN-Subnet"
set subnet 192.168.1.0 255.255.255.0
next
end
config firewall address
edit "SSLVPN_TUNNEL_ADDR1"
set type iprange
set start-ip 10.212.134.10
set end-ip 10.212.134.20
next
endVPN 接続用ユーザーとグループの作成
VPN 接続に使用するユーザーアカウントを作成し、グループに所属させます。
config user local
edit "vpnuser01"
set type password
set passwd "Password123!"
next
end
config user group
edit "G-SSLVPN"
set member "vpnuser01"
next
endSSL-VPN ポータルの設定
脆弱性の温床となりやすい Web モードを無効化し、トンネルモードのみを許可します。スプリットトンネルを有効化することで、社内宛て通信のみを VPN に流し、インターネット通信は VPN を経由させない構成とします。
config vpn ssl web portal
edit "Tunnel-Portal"
set tunnel-mode enable
set web-mode disable
set ip-pools "SSLVPN_TUNNEL_ADDR1"
set split-tunneling enable
set split-tunneling-routing-address "LAN-Subnet"
next
endSSL-VPN 基本設定(インターフェースとポート)
デフォルトの 443 はスキャン対象になりやすいため、10443 など推測されにくいポートへの変更を推奨します。
config vpn ssl settings
set source-interface "port1"
set source-address "all"
set port 10443
set servercert "Fortinet_Factory"
set tunnel-ip-pools "SSLVPN_TUNNEL_ADDR1"
set default-portal "Tunnel-Portal"
config authentication-rule
edit 1
set groups "G-SSLVPN"
set portal "Tunnel-Portal"
next
end
end参考: FortiOS 7.6 – Configuring the SSL VPN tunnel(FortiGate 7.6.0 Administration Guide)
https://docs.fortinet.com/document/fortigate/7.6.0/administration-guide/192684/configuring-the-ssl-vpn-tunnel
証明書エラーへの対応: 上記設定で使用している Fortinet_Factory は FortiGate が自己発行する証明書のため、接続時に証明書警告が表示されます。本番運用では公的認証局から発行された証明書のインポートを推奨します。
ファイアウォールポリシーの作成
SSL-VPN 接続は仮想インターフェース ssl.root からの通信として扱われます。
config firewall policy
edit 1
set name "SSLVPN-to-LAN"
set srcintf "ssl.root"
set dstintf "port2"
set srcaddr "all"
set dstaddr "LAN-Subnet"
set action accept
set schedule "always"
set service "ALL"
set groups "G-SSLVPN"
set nat enable
next
end動作確認
FortiClient で「VPN タイプ: SSL-VPN/リモート GW: FortiGate のグローバル IP/カスタムポート: 10443」を設定して接続します。接続成功後、FortiGate 側で以下のコマンドにより接続ユーザーを確認できます。
get vpn ssl monitor出力例
SSL-VPN Login Users:
Index User Source IP Duration I/O Bytes Tunnel/Dest IP
0 vpnuser01 203.0.113.5 60 1000/2000 10.212.134.10ユーザー名と割り当てられた IP が表示されていれば、正常に動作しています。
IPsec VPN(TCP/443 ダイアルアップ)への移行手順 CLI【推奨構成】
SSL-VPN からの移行先として最も自然な構成、IPsec VPN over TCP/443 ダイアルアップ の CLI 設定手順を解説します。SSL-VPN と同じ TCP/443 を使うため、エンドユーザー側のネットワーク要件を大きく変えずに移行できる点がメリットです。
構成と設定値
- WAN(port1): インターネット側(グローバル IP を持つ)
- LAN(port2): 社内ネットワーク側(192.168.1.0/24)
- IPsec 受け入れポート: TCP/443
- ダイアルアップユーザーへの割り当て IP プール: 10.212.134.10 – 10.212.134.20
- 認証: ローカルユーザー+ EAP
- IKE バージョン: IKEv2
- 暗号化: AES-256-GCM、SHA-384、DH Group 19/20


GUI 管理ポートとの衝突を回避する
これが最大のハマりポイントです。FortiGate の GUI 管理アクセスはデフォルトで TCP/443 を使用しているため、IPsec で TCP/443 を使うと衝突します。IPsec の設定を投入する前に、GUI 管理ポートを変更しておきます。
config system global
set admin-sport 8443
end設定変更後の GUI アクセス先は https://<FortiGate のグローバル IP>:8443 になります。コンソールや SSH が使える状態で実施することを推奨します。
参考: Dialup IPsec VPN using custom TCP port(FortiOS 8.0 Administration Guide)
“When using TCP port 443 for IKE/IPsec traffic, GUI access can be affected for interfaces that are bound to an IPsec tunnel when the GUI admin port is also using port 443. To ensure continued functionality, change either the IKE/IPsec port or the administrative access port.”
(TCP/443 を IKE/IPsec トラフィックに使用する場合、GUI 管理ポートが同じく 443 を使用していると、IPsec トンネルにバインドされたインターフェースでの GUI アクセスに影響が出ます。継続的に利用できるようにするため、IKE/IPsec ポートまたは管理アクセスポートのいずれかを変更します。)
https://docs.fortinet.com/document/fortigate/8.0.0/administration-guide/567401/dialup-ipsec-vpn-using-custom-tcp-port
認証用ユーザーとグループの作成
config user local
edit "vpnuser01"
set type password
set passwd "Password123!"
next
end
config user group
edit "G-IPSEC"
set member "vpnuser01"
next
endシステム全体での IPsec over TCP 機能の有効化
TCP トランスポートを使う前提として、システム全体で IKE の TCP 受け入れを有効化します。
config system settings
set ike-tcp-service enable
set ike-tcp-port 443
endPhase 1(IKEv2 + EAP + TCP トランスポート)の設定
config vpn ipsec phase1-interface
edit "DIALUP-TCP443"
set type dynamic
set interface "port1"
set ike-version 2
set peertype any
set net-device disable
set mode-cfg enable
set proposal aes256gcm-prfsha384 aes256-sha384
set dhgrp 20 19
set eap enable
set eap-identity send-request
set authusrgrp "G-IPSEC"
set transport tcp
set ipv4-start-ip 10.212.134.10
set ipv4-end-ip 10.212.134.20
set ipv4-netmask 255.255.255.0
set ipv4-dns-server1 8.8.8.8
set save-password enable
set client-auto-negotiate enable
set client-keep-alive enable
set psksecret <16文字以上のランダム文字列>
next
end各設定値の意味:
| パラメーター | 値 | 意味 |
|---|---|---|
type | dynamic | クライアント側の IP が動的なため、待ち受け型として設定 |
ike-version | 2 | IKEv2 を明示指定(FortiOS のデフォルトは IKEv1) |
mode-cfg | enable | FortiClient へ IP・DNS を払い出す Mode Config 機能 |
eap | enable | ユーザー認証に EAP を使用 |
transport | tcp | TCP トランスポートを有効化(FortiOS 7.4.2 以降で対応) |
proposal | aes256gcm-prfsha384 | Phase 1 暗号化提案(AES-GCM-256 は AEAD で性能・安全性ともに優位) |
dhgrp | 20 19 | DH グループ(ECP 384/256、強度の高い順) |
参考: Dialup IPsec VPN using custom TCP port(FortiOS 7.6.6 Administration Guide)
https://docs.fortinet.com/document/fortigate/7.6.6/administration-guide/567401/dialup-ipsec-vpn-using-custom-tcp-port
Phase 2 の設定
config vpn ipsec phase2-interface
edit "DIALUP-TCP443"
set phase1name "DIALUP-TCP443"
set proposal aes256gcm aes256-sha384
set src-subnet 192.168.1.0 255.255.255.0
set dst-subnet 0.0.0.0 0.0.0.0
next
endファイアウォールポリシーの作成と MSS clamping
IPsec ダイアルアップトンネルから社内 LAN への通信を許可します。IPsec over TCP では TCP-in-TCP のカプセル化が発生するため、MSS clamping の設定もあわせて投入します。
config firewall policy
edit 10
set name "IPSEC-DIALUP-to-LAN"
set srcintf "DIALUP-TCP443"
set dstintf "port2"
set srcaddr "all"
set dstaddr "LAN-Subnet"
set action accept
set schedule "always"
set service "ALL"
set groups "G-IPSEC"
set tcp-mss-sender 1360
set tcp-mss-receiver 1360
next
end参考: Technical Tip: Dial-up VPN IPsec over TCP best practices(Fortinet Community)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Dial-up-VPN-IPsec-over-TCP-best-practices/ta-p/398245
FortiClient 側の設定
FortiClient(バージョン 7.4.1 以降が必要)でダイアルアップ接続を作成します。
- VPN タイプ: IPsec VPN
- リモートゲートウェイ: FortiGate のグローバル IP
- 認証方式: Pre-shared Key + EAP(XAUTH)
- カスタムポート: TCP/443 を指定
- IKE バージョン: v2
動作確認
接続成功後、FortiGate 側で以下のコマンドにより接続状態を確認します。
diagnose vpn ike gateway list出力の中で transport: TCP と status: established が表示されていれば、TCP トランスポートで Phase 1 が確立しています。
トラブルシューティングコマンド集
SSL-VPN/IPsec VPN いずれの構成においても、接続トラブル時に活用できる診断コマンドをまとめます。
SSL-VPN 用コマンド
# 接続中のユーザー一覧
get vpn ssl monitor
# SSL-VPN 関連の詳細状態
diagnose vpn ssl list
# SSL-VPN デーモンのデバッグ(接続失敗時に有効)
diagnose debug application sslvpn -1
diagnose debug console timestamp enable
diagnose debug enable
# デバッグ停止
diagnose debug disable
diagnose debug resetIPsec VPN 用コマンド
# IKE Gateway(Phase 1)の状態確認
diagnose vpn ike gateway list
# IPsec SA(Phase 2)の状態確認
diagnose vpn tunnel list
# IKE デバッグログの取得
diagnose vpn ike log filter name <tunnel-name>
diagnose debug app ike -1
diagnose debug console timestamp enable
diagnose debug enable
# デバッグ停止
diagnose debug disable
diagnose vpn ike log filter clear
# トンネルの再ネゴシエーション
diagnose vpn ike gateway clear name <tunnel-name>ログ出力で no proposal chosen が表示される場合は Phase 1 の暗号化アルゴリズムが両端で一致していません。peer SA proposal not match local policy の場合は暗号化方式や DH グループの差異を確認します。IPsec のネゴシエーション失敗パターンの詳しい読み解き方については、関連記事『FortiGate IPsec VPN の構築手順|IKEv2 と NAT 越えの設定例』を参照してください。
パケットキャプチャ(TCP/443 通信の確認)
IPsec over TCP が正しく動作しているかをパケットレベルで確認したい場合は、以下のスニファコマンドが有効です。
diagnose sniffer packet port1 "tcp port 443" 4 0 lHA 構成での注意点
HA(FGCP)構成で IPsec VPN を運用している場合、IPsec の SA は HA 間で同期されるため、フェイルオーバー後も再ネゴシエーションなしで通信を継続できます。ただし、対向機器の DPD 設定が短すぎると、フェイルオーバー直後に DPD タイムアウトと判定されトンネルが切断されることがあります。HA 環境の詳しい構築手順や注意点は、関連記事『FortiGate HA(FGCP)構成の構築手順』を参照してください。
まとめ
本記事では、FortiGate の SSL-VPN が廃止フェーズに入った背景と、移行先となる IPsec VPN over TCP/443 ダイアルアップの構築手順を解説しました。
- FortiOS 7.6.3 以降、SSL-VPN トンネルモードは全機種で完全に削除された
- 2GB RAM 以下の機種や G シリーズエントリー機では、それ以前のバージョンから段階的に削除されている
- SSL-VPN を運用したまま 7.6.3 へアップグレードされると、リモートアクセスが完全に停止する
- 移行先としては、ネットワーク要件を変えずに済む IPsec VPN over TCP/443 ダイアルアップが現実的な選択肢
- 設定前に GUI 管理ポート(
admin-sport)を 443 以外へ変更しておくことが重要 - 接続トラブル時は
diagnose vpn ike gateway listとdiagnose vpn tunnel listで Phase 1/Phase 2 の状態を切り分ける
以上、最後までお読みいただきありがとうございました。

