コンテンツにスキップ

リモートアクセスVPN-2要素認証(パスワード認証+クライアント証明書認証)(IKEv2自動トランスポートモード)

文書更新日:2026-04-14

Info

  • 本設定ガイドは、FortiGate v7.6.6およびFortiClient 7.4.3.4726(ライセンス版)を用いて動作確認した内容に基づいて作成しています。
  • IKEv2の自動トランスポートモードでTCPへのフォールバックを利用するには、FortiClient 7.4.1以降が必要です。
  • Fortinet公式ドキュメントの「FortiClient standalone and licensed version feature comparison」によると、FortiClient 7.4系の無償Standalone版はIPsec over TCPをサポートしていません。UDPが利用できない環境でTCP接続まで確認する場合は、ライセンス版のFortiClientを使用してください。

目的

  • PIO-IDのユーザで、FortiGateへVPNを使ってリモートアクセスします。
  • 接続する際の認証方式は、2要素認証(パスワード認証+クライアント証明書認証)です。
  • VPNトンネルは、IKEv2の自動トランスポートモードを利用します。
  • PIO-IDの拡張RADIUSサーバを利用します。
  • ユーザ/グループによるアクセス制限をします。

設定方法

PIO-IDのグループの作成

  1. PIO-ID 管理者ポータル>グループ画面へ移動します。
  2. グループ追加をクリックします。グループ追加画面がポップアップします。
  3. グループ名を入力し、登録ボタンをクリックします。

PIO-IDのユーザの作成

  1. PIO-ID 管理者ポータル>ユーザ画面へ移動します。
  2. 登録ボタンをクリックします。ユーザ登録画面がポップアップします。
  3. ユーザ登録画面の基本情報を入力します。グループタブをクリックします。
  4. メンバーとなるグループを選択し、登録ボタンをクリックします。

PIO-IDのクライアント証明書の発行

  1. PIO-ID 管理者ポータル>ユーザ画面へ移動します。
  2. クライアント証明書を発行したいユーザの行にあるチェックボックスを選択します。
  3. 選択実行ボタンの▼をクリックし、プルダウンメニューの証明書の発行を選択します。
  4. 証明書発行画面がポップアップします。
  5. プロファイル(例:デフォルト)および配布形式(例:一般)を選択します。
  6. 発行ボタンをクリックして、クライアント証明書を発行します。ユーザのメールアドレス宛に発行されたクライアント証明書のダウンロードリンクが送信されます。

PIO-IDのサーバ証明書の発行とダウンロード

  1. PIO-ID 管理者ポータル>認証>証明書>証明書タブへ移動します。
  2. 発行ボタンの▼をクリックし、プルダウンメニューのサーバ証明書を選択します。
  3. サーバ証明書の発行画面がポップアップします。
  4. 以下を設定します。

    設定項目 設定内容
    サーバ名 VPNクライアントが接続するIPアドレスまたはホスト名(FQDN)です。
    サブジェクトの代替名 サーバ名にIPアドレスを設定した場合には、IPを選択します。サーバ名にホスト名を設定した場合には、DNSを選択します。
    有効期間 1年、5年、10年から選択します。(例:10年)
  5. 発行ボタンをクリックして、サーバ証明書を発行します。

  6. 発行されたサーバ証明書の行にあるチェックボックスを選択します。
  7. 選択実行ボタンの▼をクリックし、プルダウンメニューの証明書のダウンロードを選択します。
  8. ZIP圧縮されたP12形式のサーバ証明書がダウンロードされます。

    Info

    発行された証明書をデバイスへインストールする場合には、パスワードの入力が要求されます。パスワードは、サーバ名と同一です。(例:サーバ名が10.10.10.10の場合、サーバ証明書のパスワードは、10.10.10.10です。)

PIO-IDの中間CA証明書のダウンロード

  1. PIO-ID 管理者ポータル>認証>証明書>基本情報タブへ移動します。
  2. 中間CAブロックの中間CAのタイトル文字の隣のをクリックします。ダウンロード画面がポップアップします。
  3. ダウンロードボタンをクリックして、PIO-IDの中間CA証明書をダウンロードします。

Warning

誤って、ルートCA証明書をダウンロードしないようにご注意ください。ルートCA証明書のダウンロードは必要ありません。

PIO-IDの拡張RADIUSサーバの登録

  1. PIO-ID 管理者ポータル>認証>RADIUS>基本設定タブへ移動します。
  2. 拡張RADIUSサーバ>RADIUSポート番号登録ボタンをクリックします。拡張RADIUSサーバの登録画面がポップアップします。

    設定項目 設定内容
    使用するプロトコル UDPを選択します。
    シークレット 任意の文字列を設定します。英大文字、英小文字、数字、記号を組み合わせて、最低でも14文字以上の複雑な文字列を設定することをお勧めします。
  3. 登録ボタンをクリックします。専用のRADIUSポート番号が割り当てれます。

PIO-IDのRADIUSサイトの登録

  1. PIO-ID 管理者ポータル>認証>RADIUS>簡易設定タブへ移動します。
  2. カタログ表示ボタンをクリックします。
  3. カタログからFortiGate NGFW(IPsec IKEv2対応)登録ボタンをクリックします。FortiGate NGFW(IPsec IKEv2対応)画面がポップアップします。
  4. 基本情報タブに、以下を設定します。

    設定項目 設定内容
    有効/無効 有効を選択します。
    サーバ 拡張を選択します。
    サーバ番号 PIO-IDの拡張RADIUSサーバの登録で登録したサーバ番号を選択します。
    サイト識別する属性 NAS-Identifierを選択します。
    属性値 任意の文字列を設定します。(例:fortigate)
  5. VPNアクセスの認証タブへ移動します。

  6. 許可したいユーザおよび許可したいグループをダブルクリックし、許可へ移動させます。
  7. 登録ボタンをクリックします。

    Info

    設定がシステムに反映されるまで最大で15分かかります。

FortiGateへ中間CA証明書を追加

  1. FortiGate 管理GUI>システム>証明書画面へ移動します。

    Info

    メニューに証明書がない場合には、FortiGate 管理GUI>システム>表示機能設定画面で、証明書の表示を有効にします。

  2. 作成/インポート>CA証明書ボタンをクリックします。CA証明書をインポート画面が表示されます。

  3. 以下を設定し、OKボタンをクリックします。

    設定項目 設定内容
    タイプ ファイルを選択します。
    アップロード PIO-IDの中間CA証明書のダウンロードの手順でダウンロードしたファイルを選択します。

    Danger

    PIO-IDのルートCA証明書をFortiGateへインポートしないようにしてください。意図しないVPN接続の認証が成功してしまいます。

    リモートアクセスクライアントからFortiGateへのVPN接続時、PIO-IDのルートCA証明書がFortiGateにインポートされていると、PIO-IDのルートCAを発行元とするどんな中間CAが発行したクライアント証明書であっても、証明書のパスの検証に成功してしまいます。

    Screenshot

FortiGateへ証明書失効リスト(CRL)の設定

  1. FortiGate 管理GUI>システム>証明書画面へ移動します。
  2. 作成/インポート>CRLボタンをクリックします。CRLをインポート画面が表示されます。
  3. 以下を設定し、OKボタンをクリックします。

    設定項目 設定内容
    インポート方式 オンライン更新を選択します。
    HTTPサーバのURL PIO-ID 管理者ポータル>認証>証明書>基本情報タブの中間CAの失効リストの配布ポイントです。

    Screenshot

  4. 定期的(1時間ごと)に証明書失効リスト(CRL)を更新するために、FortiGate CLIからset update-interval 3600を以下のように設定します。

    FortiGate CLI
    config vpn certificate crl
        edit "CRL_1"
            set update-interval 3600
        next
    end
    

FortiGateへサーバ証明書を追加

  1. FortiGate 管理GUI>システム>証明書画面へ移動します。
  2. 作成/インポート>証明書ボタンをクリックします。証明書の作成画面が表示されます。
  3. 証明書をインポートボタンをクリックします。
  4. 以下を設定し、作成ボタンをクリックします。

    設定項目 設定内容
    タイプ PKCS12証明書を選択します。
    キーファイルのある証明書 PIO-IDのサーバ証明書の発行とダウンロードの手順でダウンロードしたZIPファイルを解凍します。そして、拡張子がP12のファイルを選択します。
    パスワード 証明書ファイルの拡張子を除いた部分がパスワードです。(例:10.10.10.10.p12というファイルの場合には、パスワードは、10.10.10.10です。)
    証明書名 証明書ファイルを選択しアップロードすると自動で入力されます。

    Screenshot

  5. OKボタンをクリックします。

FortiGateのRADIUSサーバの設定

  1. FortiGate 管理GUI>ユーザ&認証>RADIUSサーバ画面へ移動します。
  2. 新規作成ボタンをクリックします。新規RADIUSサーバ設定画面が表示されます。
  3. 以下を設定します。

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:PIO-ID_RADIUS)
    プライマリサーバ
    IP/名前 PIO-ID 管理者ポータル>認証>RADIUS>基本情報タブの拡張RADIUSサーバ>IPアドレスプライマリです。
    シークレット PIO-IDの拡張RADIUSサーバの登録の手順のシークレットに設定した文字列です。
    セカンダリサーバ
    IP/名前 PIO-ID 管理者ポータル>認証>RADIUS>基本情報タブの拡張RADIUSサーバ>IPアドレスセカンダリです。
    シークレット PIO-IDの拡張RADIUSサーバの登録の手順のシークレットに設定した文字列です。

    Screenshot

  4. OKボタンをクリックします。

  5. FortiGateのRADIUSのNAS-Identifierの属性値を変更するために、FortiGate 管理GUI>システム>設定画面へ移動します。以下のように設定します。

    設定項目 設定内容
    ホスト名 PIO-IDのRADIUSサイトの登録の手順の属性値に設定した文字列です。(例:fortigate)

    Info

    FortiGateは、ホスト名をRADIUSのNAS-Identifier属性の属性値として、RADIUSリクエストを送信します。

  6. FortiGateのRADIUSの認証通信ポートを変更するために、FortiGate CLIから以下のように設定します。

    設定項目 設定内容
    RADIUSサーバの名前 手順3で設定した名前です。(例:PIO-ID_RADIUS)
    RADIUS認証の通信ポート番号 PIO-IDの拡張RADIUSサーバの登録の手順で割り当てられたポート番号です。PIO-ID 管理者ポータル>認証>RADIUS>基本情報タブの拡張RADIUSサーバ>RADIUSポート番号です。
    FortiGate CLI
    config user radius
        edit "<RADIUSサーバの名前>"
            set radius-port <RADIUS認証の通信ポート番号>
        next
    end
    

    Info

    RADIUS認証の通信ポート番号を設定した後に、FortiGateのRADIUSサーバ設定画面で接続をテストボタンをクリックします。接続が成功しない場合には、以下をご確認ください。

    • 設定内容が間違いないこと
    • FortiGateからPIO-IDのRADIUSサーバのIPアドレスおよびRADIUS認証の通信ポート番号へ接続可能であること

    Warning

    PIO-IDのRADIUSサーバでは、FortiGateのVPNアクセスや管理アクセスのみ認証可能となるように制限をかけているため、ユーザクレデンシャルをテストボタンをクリックし、正しいユーザ情報を入力しても成功となりませんが、問題ではありません。

FortiGateのユーザグループの設定

  1. FortiGate 管理GUI>ユーザ&認証>ユーザグループ画面へ移動します。
  2. 新規作成ボタンをクリックします。新規ユーザグループ画面が表示されます。
  3. 以下を設定します。

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:PIO-ID)
    タイプ ファイアウォールを選択します。
    リモートグループ リモートサーバFortiGateのRADIUSサーバの設定の手順で設定したサーバの名前です。(例:PIO-ID_RADIUS) グループいずれかを追加します。

    Screenshot

  4. OKボタンをクリックします。

FortiGateのVPNの設定

Info

IKEv2の自動トランスポートモードの設定は、Fortinet公式ドキュメントの「LDAP authentication with IKEv2 using UDP or TCP as transport」、「Dialup IPsec VPN using custom TCP port」、および「IPsec IKEv2 VPN 2FA with EAP and certificate authentication」を参考にしています。

  1. FortiGate 管理GUI>VPN>VPNウィザード画面へ移動します。
  2. 以下の項目を設定し、開始ボタンをクリックします。

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:IPsecVPN)
    テンプレートを選択 リモートアクセスを選択します。
  3. 以下の項目を設定し、ボタンをクリックします。

    設定項目 設定内容
    VPN クライアントの種類 FortiClientを選択します。
    認証方式 シグネチャを選択します。
    証明書名 FortiGateへサーバ証明書を追加で追加したサーバ証明書を選択します。
    Peer certificate CA FortiGateへ中間CA証明書を追加の手順で追加した中間CAの証明書を選択します。
    IKE バージョン2を選択します。
    トランスポート 自動を選択します。
    Fortinet カプセル化を使用する 無効を選択します。
    NAT トラバーサル 有効を選択します。
    EAP ピアの識別 EAP ID要求を選択します。
    ユーザー認証方法 フェーズ1インターフェースを選択します。FortiGateのユーザグループの設定の手順で設定したユーザグループの名前を選択します。(例:PIO-ID)

    Screenshot

  4. 以下の項目を設定し、ボタンをクリックします。

    設定項目 設定内容
    接続されたエンドポイントに割り当てるアドレス VPNクライアントに割り当てるIPアドレスの範囲です。環境により異なります。(例:192.168.100.200-192.168.100.210)
    接続されたエンドポイントのサブネット 255.255.255.255を設定します。

    Screenshot

  5. 以下の項目を設定し、ボタンをクリックします。

    設定項目 設定内容
    トンネルにバインドする着信インターフェイス FortiGateのWAN側のインターフェースです。環境により異なります。(例:wan1)
    ローカルインターフェース FortiGateのLAN側のインターフェースです。環境により異なります。(例:internal)
    ローカルアドレス LAN側ネットワークを指定します。(例:all)

    Screenshot

  6. 設定を確認し、サブミットボタンをクリックします。

    Info

    FortiGate v7.6.6のVPNウィザードで作成した設定例は、以下を参照してください。
    ウィザード作成後のphase1-interface設定サンプル
    ウィザード作成後のphase2-interface設定サンプル

  7. IKEv2でクライアント証明書認証とEAP認証を併用するために、VPNウィザードで作成したフェーズ1インターフェースに対して、eap-cert-auth をFortiGate CLIから有効にします。

    設定項目 設定内容
    VPNトンネル名 手順1で設定した名前です。(例:IPsecVPN)
    FortiGate CLI
    config vpn ipsec phase1-interface
        edit "<VPNトンネル名>"
            set eap-cert-auth enable
        next
    end
    

    Info

    FortiGate v7.6.6のVPNウィザードで作成した設定では、set peer "<VPNトンネル名>_peer" は自動設定されますが、set eap-cert-auth disable のため、set eap-cert-auth enable への変更が必要です。

  8. 自動モードでは、通常はUDPを使用し、UDPが利用できない場合にTCPへフォールバックします。デフォルト設定のまま利用する場合は、UDP側が500、TCP側が443であることを確認します。

    FortiGate CLI
    show full-configuration system settings | grep ike-
        set ike-port 500
        set ike-tcp-port 443
    
  9. 自動モードではFortiGateがIKE用にTCPポート443を待ち受けるため、GUI管理ポートもポート443を使用していると、IPsecトンネルにバインドされているインターフェースのGUIアクセスに影響が出る可能性があります。必要に応じて管理アクセスポートを変更します。(例:10443)

    FortiGate CLI
    config system global
        set admin-sport 10443
    end
    

    Warning

    管理GUIへのアクセスが拒否されるため、管理GUIにアクセスするには、https://<FortiGateの管理IPアドレス>:10443/ でログインしなおします。

    Info

    TCPポート443は、GUI管理アクセスのほか、ZTNAやAgentless VPNなど他の機能と競合する場合があります。FortiGateで利用している受信ポートとの競合がないか事前に確認してください。

動作確認方法

Windows端末から2要素認証(クライアント証明書+パスワード)によるリモートアクセスVPNの認証が可能なことを確認します。

クライアント証明書のダウンロード

  1. PIO-IDシステム管理から届いたメールを開きます。
  2. ダウンロードリンクをクリックします。P12形式のクライアント証明書がダウンロードされます。

    Screenshot

Info

もし、PCでメールを受信し、スマートフォンやタブレットにクライアント証明書をインストールしたい場合には、メールに添付されているQRコードをスマートフォンやタブレットで読み取ります。クライアント証明書のダウンロードURLを認識しますので、そのURLへアクセスすることで、スマートフォンやタブレットにもクライアント証明書をダウンロードできます。

クライアント証明書のインストール

  1. ダウンロードしたP12形式のクライアント証明書ファイルをダブルクリックします。
  2. 保存場所として現在のユーザーを選択し、次へボタンをクリックします。

    Screenshot

  3. ダウンロードしたP12形式のファイル名とパスが正しく入力されていることを確認し、次へボタンをクリックします。

    Screenshot

  4. パスワードに、クライアント証明書のパスワードを入力します。クライアント証明書のパスワードは、ユーザ名と同一です。(例:ユーザ名が、user1の場合、クライアント証明書のパスワードは、user1です。)次へボタンをクリックします。

    Screenshot

  5. 証明書の種類に基づいて、自動に証明書ストアを選択するが選択されていることを確認し、次へボタンをクリックします。

    Screenshot

  6. 完了ボタンをクリックし、証明書をインストールします。

    Screenshot

  7. クライアント証明書のインストールが成功しました。

    Screenshot

リモートアクセスクライアントのインストール

FortiGateのリモートアクセスクライアントである、FortiClientをインストールしていない場合には、以下よりダウンロードしてインストールします。

ダウンロード

接続先の設定

  1. FortiClientを起動して、新規VPN接続を作成します。以下を設定します。

    設定項目 設定内容
    VPN IPsecVPNを選択します。
    接続名 任意の文字列を設定します。(例:PIO-ID_Cert)
    リモートGW VPNクライアントが接続するIPアドレスです。
    認証方法 X.509証明書を選択します。
    クライアント証明書 クライアント証明書のインストールの手順でインストールしたクライアント証明書を選択します。
    認証(EAP) ユーザ名入力を選択します。

    Screenshot

    設定項目 設定内容
    IKE バージョン2を選択します。
    Address Assignment モードコンフィグを選択します。
    Encapsulation Autoを選択します。
    IKE UDP Port 500を設定します。
    IKE TCP Port 443を設定します。

    Screenshot

    フェーズ1およびフェーズ2の設定値は、FortiGate側のVPN設定に合わせてください。

    Screenshot Screenshot

  2. 保存ボタンをクリックします。

VPN接続

  1. 以下を設定し、接続ボタンをクリックします。

    設定項目 設定内容
    VPN名称 接続先の設定の手順で作成した接続先を選択します。(例:PIO-ID_Cert)
    ユーザ名 PIO-IDのRADIUSサイトの登録の手順で許可したユーザです。
    パスワード ユーザのパスワードです。
    クライアント証明書 クライアント証明書のインストールの手順でインストールしたクライアント証明書を選択します。

    Screenshot

  2. ログインが成功することを確認します。

    Screenshot

  3. FortiGate CLIで以下のコマンドを実行し、接続中のセッションがUDPTCPかを確認します。

    FortiGate CLI
    diagnose vpn ike gateway list
    

    Info

    通常はtransport: UDPとなり、UDPが利用できないネットワーク環境ではtransport: TCPへ自動で切り替わります。 サンプル出力は、UDP接続時の出力例 および TCP接続時の出力例 を参照してください。