リモートアクセスVPN-クライアント証明書認証
目的
SingleIDのユーザで、FortiGateへVPNを使ってリモートアクセスします。 接続する際の認証方式は、クライアント証明書認証です。
環境
ユーザの情報
ユーザ名 | 姓(英字) | 名(英字) | メールアドレス |
---|---|---|---|
user1 | user1 | user1 | user1@poc.singleid.jp |
Info
メールアドレス: 受信可能なメールアドレスを指定してください。
設定方法
SingleIDの設定
管理者ポータルへログイン
- SingleIDの管理者ポータルへログインします。
ユーザの作成
- SingleID 管理者ポータル>ユーザ画面へ移動します。
- 登録ボタンをクリックします。ユーザ登録画面がポップアップします。
- ユーザ登録画面の基本情報を入力します。作成するユーザは、ユーザの情報を参照します。
クライアント証明書の発行
- SingleID 管理者ポータル>ユーザ画面へ移動します。
- クライアント証明書を発行したいユーザの行にあるチェックボックスを選択します。クライアント証明書を発行するユーザは、ユーザの情報を参照します。
- 選択実行ボタンの▼をクリックし、プルダウンメニューの証明書の発行を選択します。
- 証明書発行画面がポップアップします。
- プロファイルを選択します。(例:デフォルト)
- 発行ボタンをクリックして、クライアント証明書を発行します。ユーザのメールアドレス宛に発行されたクライアント証明書のダウンロードリンクが送信されます。
SingleIDの中間CA証明書のダウンロード
- SingleID 管理者ポータル>認証>証明書画面の基本情報タブへ移動します。
- 中間CAブロックの中間CAのタイトル文字の隣のをクリックします。ダウンロード画面がポップアップします。
- ダウンロードボタンをクリックして、SingleIDの中間CA証明書をダウンロードします。
Warning
誤って、ルートCA証明書をダウンロードしないようにご注意ください。ルートCA証明書のダウンロードは必要ありません。
FortiGateの設定
ローカル管理者でログイン
- Fortigate 管理GUI https://FortiGateの管理IPアドレス/ へアクセスします。
- ローカル管理者のユーザ名、パスワードを入力し、ログインをクリックします。
SingleIDの中間CA証明書を追加
- Fortigate 管理GUI>システム>証明書画面へ移動します。
- Create/Import>CA証明書ボタンをクリックします。CA証明書をインポート画面がポップアップします。
-
以下を設定し、OKボタンをクリックします。
設定項目 設定内容 タイプ ファイルを選択 アップロード SingleIDの中間CA証明書のダウンロードの手順3でダウンロードしたファイルを選択 Danger
SingleIDのルートCA証明書をFortiGateへインポートしないようにしてください。意図しないVPN接続の認証が成功してしまいます。
リモートアクセスクライアントからFortiGateへのVPN接続時、SingleIDのルートCA証明書がFortiGateにインポートされていると、SingleIDのルートCAを発行元とするどんな中間CAが発行したクライアント証明書であっても、証明書のパスの検証に成功してしまいます。
SingleIDの中間CAの証明書失効リスト(CRL)の設定
- Fortigate 管理GUI>システム>証明書画面へ移動します。
- Create/Import>CRLボタンをクリックします。CRLをインポート画面がポップアップします。
-
以下を設定し、OKボタンをクリックします。
設定項目 設定内容 インポート方式 オンライン更新を選択 HTTPサーバのURL SingleID 管理者ポータル>認証>証明書画面の基本情報タブの中間CAの失効リストの配布ポイントです。 -
定期的(1時間ごと)に証明書失効リスト(CRL)を更新するために、FortiGate CLIからset update-interval 3600を以下のように設定します。
FortiGate CLIconfig vpn certificate crl edit "CRL_1" set update-interval 3600 next end
PKIユーザの登録
登録した中間CAで発行されたクライアント証明書かどうかを検証するために、以下のようにFortiGate CLIからPKIユーザを登録します。
config user peer
edit "SingleID_Cert_Check"
set ca "CA_Cert_1"
next
end
ユーザグループの設定
- Fortigate 管理GUI>ユーザ&認証>ユーザグループ画面へ移動します。
- 新規作成ボタンをクリックします。新規ユーザグループ画面がポップアップします。
-
以下を設定します。
設定項目 設定内容 名前 任意の文字列を設定します。(例:SingleID_Cert) タイプ ファイアウォールを選択 メンバー PKIユーザの登録で登録したPKIユーザ(例:SingleID_Cert_Check) -
OKを クリックします。
SSLVPNの設定
- Fortigate 管理GUI>VPN>SSL-VPN設定画面へ移動します。
-
以下の項目を設定し、適用ボタンをクリックします。
設定項目 設定内容 リッスンするインターフェース FortiGateのWAN側のインターフェースです。環境により異なります。 リッスンするポート VPNクライアントが接続するポート番号です。ここでは、「10443」とします。 サーバ証明書 VPNのサーバ認証のためのサーバ証明書を指定します。ここでは、「Fortinet_Factory」とします。 クライアント証明書を要求 有効 認証ポータルマッピング グループ:SingleID_Cert(ユーザグループの設定の手順3で設定したユーザグループ名) ポータル:full-access
すべてのその他のユーザ/グループ ポータル:web-access
ポリシーの設定
-
SSLVPNの設定を適用すると、上部に以下のようなメッセージが表示されます。リンクをクリックし、ファイアウォールポリシーの設定を行います。表示されない場合には、Fortigate 管理GUI>ポリシー&オブジェクト>ファイアウォールポリシーへ移動します。
-
以下の項目を設定し、OKボタンをクリックします。
設定項目 設定内容 名前 任意の文字列です。(例:SSLVPN) 着信インターフェース SSL-VPN tunnel Interface (ssl.root) 発信インターフェース VPN接続が完了し、内部通信が行われるときの発信元のインターフェースです。 環境により異なります。 発信元 アドレス:SSLVPN_TUNNEL_ADDR1 ユーザグループ:SingleID_Cert(ユーザグループの設定の手順3で設定したユーザグループ名) 宛先 VPNでアクセスした通信に対して、許可したい宛先です。環境により異なります。 サービス all アクション 許可
動作確認方法
リモートアクセスVPNの認証(クライアント証明書認証)
クライアント証明書のダウンロード
Info
もし、PCでメールを受信し、スマートフォンやタブレットにクライアント証明書をインストールしたい場合には、メールに添付されているQRコードを スマートフォンやタブレットで読み取ります。クライアント証明書のダウンロードURLを認識しますので、そのURLへアクセスすることで、 スマートフォンやタブレット にもクライアント証明書をダウンロードできます。
クライアント証明書のインストール
- ダウンロードしたSingleIDのユーザ(参照)の P12形式のクライアント証明書ファイルをダブルクリックします。
-
保存場所として現在のユーザーを選択し、次へボタンをクリックします。
-
ダウンロードしたP12形式のファイル名とパスが正しく入力されていることを確認し、次へボタンをクリックします。
-
パスワードに、クライアント証明書のパスワードを入力します。クライアント証明書のパスワードは、ユーザ名(参照)と同一です。次へボタンをクリックします。
-
証明書の種類に基づいて、自動に証明書ストアを選択するが選択されていることを確認し、次へボタンをクリックします。
-
完了ボタンをクリックし、証明書をインストールします。
-
クライアント証明書のインストールが成功しました。
リモートアクセスクライアントのインストール
FortiGateのリモートアクセスクライアントである、FortiClientをインストールしていない場合には、以下よりダウンロードしてインストールします。
接続先の設定
-
FortiClientを起動して、新規VPN接続を作成します。以下を設定します。
設定項目 設定内容 VPN SSL-VPNを選択 接続名 任意の文字列を設定します。(例:SingleID_Cert) リモートGW VPNクライアントが接続するIPアドレスです。環境により異なります。 ポートの編集 SSLVPNの設定の手順2で設定したリッスンするポートです。 クライアント証明書 クライアント証明書のインストールでインストールしたクライアント証明書を選択します。 認証 無効を選択 -
保存ボタンをクリックします。
VPN接続
- VPN名称に、作成した接続先を選択します。
-
SingleIDのユーザ(参照)でログインを試みます。
-
ログインが成功することを確認します。