SSLクライアント証明書(PKI USER)を利用する
VPNの二要素認証を実現したい場合、FortiGate UTMで実現できるもっとも安易な方法は、モバイルトークンなどを使ったOTP(ワンタイムパスワード)です。しかしながら、これにはユーザー毎に費用がかかります。そこで、無料で二要素認証を行いたい場合は、SSLクライアント証明書を利用する方法があります。
SSLのクライアント証明書を用いたリモートVPN接続をする場合、クライアントがアクセスする時の次の2つの箇所でSSLクライアント証明書をチェックすることができます。
- SSL接続時のクライアント証明書のチェック
- ユーザー認証を行う時のチェック(PKI USER)
また、必要なSSLのルートCAをFortiGate VDOMにインストールしておく必要があります。
ルートCAもクライアント証明書も、自社で用意するのがもっともセキュリティの高い方法です。しかし、SSLクライアント証明書の配付システムの管理は煩雑になりがちなので、当社で用意しているルートCAをインストールし、クライアント証明書発行ツールを利用することも可能です。
当社クライアント証明書発行ツールは、当社サービスの利用者(の管理者)であれば、無料で利用することは可能です。別途、お申し込みください。(※TeraCLOUDなどのコンシューマーサービスや、JPWSなどの一部サービスを除く)
ルート証明書の公開鍵は、こちらからダウンロードが可能です。このCAを、「System-Certificates」よりImportすることにより、利用することができます。
SSL接続時のクライアント証明書のチェック
SSL接続時のクライアント証明書のチェックは、SSL設定にて「Require Client Certificate」をチェックすることにより、行われます。
これはあくまでもチェックに過ぎないので、ユーザーがローカルユーザーやLDAPユーザーであったとしても、「チェックだけは」行います。事実上、SSLクライアント証明書がインストールされているかどうか?しかチェックされないため、二要素認証とはなりません。
当社SSLクライアント証明書を利用した場合は、それを利用できるユーザーは全て、このチェックを通り抜けることができてしまいます。ただ、不特定多数からアクセスができるのか、特定の人数からしかアクセスできないかの大きな違いはあります。
ユーザー認証を行う時のチェック(PKI USER)
PKI USERを利用する場合、発行した証明書とユーザーの適合をする事ができます。
PKIユーザーは、デフォルトではWEBUIでは現れません。FortiGateのCLIから一人目のPKIユーザーを追加した後は、WEBUIでのコントロールが可能になります。
ユーザーは、「Create New」から作成可能です。
- Name
- ユーザー名を指定します。Local Userや、LDAPと重なってはいけません。
- Subject
- 前方一致でSSLクライアント証明書のSubjectを指定します。当社SSLクライアント証明書発行ツールを利用している場合は、サブジェクトが「3文字顧客コード-登録メールアドレスのローカルパート-日付」となっていますので、「3文字顧客コード-登録メールアドレスのローカルパート-」をユーザ毎に登録するのが良いでしょう。
- Two-factor authentication
- 二要素認証を有効にします。
- Password/Confirm password
- ユーザのパスワードを登録します。
これらのユーザをグループに入れることで、そのユーザーは二段階認証対応のユーザーとなります。