FortigateのSSL-VPN接続をクライアント証明書で認証する方法
1. 目的
本ドキュメントでは、FortigateのSSL-VPN接続の認証に、ユーザー名とパスワードによる認証に加えて、クライアント証明書による認証の設定方法をご説明いたします。 SecureW2の認証局で発行したクライアント証明書でなければ、 VPNに接続できないように設定を行います。
前提条件
- SecureW2 の管理者アカウントをお持ちであること
-
SecureW2 で 既にクライアント証明書をデバイスに配布してあること
- クライアント証明書はユーザー証明書である必要があります
- Fortigate の管理者アカウントをお持ちであること
- Fortigate のポリシーの設定( 接続した後のIPアドレス割当、アクセス許可 ) は行われていること
2. 手順
1. SecureW2の証明書をFortigateにアップロードする
はじめに、SecureW2のルート認証局・中間認証局の証明書をFortigateにアップロードします。また、サーバー証明書を SecureW2で発行し、Fortigateサーバーにアップロードします。
この操作により、クライアント証明書認証を行うための信頼関係を構築します。
以下が操作の手順です。
-
SecureW2 ポータルへログインし、PKI > Certificate Authorities をクリックします。
-
使用しているルート認証局・中間認証局の証明書をダウンロードします。
-
Fortigate サーバーのサーバー証明書のテンプレートを作成します。PKI > Certificate Authorities をクリックします。
-
Certificate Templates > DEFAULT CREATE CERTIFICATE TEMPLATE の鉛筆マークをクリックして、編集をします。
-
サーバー証明書のテンプレートに、証明書の有効期限と証明書の用途等を選択します。
-
Fortigate サーバーのサーバー証明書を発行していきます。
PKI > Create Certificate をクリックします。
-
IPアドレスやサーバーのドメインなど、サーバー証明書を発行するための情報を埋めます。設定が完了したら、[ Create ] をクリックします。
-
パスフレーズを要求されるので、お好きなパスワードを入力し [ Submit ] をクリックします。サーバー証明書が発行され、ブラウザからダウンロードされます。
-
以上で、ルート認証局・中間認証局の証明書、サーバー証明書の準備ができました。次にこれらを Fortigate にアップロードします。
Fortigateの管理者ポータルへログインし、システム > 表示機能設定 をクリックします。
-
証明書のチェックを入れ、[ 適用 ] をクリックします。
-
証明書フィールドが出現するので、システム > 証明書 > インポート > CA証明書をクリックし、タイプでファイルを選択し、 「 アップロード」 をクリックします。
-
先程ダウンロードした ルート認証局の証明書 ( 例 : Pentio Dev Device Root CA ) を選択し、正常に選択されたら、[ OK ] をクリックします。
-
ルート認証局の証明書が正常にインポートされると、エクスターナルCA証明書の中に表示されます。
-
同様の操作で、中間認証局 ( 例 : Pentio Dev Device Intermediate CA ) もインポートします。
-
次にサーバー証明書をインポートします。インポート > ローカル証明書 をクリックし、タイプで PKSC12証明書を選択し、[ アップロード ] をクリックし先ほど作成したFortigateサーバー用のサーバー証明書を選択します。
-
正常にアップロードされたら、パスワードに設定したパスフレーズを入力し、[ OK ] をクリックします。
-
正常にサーバー証明書がアップロードされると、証明書の枠に追加されます。
以上で、証明書認証を実現するために必要である信頼関係の構築設定が完了しました。
2. ユーザーの追加
本章では、SSL - VPN を利用させるユーザーを作成していきます。既にFortigateを運用中のお客様はこちらの手順は飛ばしても差し支えありません。
-
ユーザ定義 > 新規作成 をクリックします。
-
ユーザタイプでローカルユーザを選択し、[ 次へ ] をクリックします。
-
任意のユーザー名とパスワードを設定し、[ 次へ ] をクリックします。
-
Eメールアドレスを入力し、[ 次へ ] をクリックします。
以上が設定できたら、[ サブミット ] をクリックします。
以上で、ユーザーを一人作成することができました。すべての設定を終えた最後に、このユーザーを使って証明書認証が実現できたか確認を行いましょう。
3. SSL-VPN の設定
本章では、Fortigate SSL-VPN においてクライアント証明書による認証の設定を行っていきます。
この設定により、1章でアップロードした認証局が発行したクライアント証明書を持っているエンドユーザーのみ VPNに接続できるようになります。
- VPN > SSL-VPN設定 を開きます。
VPNで接続させる先やポートを選択します。
クライアント証明書認証を行うために以下の設定を行います。
- サーバー 証明書: [ 1章でアップロードしたサーバ証明書 ] (選択)
- クライアント証明書を要求:[ トグルをオンにする ]
認証/ポータルマッピング でクライアント認証をかけたいユーザグループを選択し、[ 適用] をクリックします。
以上の設定でSSL-VPN でクライアント証明書認証を有効化できました。
3. 結論
ユーザーの操作(動作検証)
2.2で作成したユーザを使ってクライアント証明書がかかっているかを動作検証します。
-
FortiClient を開き、接続名やクライアント証明書など、VPN接続の編集を行います。ここまで設定できたら、[ Save ] をクリックします。
-
パスワードを入力して、[ Connect ] をクリックして接続要求をします。
-
正常に接続できることを確認できました。
-
試しに別の認証局で発行したクライアント証明書でログインを試み、正常に、認証が弾かれることを確認します。
ペンティオでは、SecureW2をご契約いただいた方に向けて独自のドキュメントを無料で提供しています。
詳細は以下よりご覧ください。