各ユーザーに配布したクライアント証明書を失効させることで、クライアント証明書認証が成功しないように制御することができます。
例えば、「過って紛失してしまった」クライアントPCを接続できないようにしたい場合、クライアント証明書を失効させることで接続できなくすることができます。
その方法の一つとして、CRL (Certificate Revocation List: 証明書失効リスト) の利用があります。
CRLは名前の通り、失効した証明書の一覧であり、テキストファイルです。
そのテキストファイルを、PA Firewallが認証局からHTTPを使って取得する、という単純なものです。
そのCRLテキストファイルを取得するには、クライアント証明書内に、CRLの配布元であるCRL配布ポイント(CRL Distribution Point。以降、CDP) が記載されている必要があります。
Windows Server 2019のADCS機能で発行したクライアント証明書にはCDPが記載されていますが、デフォルトだとLDAPを利用する設定になっています。
例:
PA FirewallのCDPへのアクセスはLDAPには対応しておらず、HTTPのみ対応の仕様になっているので、まずはHTTPに書き換えます。
加えて、Windows Server 2019をCDPとして動作するように設定します。
クライアント証明書のCRL配布ポイントをHTTPに書き換える設定
WIN2019のAdministration Toolsから「Certification Authority」を開きます。
「acme-WIN2019-CA」を右クリックし、「Properties」を選択します。
「Extensions」タブで、「Add」をクリックします。
「Location:」に、「http://ec2amaz-ejgc4h8.acme.com/crld/」と入力し、「Variable:」で、以下の4ステップを行います。
(「ec2amaz-ejgc4h8」は、本ガイドのWIN2019のコンピューター名です。)
- 「<CaName>」を選択して、「Insert」をクリックします。
- 「<CRLNameSuffix>」を選択して、「Insert」をクリックします。
- 「<DeltaCRLAllowed>」を選択して、「Insert」をクリックします。
- 末尾に「.crl」と入力します。
結果、「Location:」が以下の文字列になります。
http://ec2amaz-ejgc4h8.acme.com/crld/<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl
「OK」をクリックします。
以下2つにチェックを入れます。
- Include in CRLs. Clients use this to find Delta CRL locations.
- Include in the CDP extension of issued certificates
「Apply」をクリックします。
設定はまだ続くので、一旦、「No」をクリックします。
再度、「Extensions」タブで、「Add」をクリックします。
「Location:」に、「\\ec2amaz-ejgc4h8\crldist$\」と入力し、「Variable:」で、以下の4ステップを行います。
(「ec2amaz-ejgc4h8」は、本ガイドのWIN2019のコンピューター名です。)
- 「<CaName>」を選択して、「Insert」をクリックします。
- 「<CRLNameSuffix>」を選択して、「Insert」をクリックします。
- 「<DeltaCRLAllowed>」を選択して、「Insert」をクリックします。
- 末尾に「.crl」と入力します。
結果、「Location:」が以下の文字列になります。
\\ec2amaz-ejgc4h8\crldist$\<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl
「OK」をクリックします。
以下2つにチェックを入れます。
- Publish CRLs to this location
- Publish Delta CRLs to this location
「Apply」をクリックします。
設定はまだ続くので、一旦、「No」をクリックします。
「ldap://〜」で始まるものを選んで、「Include in the CDP extension of issued certificates」のチェックを外します。
(デフォルトでは、クライアント証明書のCDP値に、これが書き込まれていますので、書き込まれないようにします。)
「Apply」をクリックします。
「Yes」をクリックします。
「OK」をクリックして、Certification Authorityを閉じます。
IISの設定
CRLをHTTPで配布できるように、IISを設定します。
WIN2019のAdministration Toolsから「Internet Information Services (IIS) Manager」を開きます。
「ec2amaz-ejgc4h8」を展開 → 「Sites」を展開して表示された「Default Web Site」を右クリックして、「Add Virtual Directory」を選択します。
「Alias:」に「CRLD」と入力し、「Physical path:」の「…」をクリックします。
「Local Disk (C:)」を選択し、「Make New Folder」をクリックします。
「CRLDist」フォルダを生成して、「OK」をクリックします。
「OK」をクリックします。
「CRLD」が選択された状態で、「Directory Browsing」をダブルクリックします。
画面右の「Enable」をクリックします。
「CRLD」が選択された状態で、「Configuration Editor」をダブルクリックします。
Section:で「system.webServer/security/requestFiltering」を選択します。
「allowDoubleEscaping」を「True」に変更して、「Apply」をクリックします。
フォルダの設定
CRLファイルが置かれるフォルダ:「CRLDist」に、適切なアクセス権限を設定します。
File Explorerを開き、C:ドライブ直下の「CRLDist」を右クリックし、「Properties」を選択します。
「Sharing」→ 「Advanced Sharing」をクリックします。
「Share this folder」にチェック → d)CRLDistの末尾に$を入力します。
e)「Permissions」をクリックします。
「Add」をクリックします。
「Object Types」をクリックします。
「Computers」にチェックを入れて「OK」をクリックします。
a)「Enter the object names to select」の下に「EC2AMAZ-EJGC4H8」と入力し、b)「OK」をクリックします。
a)「EC2AMAZ-EJGC4H8$」を選択して、b)「Full Control」にチェックを入れ、c)「OK」をクリックします。
全て「OK」 → 「Close」 をクリックして、フォルダ設定を終了します。
CRLの発行
WIN2019のAdministration Toolsから「Certification Authority」を開きます。
「acme-EC2AMAZ-EJGC4H8-CA」の下の「Revoked Certificates」を右クリック → 「All Tasks」 → 「Publish」を選択します。
「New CRL」が選択された状態で、「OK」をクリックします。
File Explorerで「C:\CRLDist」フォルダを開くと、以下のようなCRLファイルが生成されて入ればOKです。
(まだクライアント証明書を失効させていないので、現時点ではCRLリストは空です。)
クライアント証明書の失効
クライアント証明書の失効方法はこちらをご参照ください。
GlobalProtectとの連携
GlobalProtectが、CRLによるクライアント証明書の有効/失効を確認するための設定はこちらをご参照ください。
コメント欄 質問や感想、追加してほしい記事のリクエストをお待ちしてます!