読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。
Paloalto では、GlobalProtect という SSL-VPN の機能で、リモートのユーザに VPN 接続を提供できます。この記事では、GlobalProtect のゲートウェイにクライアント証明書による認証を加え、証明書を入れていない端末は接続できないようにします。
全ユーザで共通のクライアント証明書を1枚発行し、端末にインストールして動作を確かめます。
- Paloalto の認証局でクライアント証明書を発行する
- 証明書プロファイルを作り、ゲートウェイに設定する
- 証明書を端末にインストールして、接続の可否を確かめる
この記事は、次の記事の構成と設定を前提に、クライアント認証の部分だけを説明します。先にご覧いただくことをおすすめします。
>> 参考記事 : 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 で署名されたものでなければ、ゲートウェイは認証しません。
クライアント証明書を発行する
証明書の生成画面を開く
Device ›› 証明書の管理 ›› 証明書 の「デバイス証明書」タブで、画面下の「生成」をクリックします。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| 名前 | サブジェクト | 発行者 | CA | キー |
|---|---|---|---|---|
| PA-Cert-Authority | CN = PA-Cert-Authority | CN = PA-Cert-Authority | ☑ | ☑ |
| GP-Portal-Gateway-Cert | CN = (伏せています) | CN = PA-Cert-Authority | ☐ | ☑ |
証明書の内容を入力して生成する
証明書名と共通名を入力し、署名者に認証局の PA-Cert-Authority を選んで「生成」をクリックします。
| 証明書タイプ | ◉ ローカル○ SCEP |
| 1証明書名 | Client-Certificate |
| 2共通名 | Client-Certificate |
| 3署名者 | PA-Cert-Authority |
| ☐ 認証局 | |
| OCSP レスポンダ |
| アルゴリズム | RSA |
| ビット数 | 2048 |
| ダイジェスト | sha256 |
| 有効期限 (日) | 365 |
| 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 をクリックして保存します。
| 1名前 | Client-Certificate-Profile | ||||||
| ユーザー名フィールド | None | ||||||
| ユーザー ドメイン | |||||||
| 2CA 証明書 |
| ||||||
| ☐ CRL の使用 ☐ OCSP の使用 |
| 3CA 証明書 | PA-Cert-Authority |
| デフォルト OCSP URL | |
| OCSP 検証証明書 | None |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前です。今回は Client-Certificate-Profile にしました。 |
| 2 | CA 証明書 | クライアント証明書に署名した CA を登録します。この CA で署名された証明書だけが認証に通ります。 |
| 3 | CA 証明書の追加 | 「追加」で開く画面で PA-Cert-Authority を選びます。 |
| 4 | OK | 追加の画面と、証明書プロファイルの画面の両方で OK をクリックします。 |
ゲートウェイに証明書プロファイルを設定する
ゲートウェイの設定を開く
Network ›› GlobalProtect ›› ゲートウェイ で、前提の構成で作った GP-Gateway をクリックします。
認証タブで証明書プロファイルを選ぶ
「認証」タブの証明書プロファイルで、先ほど作った Client-Certificate-Profile を選び、OK をクリックします。そのあとコミットします。
| SSL/TLS サービス プロファイル | GP-SSL-Profile |
| |||||||||
| 2証明書プロファイル | Client-Certificate-Profile | ||||||||
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | ユーザー資格情報またはクライアント証明書を使用した認証を許可 | 前提の構成のまま「いいえ」です。「いいえ」の場合、ユーザーはユーザー資格情報(ID・パスワード)とクライアント証明書の両方で認証する必要があります。 |
| 2 | 証明書プロファイル | Client-Certificate-Profile を選びます。 |
| 3 | OK | OK をクリックしたあと、コミットします。 |
「ユーザー資格情報またはクライアント証明書を使用した認証を許可」を「はい」にすると、ID・パスワードとクライアント証明書のどちらか一方で認証できるようになります。この記事では「いいえ」のまま、両方を必要にしています。
端末から動作を確かめる
証明書がない状態で接続する
クライアント証明書をインストールしていない端末から GlobalProtect アプリで接続すると、必要なクライアント証明書が見つからないというエラーになり、接続できません。
クライアント証明書をエクスポートする
Device ›› 証明書の管理 ›› 証明書 の「デバイス証明書」で Client-Certificate を選び、「証明書のエクスポート」をクリックします。ファイル形式に「暗号化された秘密鍵と証明書(PKCS12)」を選び、パスフレーズを入力して OK をクリックすると、証明書と秘密鍵が入ったファイルがダウンロードされます。パスフレーズは、端末にインストールするときに入力します。
端末にインストールする
ダウンロードしたファイルを端末にコピーし、右クリックして「PFX のインストール」を選びます。証明書のインポート ウィザードが開くので、パスフレーズを入力してインポートします。
もう一度接続する
クライアント証明書をインストールしたあと、もう一度 GlobalProtect アプリで接続すると、認証が通り「接続済み」になります。
赤のアイコンは接続に失敗した状態、緑のアイコンは接続済みの状態です。証明書がない端末は接続できず、証明書をインストールした端末だけが接続できることを確かめられました。
この記事では、全ユーザで共通のクライアント証明書を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 でエクスポートした証明書をインストール |
コメント