クライアント証明書を利用すると、証明書がインストールされた端末(ブラウザ)からのみ接続が可能なページを作成できます。

証明書がインストールされていない端末(ブラウザ)からはアクセスができないため、IDとパスワードによる認証を省くことも可能ですので、認証情報の入力の手間、管理の手間を省くことができますので、より本業に注力できます。

もちろん、IDとパスワードによる認証と組み合わせて利用し、二要素認証(クライアント証明書とID/パスワード)によって、セキュリティを強化することもできます。

また、万が一端末を紛失した場合には、証明書を失効させて、アクセス不可にすることができますので、利便性とセキュリティの両立が可能です。

アクセスコントロールをするために必要なこと

  • 対象のウェブページにSSLサーバ証明書が設置されていること
  • 対象のウェブページを https でのアクセスに限定すること

クライアント証明書の利用には、SSLサーバ証明書が必要となります。

http での通信にはクライアント証明書は対応しませんので、アクセスコントロールを行いたい場合は https での通信に限定させる必要があります。

 弊社にてSSLサーバ証明書のお取り扱いもございます。

◇SSLサーバ証明書

手順1 クライアント証明書の取得

マネージドPKI Liteを利用して、クライアント証明書を発行します。

クライアント証明書発行までの手順につきましては、下記ウェブページの「スタートアップマニュアル」をご参照ください。

手順2 アクセス元端末へのクライアント証明書のインストール

アクセスを行う端末に、発行したクライアント証明書をインストールします。

インストール方法は、下記ウェブページの「ブラウザへのインストール」及び「スマートフォンへのインストール」をご参照ください。

手順3 ウェブサーバへの設定

ウェブサーバで設定を行い、クライアント証明書を有効にします。

設定方法は、下記ウェブページの「サーバへのインストール」をご参照ください。

【設定例】

ワードプレスの管理画面にクライアント証明書でアクセスコントロールを行いたい場合、例えば、以下の様な設定を行います。

▽ワードプレスの調整

ワードプレスの管理画面へのアクセスを https で行わせるため、ワードプレス管理画面の一般設定の内、WordPress アドレス (URL)を https:// から始まるURLに設定します。

ワードプレス管理画面

▽サーバへの設定

クライアント証明書を有効にするため、Apacheの設定ファイルに以下の内容を記載します。

SSLCACertificateFile /etc/httpd/conf/ssl.crt/root.pem  #1
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設定ファイルの変更」をご参照下さい。

#2 クライアント証明書の失効状態を確認するために、失効リストを設定します。
ここでは、失効リストファイルが crl.pem という名前で、以下のディレクトリに置かれているものとして記述しています。
/etc/httpd/conf/ssl.crl/crl.pem
詳細はグローバルサイン社サポートページのApacheの設定方法の内「Apache設定ファイルの変更」をご参照下さい。

失効リストに関して
クライアント証明書の利用を停止したい場合、失効申請を行う事で、利用出来くなります。詳細は下記リンク先をご確認ください。

#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」のクライアント証明書を選択すると、下記左画像の様にログイン画面に遷移する事が可能です。

対応しているクライアント証明書がブラウザにインストールされていない、対応していないクライアント証明書を選択画面で選択した場合は、下記右画像の様なエラー表示となり、ログインすることができません。(エラー表示は設定やブラウザにより異なります)

クライアント証明書あり

クライアント証明書あり

クライアント証明書なし

クライアント証明書なし

 サーバ設定の詳細につきましては、サーバ管理者様にワードプレスに関しましては、ワードプレスサポートフォーラムなどでご確認ください。

詳しい利用事例については、下記グローバルサイン社サイトをご確認ください。


アクセスコントロール

マネージドPKI Lite の利用シーン