【Paloalto】GlobalProtectの設定(クライアント証明書認証)と動作確認 PANOS9.0.9-h1.xfr

音声で聞く

読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。

Paloalto では、GlobalProtect という SSL-VPN の機能で、リモートのユーザに VPN 接続を提供できます。この記事では、GlobalProtect のゲートウェイにクライアント証明書による認証を加え、証明書を入れていない端末は接続できないようにします。

全ユーザで共通のクライアント証明書を1枚発行し、端末にインストールして動作を確かめます。

この記事でわかること
  1. Paloalto の認証局でクライアント証明書を発行する
  2. 証明書プロファイルを作り、ゲートウェイに設定する
  3. 証明書を端末にインストールして、接続の可否を確かめる

この記事は、次の記事の構成と設定を前提に、クライアント認証の部分だけを説明します。先にご覧いただくことをおすすめします。

>> 参考記事 : GlobalProtectの設定(ローカルユーザ)と動作確認 PANOS9.0.9-h1.xfr

>> 参考記事 : GlobalProtectの設定(ActiveDirectory連携)と動作確認 PANOS9.0.9-h1.xfr

検証環境

PAN-OS 9.0.9-h1 で検証しています。PAN-OS 9.0 は 2022年3月1日でサポートが終了(End-of-Life)しています。画面の項目の並びや表記は、バージョンによって変わります。

クライアント証明書認証のしくみ

前提の構成では、Paloalto 上に認証局(CA)として PA-Cert-Authority の証明書を作っています。今回は、この CA で署名したクライアント証明書を発行し、端末にインストールします。

ゲートウェイには「証明書プロファイル」を設定します。証明書プロファイルには、クライアント証明書を検証するための CA 証明書(PA-Cert-Authority)を登録しておきます。端末が接続するときに提示した証明書が、この CA で署名されたものでなければ、ゲートウェイは認証しません。

PA-Cert-Authority認証局(CA)Client-Certificateクライアント証明書署名PKCS12 でエクスポートし端末にインストールPaloalto 上の CA接続時に証明書を提示証明書プロファイル(CA:PA-Cert-Authority)で検証PaloaltoGP-Gatewayクライアント端末GlobalProtect アプリ
図1 クライアント証明書認証の流れ

クライアント証明書を発行する

証明書の生成画面を開く

Device ›› 証明書の管理 ›› 証明書 の「デバイス証明書」タブで、画面下の「生成」をクリックします。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

Paloalto 設定画面(Web UI)画面イメージ
Device ›› 証明書の管理 ›› 証明書(デバイス証明書)
名前サブジェクト発行者CAキー
PA-Cert-AuthorityCN = PA-Cert-AuthorityCN = PA-Cert-Authority☑☑
 GP-Portal-Gateway-CertCN = (伏せています)CN = PA-Cert-Authority☐☑
削除無効化更新インポート1生成証明書のエクスポート
図2 デバイス証明書の一覧(実際の画面ではなく、操作のポイントを示したイメージです)

証明書の内容を入力して生成する

証明書名と共通名を入力し、署名者に認証局の PA-Cert-Authority を選んで「生成」をクリックします。

Paloalto 設定画面(Web UI)画面イメージ
Device ›› 証明書の管理 ›› 証明書 ›› 証明書の生成
証明書タイプ◉ ローカル○ SCEP
1証明書名Client-Certificate
2共通名Client-Certificate
3署名者PA-Cert-Authority
☐ 認証局
OCSP レスポンダ
暗号設定
アルゴリズムRSA
ビット数2048
ダイジェストsha256
有効期限 (日)365
4生成キャンセル
図3 証明書の生成(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1証明書名Paloalto 上で管理する名前です。今回は Client-Certificate にしました。
2共通名証明書のサブジェクト(CN)になる名前です。今回は証明書名と同じ Client-Certificate にしました。
3署名者認証局の PA-Cert-Authority を選びます。クライアント証明書なので、「認証局」のチェックは付けません。
4生成暗号設定は既定値(RSA 2048 ビット、sha256、有効期限 365 日)のままにしています。

生成に成功すると、「Successfully generated certificate and key pair : Client-Certificate」というメッセージが表示されます。

証明書プロファイルを作る

クライアント証明書を検証するための証明書プロファイルを作ります。

証明書プロファイルを追加する

Device ›› 証明書の管理 ›› 証明書プロファイル で、画面下の「追加」をクリックします。

名前と CA 証明書を設定する

名前を入力し、CA 証明書の「追加」をクリックして PA-Cert-Authority を選びます。小さな画面で OK をクリックすると CA 証明書の一覧に PA-Cert-Authority が入るので、もう一度 OK をクリックして保存します。

Paloalto 設定画面(Web UI)画面イメージ
Device ›› 証明書の管理 ›› 証明書プロファイル ›› 証明書プロファイル
1名前Client-Certificate-Profile
ユーザー名フィールドNone
ユーザー ドメイン
2CA 証明書
名前デフォルト OCSP URLOCSP 検証証明書
PA-Cert-Authority
☐ CRL の使用 ☐ OCSP の使用
CA 証明書の追加(「追加」で開く画面)
3CA 証明書PA-Cert-Authority
デフォルト OCSP URL
OCSP 検証証明書None
4OKキャンセル
図4 証明書プロファイル(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1名前任意の名前です。今回は Client-Certificate-Profile にしました。
2CA 証明書クライアント証明書に署名した CA を登録します。この CA で署名された証明書だけが認証に通ります。
3CA 証明書の追加「追加」で開く画面で PA-Cert-Authority を選びます。
4OK追加の画面と、証明書プロファイルの画面の両方で OK をクリックします。

ゲートウェイに証明書プロファイルを設定する

ゲートウェイの設定を開く

Network ›› GlobalProtect ›› ゲートウェイ で、前提の構成で作った GP-Gateway をクリックします。

認証タブで証明書プロファイルを選ぶ

「認証」タブの証明書プロファイルで、先ほど作った Client-Certificate-Profile を選び、OK をクリックします。そのあとコミットします。

Paloalto 設定画面(Web UI)画面イメージ
Network ›› GlobalProtect ›› ゲートウェイ ›› GlobalProtect ゲートウェイ設定(認証タブ)
サーバー認証
SSL/TLS サービス プロファイルGP-SSL-Profile
クライアント認証
名前OS認証プロファイルユーザー資格情報またはクライアント証明書を使用した認証を許可
Client-AuthAnySSL-VPN-Auth-Profile1いいえ
2証明書プロファイルClient-Certificate-Profile
3OKキャンセル
図5 ゲートウェイの認証タブ。クライアント認証の表は一部の列を省いています(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1ユーザー資格情報またはクライアント証明書を使用した認証を許可前提の構成のまま「いいえ」です。「いいえ」の場合、ユーザーはユーザー資格情報(ID・パスワード)とクライアント証明書の両方で認証する必要があります。
2証明書プロファイルClient-Certificate-Profile を選びます。
3OKOK をクリックしたあと、コミットします。
補足

「ユーザー資格情報またはクライアント証明書を使用した認証を許可」を「はい」にすると、ID・パスワードとクライアント証明書のどちらか一方で認証できるようになります。この記事では「いいえ」のまま、両方を必要にしています。

端末から動作を確かめる

証明書がない状態で接続する

クライアント証明書をインストールしていない端末から GlobalProtect アプリで接続すると、必要なクライアント証明書が見つからないというエラーになり、接続できません。

クライアント証明書をエクスポートする

Device ›› 証明書の管理 ›› 証明書 の「デバイス証明書」で Client-Certificate を選び、「証明書のエクスポート」をクリックします。ファイル形式に「暗号化された秘密鍵と証明書(PKCS12)」を選び、パスフレーズを入力して OK をクリックすると、証明書と秘密鍵が入ったファイルがダウンロードされます。パスフレーズは、端末にインストールするときに入力します。

端末にインストールする

ダウンロードしたファイルを端末にコピーし、右クリックして「PFX のインストール」を選びます。証明書のインポート ウィザードが開くので、パスフレーズを入力してインポートします。

もう一度接続する

クライアント証明書をインストールしたあと、もう一度 GlobalProtect アプリで接続すると、認証が通り「接続済み」になります。

GlobalProtect アプリ(クライアント端末)画面イメージ
証明書をインストールする前
接続に失敗しましたゲートウェイ Gateway: 必要なクライアント証明書が見つかりません。IT 管理者に連絡してください。
証明書をインストールした後
接続済み接続は安全です
図6 証明書のインストール前後の接続結果(実際の画面ではなく、表示結果のイメージです)

赤のアイコンは接続に失敗した状態、緑のアイコンは接続済みの状態です。証明書がない端末は接続できず、証明書をインストールした端末だけが接続できることを確かめられました。

運用での注意

この記事では、全ユーザで共通のクライアント証明書を1枚使っています。共通の証明書は配布が簡単な一方で、証明書ファイルがどこか1か所から漏れると、ほかの端末でも使えてしまいます。本番で使うときは、証明書ファイルとパスフレーズの扱いを決めておくか、ユーザーや端末ごとに証明書を発行する方法を検討してください。

まとめ

設定場所内容
クライアント証明書Device ›› 証明書の管理 ›› 証明書Client-Certificate(署名者:PA-Cert-Authority)
証明書プロファイルDevice ›› 証明書の管理 ›› 証明書プロファイルClient-Certificate-Profile(CA 証明書:PA-Cert-Authority)
ゲートウェイNetwork ›› GlobalProtect ›› ゲートウェイGP-Gateway の認証タブで、証明書プロファイルに Client-Certificate-Profile
端末Windows の「PFX のインストール」PKCS12 でエクスポートした証明書をインストール

コメント