FortiGateの評価ガイド⑨ SSLVPNの認証/RADIUS連携したパスワード+クライアント証明書認証

目的

FortiGateのリモートアクセスVPN(SSLVPN)について、以下の要件を満たすために、SingleIDを利用します。

  • RADIUSサーバに登録されたユーザでログインする。
  • 特定グループに属するユーザのみアクセスを許可する。
  • 組織ごとのプライベートCAで発行したクライアント証明書のみ許可する。
  • ログインの認証方式は、パスワード+クライアント証明書認証とする。

環境

グループの情報

グループ名グループの説明メンバー
リモートアクセスユーザ(ビルトイングループ)FortiGateのリモートアクセスVPNへログインできるユーザのグループuser1

CAの情報

設定に必要な情報 説明および情報取得の方法など
中間CAの発行者 SingleID 管理者ポータル>認証>証明書画面の基本情報タブの中間CAの「 発行者 」です。
中間CAのサブジェクト SingleID 管理者ポータル>認証>証明書画面の基本情報タブの中間CAの「 サブジェクト 」です。
中間CAの失効リスト配布ポイント SingleID 管理者ポータル>認証>証明書画面の基本情報タブの中間CAの「 失効リストの配布ポイント 」です。

RADIUSの情報

設定に必要な情報説明および情報取得の方法など
RADIUSサーバのホスト名SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「ホスト名」です。
RADIUSサーバのIPアドレスSingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「IPアドレス」です。
RADIUSサーバのポート番号SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「RADIUSポート番号」です。デフォルトUDP1812です。
RADIUSクライアントのIPアドレスFortiGate側のグローバルIPアドレスです。インターネットに出ていくときの送信元のIPアドレスです。
RADIUSクライアントのシークレット任意の文字列を設定します。ここでは、「fortigate」とします。

VPN設定の情報

設定に必要な情報説明および情報取得の方法など
リッスンするインターフェースFortiGateのWAN側のインターフェースです。環境により異なります。
リッスンするポート VPNクライアントが接続するポート番号です。ここでは、「10443」とします。
サーバ証明書VPNのサーバ認証のためのサーバ証明書を指定します。ここでは、「Fortinet_Factory」とします。
ファイアウォールポリシーの宛先VPNでアクセスした通信に対して、許可したい宛先です。環境により異なります。
VPNゲートウェイIPアドレス VPNクライアントが接続するIPアドレスです。環境により異なります。
発信インターフェース VPN接続が完了し、内部通信が行われるときに、発信元のインターフェースです。 環境により異なります。

設定方法

SingleIDの設定

SingleIDの管理者ポータルへログインします。

製品ログイン一覧

ユーザポータルは、組織の一般ユーザが使用するポータルです。ユーザの登録情報、パスワード変更、ワンタイムパスワード設定を行うことができます 管理者ポータルは、組織…

ユーザの作成

SingleID 管理者ポータル>ユーザ一覧画面へ移動します。

「登録」をクリックします。

画像に alt 属性が指定されていません。ファイル名: image-7.png

ユーザ登録画面の「基本情報」を入力します。 作成するユーザは、環境/グループの情報を参照します。

「グループ」タブをクリックします。

画像に alt 属性が指定されていません。ファイル名: image-1024x476.png

参加するグループを選択し、「登録」をクリックします。参加するグループについては、環境/グループの情報を参照します。

画像に alt 属性が指定されていません。ファイル名: image-18-1024x311.png

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

SingleID 管理者ポータル>ユーザ一覧画面へ移動します。

証明書を発行したいユーザ(user1)の行の左端のチェックボックスにチェックし、「選択実行」をクリックします。プルダウンメニューが表示されますので、「証明書の発行」を選択します。

証明書のプロファイルを選択します。ここでは、デフォルトのプロファイルを選択し、「発行」をクリックします。クライアント証明書は、ユーザに設定されているメールアドレス宛に送信されます。

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

クライアント証明書を発行したSingleIDの中間CA証明書をダウンロードします。

SingleID 管理者ポータル >認証>証明書画面へ移動します。「基本情報」タブへ移動します。

中間CAの横の雲のアイコンをクリックします。

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

「ダウンロード」をクリックし、SingleIDの中間CA証明書をダウンロードします。

SingleIDの中間CAの証明書失効リスト(CRL)のダウンロード

クライアント証明書を発行したSingleIDの中間CAの証明書失効リスト(CRL)をダウンロードします。

SingleID 管理者ポータル >認証>証明書画面へ移動します。「基本情報」タブへ移動します。

中間CAの失効リスト配布ポイントの横の雲のアイコンをクリックします。

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

「ダウンロード」をクリックし、SingleIDの中間CAの証明書失効リストをダウンロードします。

RADIUSの設定

SingleID 管理者ポータル>認証>RADIUS画面へ移動します。「FortiGate」タブへ移動します。

「登録」をクリックします。

画像に alt 属性が指定されていません。ファイル名: image-2-1024x228.png

RADIUSクライアントに関する以下の項目を入力します。

「VPNアクセスの認証」タブへ移動します。

項目
IPアドレス環境/RADIUSの情報 の「RADIUSクライアントのIPアドレス」です。
シークレット環境/RADIUSの情報 の「RADIUSクライアントのシークレット」です。

選択するサーバの番号により、RADIUSサーバのポート番号が異なります。
サーバが1の場合には、UDP1812です。
SingleID 管理者ポータル>認証>RADIUS>基本情報タブ画面の「RADIUSポート番号」にサーバの番号と通信ポート番号の対応が記載されています。

画像に alt 属性が指定されていません。ファイル名: image-3-1024x452.png

許可グループの設定で「リモートアクセスユーザ」グループをダブルクリックし、許可へ移動させます。

「登録」をクリックします。

画像に alt 属性が指定されていません。ファイル名: image-19-1024x636.png

FortiGateの設定

FortiGateの管理GUIへログインします。

https://<FortiGateの管理IPアドレス>

画像に alt 属性が指定されていません。ファイル名: image-5.png

中間CAの証明書のインポート

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

「Create/Import」>CA証明書をクリックします。

以下の項目を設定し、「OK」を クリックします

項目設定値
タイプファイル
アップロード SingleID管理者ポータルからダウンロードした中間CAの証明書

中間CA の証明書失効リスト(CRL)のインポート

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

「Create/Import」>CRLをクリックします。

以下の項目を設定し、「OK」を クリックします。

項目設定値
インポート方式オンライン更新
HTTPサーバのURL 環境/CAの情報 の「中間CAの失効リスト配布ポイント」です。

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

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

RADIUSサーバの設定

FortiGate管理GUI> ユーザ&認証>RADIUSサーバへ移動します。「新規作成」ボタンをクリックします。

以下の項目を設定し、「OK」をクリックします。

項目設定値
名前SingleID_RADIUS
IP/名前環境/RADIUSの情報 の「RADIUSサーバのIPアドレス」です。
シークレット環境/RADIUSの情報 の「RADIUSクライアントのシークレット」です。
画像に alt 属性が指定されていません。ファイル名: image-7.png

「接続をテスト」をクリックし、接続が成功しない場合には、以下をご確認ください。
・設定内容が間違いないこと
・FortiGateからSingleIDのRADIUSサーバのIPアドレスへ接続可能であること

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

PKIユーザの登録

以下のようにCLIからPKIユーザを登録します。これにより、VPNクライアントから提供されたクライアント証明書が、登録した中間CAで発行されたクライアント証明書であるかどうかを確認します。

config user peer
    edit "SingleID_Cert_Check"
        set ca "CA_Cert_1"
    next
end

ユーザグループの設定

FortiGate管理GUI>ユーザ&認証>ユーザグループへ移動します。「新規作成」ボタンをクリックします。

以下の項目を設定し、「OK」を クリックします。

項目設定値
名前SingleID_Cert
タイプファイアウォール
リモートグループリモートサーバ:SingleID_RADIUS グループ:すべて
画像に alt 属性が指定されていません。ファイル名: image-9.png

SSLVPNの設定

FortiGate管理GUI>VPN>SSL-VPN設定へ移動します。

以下の項目を設定し、「適用」を クリックします。

項目設定値
リッスンするインターフェース 環境/VPN設定の情報 の「リッスンするインターフェース 」です。
リッスンするポート 環境/VPN設定の情報 の「リッスンするポート 」です。
サーバ証明書 環境/VPN設定の情報 の「サーバ証明書 」です。
クライアント証明書を要求有効
認証ポータルマッピンググループ:SingleID_Cert ポータル:full-access
すべてのその他のユーザ/グループ ポータル:web-access

CLIから以下を設定します。

config vpn ssl settings
    config authentication-rule
        edit 1
            set client-cert enable
            set user-peer "SingleID_Cert_Check"
        next
    end
end

ポリシーの設定

SSLVPNの設定を適用すると、上部に以下のようなメッセージが表示されます。リンクをクリックし、ファイアウォールポリシーの設定を行います。

表示されない場合には、 FortiGate管理GUI>ポリシー&オブジェクト>ファイアウォールポリシーへ移動します。

以下の項目を設定し、「適用」を クリックします。

項目設定値
名前SSLVPN
着信インターフェースSSL-VPN tunnel Interface (ssl.root)
発信インターフェース環境/VPN設定の情報 の「発信インターフェース」です。
発信元アドレス:SSLVPN_TUNNEL_ADDR1 ユーザグループ:SingleID_Cert
宛先 環境/VPN設定の情報 の「ファイアウォールポリシーの宛先」です。
サービスall
アクション許可

動作確認方法

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

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

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

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

ダウンロードしたSingleIDのユーザ(user1)の P12形式のクライアント証明書ファイルをダブルクリックします。

保存場所として「現在のユーザー」を選択し、「次へ」をクリックします。

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

「パスワード」に、クライアント証明書のパスワードを入力します。デフォルトでは、クライアント証明書のパスワードは、ユーザ名と同一です。SingleIDのユーザ(user1)のクライアント証明書のパスワードとして、user1を入力し、「次へ」をクリックします。

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

「完了」をクリックし、証明書をインストールします。

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

FortiClientのインストール

以下、URLからFortiClientをダウンロードして、インストールします。

https://www.forticlient.com

FortiClientの設定

以下の項目を設定し、「保存」を クリックします。

項目設定値
VPNSSL-VPN
接続名任意です。例:SingleID_Cert
リモートGW環境/VPN設定の情報 の「VPNゲートウェイIPアドレス」です。
ポートの編集環境/VPN設定の情報 の「リッスンするポート」です。
クライアント証明書インストールしたクライアント証明書を選択します。
認証ユーザ名入力

FortiGateへリモートアクセスVPN

SingleIDのユーザ(user1)でログインを試みます。

user1でログインできたことを確認します。