コンテンツにスキップ

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

文書更新日:2025-03-09

目的

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

設定方法

SingleIDのグループの作成

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

SingleIDのユーザの作成

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

SingleIDのクライアント証明書の発行

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

SingleIDのサーバ証明書の発行とダウンロード

  1. SingleID 管理者ポータル>認証>証明書>証明書タブへ移動します。
  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です。)

SingleIDの中間CA証明書のダウンロード

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

Warning

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

SingleIDの拡張RADIUSサーバの登録

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

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

SingleIDのRADIUSサイトの登録

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

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

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

FortiGateへ中間CA証明書を追加

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

    Info

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

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

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

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

    Danger

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

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

    Screenshot

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

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

    設定項目 設定内容
    インポート方式 オンライン更新を選択します。
    HTTPサーバのURL SingleID 管理者ポータル>認証>証明書>基本情報タブの中間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証明書を選択します。
    キーファイルのある証明書 SingleIDのサーバ証明書の発行とダウンロードの手順でダウンロードしたZIPファイルを解凍します。そして、拡張子がP12のファイルを選択します。
    パスワード 証明書ファイルの拡張子を除いた部分がパスワードです。(例:10.10.10.10.p12というファイルの場合には、パスワードは、10.10.10.10です。)
    証明書名 証明書ファイルを選択しアップロードすると自動で入力されます。

    Screenshot

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

FortiGateのRADIUSサーバの設定

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

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

    Info

    接続をテストボタンをクリックし、接続が成功しない場合には、以下をご確認ください。

    • 設定内容が間違いないこと
    • FortiGateからSingleIDのRADIUSサーバのIPアドレスへ接続可能であること

    Warning

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

    Screenshot

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

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

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

    Info

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

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

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

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

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

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

    Screenshot

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

FortiGateのVPNの設定

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

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:IPsecVPN)
    テンプレートタイプ リモートアクセスを選択します。
    リモートデバイスタイプ クライアントベース FortiClientを選択します。

    Screenshot

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

    設定項目 設定内容
    着信インターフェース FortiGateのWAN側のインターフェースです。環境により異なります。
    認証方式 シグネチャを選択します。
    証明書名 FortiGateへサーバ証明書を追加で追加したサーバ証明書を選択します。
    ユーザグループ FortiGateのユーザグループの設定の手順で設定したユーザグループの名前を選択します。(例:SingleID)
    ピア証明書CA FortiGateへ中間CA証明書を追加の手順で追加した中間CAの証明書を選択します。

    Screenshot

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

    設定項目 設定内容
    ローカルインターフェース FortiGateのLAN側のインターフェースです。環境により異なります。
    ローカルアドレス LAN側ネットワークを指定します。(例:internal)
    クライアントアドレス範囲 VPNクライアントに割り当てるIPアドレスの範囲です。環境により異なります。
    サブネットマスク 255.255.255.255を設定します。

    Screenshot

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

    Screenshot

  6. 設定を確認し、作成ボタンをクリックします。

動作確認方法

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

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

  1. SingleIDシステム管理から届いたメールを開きます。
  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を選択します。
    接続名 任意の文字列を設定します。(例:SingleID_Cert)
    リモートGW VPNクライアントが接続するIPアドレスです。
    認証方法 X.509証明書を選択します。
    クライアント証明書 クライアント証明書のインストールの手順でインストールしたクライアント証明書を選択します。
    認証(XAuth) ユーザ名入力を選択します。

    Screenshot

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

VPN接続

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

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

    Screenshot

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

    Screenshot