クライアント証明書を利用すると、証明書がインストールされた端末(ブラウザ)からのみ接続が可能なページを作成できます。
証明書がインストールされていない端末(ブラウザ)からはアクセスができないため、IDとパスワードによる認証を省くことも可能ですので、認証情報の入力の手間、管理の手間を省くことができますので、より本業に注力できます。
もちろん、IDとパスワードによる認証と組み合わせて利用し、二要素認証(クライアント証明書とID/パスワード)によって、セキュリティを強化することもできます。
また、万が一端末を紛失した場合には、証明書を失効させて、アクセス不可にすることができますので、利便性とセキュリティの両立が可能です。
アクセスコントロールをするために必要なこと
- 対象のウェブページにSSLサーバ証明書が設置されていること
- 対象のウェブページを https でのアクセスに限定すること
クライアント証明書の利用には、SSLサーバ証明書が必要となります。
http での通信にはクライアント証明書は対応しませんので、アクセスコントロールを行いたい場合は https での通信に限定させる必要があります。
手順1 クライアント証明書の取得
マネージドPKI Liteを利用して、クライアント証明書を発行します。
クライアント証明書発行までの手順につきましては、下記ウェブページの「スタートアップマニュアル」をご参照ください。
マネージドPKI Lite について [グローバルサイン]
手順2 アクセス元端末へのクライアント証明書のインストール
アクセスを行う端末に、発行したクライアント証明書をインストールします。
インストール方法は、下記ウェブページの「ブラウザへのインストール」及び「スマートフォンへのインストール」をご参照ください。
手順3 ウェブサーバへの設定
【設定例】
ワードプレスの管理画面にクライアント証明書でアクセスコントロールを行いたい場合、例えば、以下の様な設定を行います。
▽ワードプレスの調整
ワードプレスの管理画面へのアクセスを https で行わせるため、ワードプレス管理画面の一般設定の内、WordPress アドレス (URL)を https:// から始まるURLに設定します。
▽サーバへの設定
クライアント証明書を有効にするため、Apacheの設定ファイルに以下の内容を記載します。
SSLCARevocationFile /etc/httpd/conf/ssl.crl/crl.pem #2
<Directory /var/www/wordpress/wp-login.php> #3
SSLOptions +StdEnvVars
SSLVerifyClient require
SSLVerifyDepth 3
SSLRequire %{SSL_CLIENT_S_DN_O} in {"Hyper Box Co.,Ltd."} #4
SSLRequire %{SSL_CLIENT_S_DN_OU} in {"Sales"} #5
SSLRequire %{SSL_CLIENT_S_DN_CN} in {"Suzuki Taro"} #6
</Directory>
#1 クライアント証明書と接続するために、ルート証明書と中間証明書を設定します。
ここでは、ルート証明書と中間証明書を結合したファイルを root.pemという名前で、以下のディレクトリに置かれているものとして記述しています。
/etc/httpd/conf/ssl.crt/root.pem
詳細はグローバルサイン社サポートページのApacheの設定方法の内「Apache設定ファイルの変更」をご参照下さい。
クライアント認証 Apacheの設定方法 [GMOグローバルサイン株式会社]
#2 クライアント証明書の失効状態を確認するために、失効リストを設定します。
ここでは、失効リストファイルが crl.pem という名前で、以下のディレクトリに置かれているものとして記述しています。
/etc/httpd/conf/ssl.crl/crl.pem
詳細はグローバルサイン社サポートページのApacheの設定方法の内「Apache設定ファイルの変更」をご参照下さい。
クライアント認証 Apacheの設定方法 [GMOグローバルサイン株式会社]
失効リストに関して
クライアント証明書の利用を停止したい場合、失効申請を行う事で、利用出来くなります。詳細は下記リンク先をご確認ください。
仕様 証明書一覧(失効申請、キャンセル、再発行、PKCS#12ダウンロード)
#3 クライアント証明書を有効にするファイルを指定しています。
ここでは、ワードプレスの管理画面へアクセスする為のファイルが、以下のディレクトリに置かれているものとして記述しています。
/var/www/wordpress/wp-login.php
#4 アクセス可能な組織名を限定しています。
ここでは Hyper Box Co.,Ltd. に限定しています。
#5 アクセス可能な部署名を限定しています。
ここでは Sales に限定しています。
#6 アクセス可能な氏名を限定しています。
ここでは Suzuki Taro に限定しています。
上記設定により、ワードプレスの管理画面(wp-login.php)には
組織名 | Hyper Box Co.,Ltd. |
---|---|
部署名 | Sales |
氏名 | Suzuki Taro |
のクライアント証明書を保持したブラウザからのみ、アクセス可能になります。
▽クライアント証明書をインストールしたブラウザからのアクセス
上記設定により wp-login.php にアクセスすると、下記の様な画面が表示されます。(表示方法はブラウザにより異なります)
ブラウザにインストールされているクライアント証明書が表示されますので、対応したクライアント証明書を選択します。
ここでは「Suzuki Taro」のクライアント証明書を選択すると、下記左画像の様にログイン画面に遷移する事が可能です。
対応しているクライアント証明書がブラウザにインストールされていない、対応していないクライアント証明書を選択画面で選択した場合は、下記右画像の様なエラー表示となり、ログインすることができません。(エラー表示は設定やブラウザにより異なります)
クライアント証明書あり
クライアント証明書なし
※ サーバ設定の詳細につきましては、サーバ管理者様にワードプレスに関しましては、ワードプレスサポートフォーラムなどでご確認ください。
詳しい利用事例については、下記グローバルサイン社サイトをご確認ください。
クライアント証明書 お客様の声・ケーススタディ [GMOグローバルサイン株式会社]