読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。
Palo Alto Networks のファイアウォールでは、GlobalProtect を使って、リモートユーザ向けの VPN 接続を提供できます。この記事では、AWS 上の PA-VM(PAN-OS 10.2.4)で、ユーザ認証に Palo Alto のローカルデータベースを、サーバ証明書に Palo Alto 自身が発行する自己署名の証明書を使って、GlobalProtect を設定し、Windows 端末から接続できるところまでを確認します。
- ローカルユーザ、認証プロファイル、証明書、SSL/TLS サービスプロファイルの作り方
- トンネルインタフェース、ゲートウェイ、ポータルの設定
- 端末への GlobalProtect アプリと認証局証明書のインストール、接続の確認
- ログと接続ユーザの確認、インターネットへ出るための NAT とセキュリティポリシー
検証の構成
PA-VM の ethernet1/1 で、ポータルとゲートウェイを同じ IP アドレスで動かします。ethernet1/1 のアドレスには AWS の Elastic IP が対応づけられていて、端末はインターネットから Elastic IP の FQDN(ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com)で接続します。接続した端末は、トンネルインタフェース tunnel.1(ゾーン SSL-VPN)に収容され、IP プール 192.168.100.0/24 からアドレスを受け取ります。
ポータルは、ユーザを認証して、接続先のゲートウェイなどのエージェント設定を端末に渡す役割です。ゲートウェイは、端末とのトンネルを終端して、通信にセキュリティポリシーを適用する役割です。この記事では 1 台の PA-VM が両方を担当します。
ローカルユーザでの認証のほか、Active Directory 連携は以下の記事も参考にしてください。この記事は、ローカルユーザでの認証である本記事をベースに、差分を記載しています。
>> 参考記事:GlobalProtectの設定(ActiveDirectory連携)と動作確認 PANOS9.0.9-h1.xfr
設定の順番
ポータルとゲートウェイは、認証プロファイル、SSL/TLS サービスプロファイル、トンネルインタフェースを参照します。参照されるものから順に作ると、途中で画面を行き来せずに済みます。
この記事は PAN-OS 10.2.4 と GlobalProtect アプリ 5.2.13 で検証しています。Palo Alto Networks の End-of-Life Summary では、PAN-OS 10.2 の通常のサポート終了日は 2025年8月27日、Extended Support+ の終了日は 2027年3月31日です。GlobalProtect アプリ 5.2 は 2024年2月28日、6.0 と 6.1 は 2025年12月31日にサポートが終了しています。新しく構築する場合は、サポート中のバージョンで画面や項目を確認してください。
この記事の画面は、実際の画面ではなく、検証時(2023年10月)の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。ユーザ名、IP アドレスなどは伏せています。
ローカルユーザデータベースの作成
ユーザを作る
Device ›› ローカル ユーザー データベース ›› ユーザー を開き、「追加」をクリックします。名前とパスワードを入力し、「有効化」にチェックが入っていることを確かめて「OK」をクリックします。
| 1名前 | (伏せています) |
| モード | ◉ パスワード○ パスワード ハッシュ |
| 2パスワード | •••••••••••••••• |
| 再入力 パスワード | •••••••••••••••• |
| 3有効化 | ☑ |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | VPN で使うユーザ名。端末からログインするときに入力します |
| 2 | パスワード | パスワードを 2 回入力します |
| 3 | 有効化 | チェックを入れたままにします。外すとそのユーザはログインできません |
ユーザグループを作る
あとからユーザを追加しやすいように、SSL-VPN のユーザをまとめるグループを作ります。認証プロファイルではこのグループを許可するので、ユーザを増やすときはグループに入れるだけで済みます。
Device ›› ローカル ユーザー データベース ›› ユーザー グループ を開き、「追加」をクリックします。名前を SSL-VPN-Users-Group とし、「追加」で先ほど作ったユーザを選んで「OK」をクリックします。
| 1名前 | SSL-VPN-Users-Group |
| 2すべてのローカル ユーザー | ユーザー(伏せています) |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | SSL-VPN-Users-Group |
| 2 | すべてのローカル ユーザー | 「追加」で STEP 1 のユーザを選びます |
認証プロファイルの設定
認証プロファイルで、ユーザの認証先をローカルデータベースにし、ログインを許可するのは SSL-VPN-Users-Group のユーザだけ、と指定します。
認証プロファイルを作る
Device ›› 認証プロファイル を開き、「追加」をクリックします。「認証」タブで名前とタイプを設定し、「詳細」タブの許可リストで「追加」をクリックして SSL-VPN-Users-Group を選びます。設定したら「OK」をクリックします。
| 1名前 | SSL-VPN-Auth-Profile |
| 2タイプ | ローカル データベース |
| ユーザー ドメイン | |
| ユーザー名修飾子 | %USERINPUT% |
| 3許可リスト | 許可リストSSL-VPN-Users-Group |
| アカウントのロックアウト | 許容ログイン回数 [0 – 10] |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | SSL-VPN-Auth-Profile |
| 2 | タイプ | ローカル データベース。ファイアウォールのローカルユーザデータベースで認証します |
| 3 | 許可リスト | SSL-VPN-Users-Group。このプロファイルで認証できるユーザやグループを限定します |
証明書の作成
端末はポータルとゲートウェイに SSL/TLS で接続するので、ファイアウォールにはサーバ証明書が必要です。今回は Palo Alto 自身を認証局(CA)にして、その CA でサーバ証明書に署名します。端末側には、あとでこの CA の証明書を信頼されたルート証明機関として入れます。
認証局の証明書を作る
Device ›› 証明書の管理 ›› 証明書 を開き、「デバイス証明書」タブで「生成」をクリックします。証明書名と共通名を入力し、「認証局」にチェックを入れて「生成」をクリックします。ポップアップが表示されたら「OK」をクリックします。
| 証明書タイプ | ◉ ローカル○ SCEP |
| 1証明書名 | PA-Cert-Authority |
| 共通名 | PA-Cert-Authority |
| 署名者 | |
| 2認証局 | ☑ |
| 秘密鍵のエクスポートをブロック | ☐ |
| アルゴリズム | RSA |
| ビット数 | 2048 |
| ダイジェスト | sha256 |
| 有効期間(日) | 365 |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 証明書名/共通名 | 任意の名前。今回はどちらも PA-Cert-Authority とします |
| 2 | 認証局 | チェックを入れます。この証明書でほかの証明書に署名できるようになります。署名者は空欄のままにするので、自己署名の CA になります |
| 3 | 生成 | 暗号設定は表示された値(RSA、2048 ビット、sha256)のまま生成します |
サーバ証明書を作る
今回は、ゲートウェイとポータルで同じ IP アドレスを使います。そこで、ゲートウェイとポータルで共通のサーバ証明書を 1 つ作ります。Device ›› 証明書の管理 ›› 証明書 で、もう一度「生成」をクリックします。
| 証明書タイプ | ◉ ローカル○ SCEP |
| 1証明書名 | GP-Portal-Gateway-Cert |
| 2共通名 | ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com |
| 3署名者 | PA-Cert-Authority |
| 認証局 | ☐ |
| ⋮(暗号設定は STEP 4 と同じ) | |
| タイプ | 値 |
|---|---|
| 4Host Name = “DNS” from Subject Alternative Name (SAN) field | ec2-XXX-XXX-XXX-XXX. |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 証明書名 | 任意の名前。今回は GP-Portal-Gateway-Cert とします |
| 2 | 共通名 | 端末が接続に使う名前。今回は Elastic IP の FQDN を設定します(XXX-XXX-XXX-XXX にはグローバルアドレスが入ります) |
| 3 | 署名者 | STEP 4 で作った PA-Cert-Authority |
| 4 | 証明書の属性 | 「追加」で、タイプ Host Name に同じ FQDN を設定します。証明書のサブジェクト代替名(SAN)に DNS 名として入ります |
TLS クライアントは、接続先の名前を、証明書の SAN にある DNS 名と照らし合わせて確かめます(RFC 6125)。共通名だけでなく SAN にも、端末がポータルに接続するときに入力する FQDN を入れておきます。
生成するとポップアップが表示されるので「OK」をクリックします。証明書の一覧で、認証局証明書(PA-Cert-Authority)の下に、サーバ証明書(GP-Portal-Gateway-Cert)が発行されていることを確かめます。
| 名前 | サブジェクト | 発行者 | CA |
|---|---|---|---|
| 1∨ PA-Cert-Authority | CN = PA-Cert-Authority | CN = PA-Cert-Authority | ☑ |
| 2 GP-Portal-Gateway-Cert | CN = ec2-XXX-XXX-XXX-XXX.ap-nort… | CN = PA-Cert-Authority | ☐ |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | PA-Cert-Authority | サブジェクトと発行者が同じで、CA にチェックが付いています。自己署名の認証局です |
| 2 | GP-Portal-Gateway-Cert | 発行者が PA-Cert-Authority なので、CA の下に表示されます |
SSL/TLSサービスプロファイルの作成
ゲートウェイとポータルで使う SSL/TLS サービスプロファイルを作り、STEP 5 のサーバ証明書と紐づけます。
SSL/TLS サービスプロファイルを作る
Device ›› 証明書の管理 ›› SSL/TLS サービス プロファイル を開き、「追加」をクリックします。名前と証明書を設定して「OK」をクリックします。
| 1名前 | GP-SSL-Profile |
| 2証明書 | GP-Portal-Gateway-Cert |
| 3最小バージョン | TLSv1.0 |
| 最大バージョン | Max |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は GP-SSL-Profile とします |
| 2 | 証明書 | STEP 5 の GP-Portal-Gateway-Cert |
| 3 | 最小/最大バージョン | 検証では表示された値(TLSv1.0/Max)のままにしています |
TLS 1.0 と 1.1 は RFC 8996 で非推奨になっています。Palo Alto Networks のドキュメントでも、管理アクセス以外のサービスでは最小バージョンを TLSv1.2 にするよう案内しています。本番では最小バージョンを TLSv1.2 以上にしてください。
トンネルインタフェースの追加
SSL-VPN を終端するトンネルインタフェースを設定します。接続したユーザは専用のゾーン(SSL-VPN)に収容し、ほかのゾーンとの通信にはセキュリティポリシーを適用できるようにします。
トンネルインタフェースとゾーンを作る
Network ›› インターフェイス の「トンネル」タブで「追加」をクリックします。サブインタフェース番号(今回は 1)を入力し、仮想ルーターに default を選びます。セキュリティ ゾーンは、プルダウンの下にある「新規 ゾーン」をクリックして新しく作ります。
| 1インターフェイス名 | tunnel . 1 |
| Netflow プロファイル | None |
| 2仮想ルーター | default |
| 3セキュリティ ゾーン | None ▾None Trust Untrust 新規 ゾーン |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | インターフェイス名 | 番号に 1 を入れて tunnel.1 にします |
| 2 | 仮想ルーター | default。ethernet1/1 などと同じ仮想ルータに入れます |
| 3 | セキュリティ ゾーン | 「新規 ゾーン」で VPN ユーザ用のゾーンを作ります |
ゾーンの画面では、名前を SSL-VPN とし、「ユーザー ID の有効化」にチェックを入れて「OK」をクリックします。トンネル インターフェイスの画面に戻ったら、もう一度「OK」をクリックします。
| 1名前 | SSL-VPN |
| ログ設定 | None |
| タイプ | レイヤー3 |
| 2ユーザー ID ACL | ☑ ユーザー ID の有効化 |
| Device-ID ACL | ☐ デバイス ID を有効化 |
| ゾーン プロテクション プロファイル | None |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は SSL-VPN とします |
| 2 | ユーザー ID の有効化 | チェックを入れます。このゾーンの通信を、認証済みのユーザ名と結びつけて識別できるようになります(トラフィックログの送信元ユーザや、ユーザを条件にしたポリシーに使えます) |
トンネルインタフェースの一覧に tunnel.1 が登録されたことを確かめます。
ゲートウェイの設定
外部(インターネット)から SSL-VPN でアクセスしてくる端末を受け付けるゲートウェイを設定します。
ゲートウェイの全般と認証を設定する
Network ›› GlobalProtect ›› ゲートウェイ を開き、「追加」をクリックします。「全般」で名前と待ち受けるインタフェース、IP アドレスを設定します。
| 1名前 | GP-Gateway |
| 2インターフェイス | ethernet1/1 |
| IP アドレス タイプ | IPv4 Only |
| IPv4 アドレス | (伏せています) |
| 成功した SSL ハンドシェイク | ☐ ログに記録 |
| 失敗した SSL ハンドシェイク | ☑ ログに記録 |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は GP-Gateway とします |
| 2 | インターフェイス/IP アドレス | SSL-VPN の受け口である ethernet1/1、IPv4 Only を選び、ゲートウェイとして受け付ける ethernet1/1 の IPv4 アドレスを選びます |
次に「認証」へ移動します。SSL/TLS サービス プロファイルに GP-SSL-Profile を選び、クライアント認証の「追加」をクリックします。クライアント認証の画面で、名前(今回は Client-Auth)を入力し、認証プロファイルに SSL-VPN-Auth-Profile を選んで「OK」をクリックします。
| 1SSL/TLS サービス プロファイル | GP-SSL-Profile |
| 名前 | OS | 認証プロファイル | ユーザー名のラベル | パスワード ラベル |
|---|---|---|---|---|
| 2Client-Auth | Any | SSL-VPN-Auth-Profile | Username | Password |
| 証明書プロファイル | None |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | SSL/TLS サービス プロファイル | STEP 6 の GP-SSL-Profile。ゲートウェイが端末に提示する証明書が決まります |
| 2 | クライアント認証 | OS は Any のまま、認証プロファイルに STEP 3 の SSL-VPN-Auth-Profile を選びます |
トンネルと IP プールを設定する
「エージェント」へ移動し、まず「トンネル設定」タブを設定します。
| 1トンネル モード | ☑ |
| 2トンネル インターフェイス | tunnel.1 |
| 最大ユーザー | [1 – 2000] |
| 3IPSec の有効化 | ☐ |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | トンネル モード | チェックを入れて有効にします |
| 2 | トンネル インターフェイス | STEP 7 の tunnel.1 |
| 3 | IPSec の有効化 | チェックを外します。外すと SSL でトンネルを張ります。有効のままだと、アプリはまず IPSec を試し、張れないときに SSL を使います |
次に「クライアントの設定」タブで「追加」をクリックします。「設定の選択条件」タブで名前(今回は GP-Client-Setting)を入力し、「IP プール」タブの右側(IP プール)で「追加」をクリックして 192.168.100.0/24 を入力します。「OK」をクリックし、ゲートウェイの画面に戻ったらもう一度「OK」をクリックします。
| 1名前 | GP-Client-Setting |
| 送信元ユーザー | any |
| OS | ☑ いずれか |
| 認証サーバーからの Framed-IP-Address 属性の取得 | ☐ |
| 2IP プール | IP プール192.168.100.0/24 |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は GP-Client-Setting とします。ユーザや OS の条件は any のままにして、すべての端末にこの設定を使います |
| 2 | IP プール | 192.168.100.0/24。接続した端末にはこの範囲からアドレスが払い出されます |
今回は「トンネルの分割」を設定していません。アクセス ルートを設定しない場合、端末にはトンネル側を向くデフォルトルートが作られ、端末の通信はすべてトンネルを通ります。そのため、端末がインターネットに出るには、あとで設定する SSL-VPN ゾーンから Untrust ゾーンへの NAT とセキュリティポリシーが必要です。
ゲートウェイの一覧に、GP-Gateway(ローカル インターフェイス ethernet1/1、トンネル tunnel.1)が登録されたことを確かめます。
ポータル設定
SSL-VPN ユーザのアクセスを受け付けて認証し、接続先のゲートウェイなどのエージェント設定を端末に渡すポータルを設定します。
ポータルの全般と認証を設定する
Network ›› GlobalProtect ›› ポータル を開き、「追加」をクリックします。「全般」で、ゲートウェイと同じインタフェースと IP アドレスを設定します。
| 1名前 | GP-Portal |
| 2インターフェイス | ethernet1/1 |
| IP アドレス タイプ | IPv4 Only |
| IPv4 アドレス | (伏せています) |
| ポータルのログイン ページ | factory-default |
| ポータルのランディング ページ | factory-default |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は GP-Portal とします |
| 2 | インターフェイス/IP アドレス | ゲートウェイと同じ ethernet1/1、IPv4 Only、同じ IPv4 アドレス |
「認証」へ移動し、ゲートウェイと同じように、SSL/TLS サービス プロファイルに GP-SSL-Profile を選び、クライアント認証(名前 Client-Auth、認証プロファイル SSL-VPN-Auth-Profile)を追加します。
ポータルのエージェント設定を作る
「エージェント」へ移動し、エージェントの「追加」をクリックします。「認証」タブで名前(今回は GP-Agent)を入力します。ほかの項目は表示された値のままにします。
| 1名前 | GP-Agent |
| クライアント証明書 | None |
| 2ユーザー認証情報の保存 | Yes |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は GP-Agent とします |
| 2 | ユーザー認証情報の保存 | 表示された値(Yes)のままです。ユーザ名とパスワードがアプリに保存されます |
次に「外部」タブで「追加」をクリックし、外部ゲートウェイを設定します。
| 1名前 | Gateway |
| 2アドレス | ◉ FQDN○ IP ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com |
| 送信元地域 | 優先順位 |
|---|---|
| 3Any | Highest |
| 4手動 | ☑ ユーザーは手動でこのゲートウェイを選択できます |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 名前 | 任意の名前。今回は Gateway とします。アプリの画面に、接続中のゲートウェイとして表示されます |
| 2 | アドレス | FQDN を選び、ゲートウェイの FQDN(サーバ証明書と同じ名前)を入力します |
| 3 | 送信元地域/優先順位 | 「追加」で、送信元地域 Any、優先順位 Highest にします。どの地域から接続しても、このゲートウェイを最優先にします |
| 4 | 手動 | チェックを入れます。ユーザがアプリでこのゲートウェイを選べるようになります |
「OK」をクリックし、エージェントの画面とポータルの画面でも「OK」をクリックします。
Commitの実行
Commit して警告を確かめる
設定を反映するために Commit を実行します。Commit は成功しますが、次のように警告が表示されます。
| 操作 | コミット |
| 状態 | 完了 |
| 結果 | 成功 |
| 詳細 | Configuration committed successfully |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | tunnel tunnel.1 ipv6 is not enabled | tunnel.1 で IPv6 が有効になっていないため、IPv6 アドレスは無視されるという警告です。IPv4 だけで使う今回の構成では、このままでも問題ありません |
| 2 | HIP Data Collection will not take effect | GlobalProtect サブスクリプションのライセンスがないため、エージェント設定の HIP データ収集が働かないという警告です。今回は HIP チェックを使わないので、接続には影響しません |
1 つ目の警告が出ないようにするには、Network ›› インターフェイス の「トンネル」タブで tunnel.1 を開き、「IPv6」タブで「インターフェイスでの IPv6 の有効化」にチェックを入れて「OK」をクリックします。これで Commit を実行しても、トンネルインタフェースに対する IPv6 の警告は出なくなります。
GlobalProtect クライアントの準備
GlobalProtect アプリをファイアウォールに用意する
端末はポータルから GlobalProtect アプリをダウンロードします。そのために、配布するアプリのバージョンをファイアウォールにダウンロードして、アクティベートしておきます。Device ›› GlobalProtect クライアント を開き、「今すぐチェック」をクリックすると、ダウンロードできるバージョンの一覧が表示されます。
| バージョン | サイズ | リリース日 | 使用可能 | アクション |
|---|---|---|---|---|
| 6.0.3 | 155 MB | 2022/08/02 | ダウンロード | |
| 6.0.1 | 152 MB | 2022/05/04 | ダウンロード | |
| 6.0.0 | 152 MB | 2022/02/22 | ダウンロード | |
| 15.2.13 | 232 MB | 2023/02/22 | ✓ | 検証 エクスポート 2アクティベーション |
| 5.2.13-c418 | 235 MB | 2023/07/11 | ダウンロード | |
| 5.2.12 | 103 MB | 2021/05/26 | ダウンロード |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 5.2.13 | 検証で使ったバージョンです。「ダウンロード」をクリックすると、「使用可能」にチェックが付きます |
| 2 | アクティベーション | クリックすると確認のポップアップが出るので「はい」をクリックします。アクティベートしたバージョンが、ポータルから端末に配布されます |
端末の接続
端末からの接続は、次の順番で進みます。先にポータルに接続して認証し、ポータルから受け取った設定をもとに、アプリがゲートウェイに接続します。
GlobalProtect アプリをインストールする
ブラウザ(今回は Edge)で https://ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com にアクセスします。この時点では端末が PA-Cert-Authority を信頼していないので証明書エラーが表示されますが、続行するとポータルのログイン画面が表示されます。STEP 1 で作ったユーザでログインします。
ログインすると、GlobalProtect アプリのダウンロードリンクが表示されるので、OS に合ったものを選んで実行します。
| GlobalProtect Portal | Download Windows 32 bit GlobalProtect agent |
| 1 | Download Windows 64 bit GlobalProtect agent |
| Download Mac 32/64 bit GlobalProtect agent |
インストーラが起動したら、「Next」を順にクリックしてインストールします。インストールが終わると、タスクトレイに GlobalProtect アプリが常駐します。
接続して証明書エラーを確かめる
タスクトレイの GlobalProtect アプリを開き、「ポータルのアドレスを入力してください」の欄にポータルの FQDN(ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com)を入力して「接続」をクリックします。すると、次のようにサーバ証明書のエラーが表示されます。
| メッセージ | 証明書に問題が見つかり、ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com の同一性を確認出来ませんでした。 |
| 1エラーの詳細 | The ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com certificate is not signed by a trusted certificate authority. |
ファイアウォールのサーバ証明書が、端末の信頼されたルート証明機関にない CA(PA-Cert-Authority)で署名されているため、エラーになります。ここでは「キャンセル」で閉じて、端末に CA の証明書を入れます。
認証局の証明書を端末に入れる
Device ›› 証明書の管理 ›› 証明書 で PA-Cert-Authority を選び、「証明書のエクスポート」をクリックします。ファイルフォーマットは Base64 Encoded Certificate (PEM) を選び、「秘密鍵のエクスポート」にはチェックを入れずに「OK」をクリックします。証明書ファイルがダウンロードされます。
端末に必要なのは、サーバ証明書を検証するための CA の証明書だけです。PKCS12 などで CA の秘密鍵ごと書き出して端末に入れると、その端末から PA-Cert-Authority の名前で証明書を発行できてしまいます。CA の秘密鍵はファイアウォールの外に出さないようにします。
ダウンロードした証明書ファイルを端末にコピーし、次の手順で入れます。
| 手順 | 操作 |
|---|---|
| 1 | 証明書ファイルを右クリックして「証明書のインストール」をクリックします |
| 2 | 証明書のインポート ウィザードで、保存場所に「ローカル コンピューター」を選んで「次へ」をクリックします |
| 3 | 「証明書をすべて次のストアに配置する」を選び、証明書ストアに「信頼されたルート証明機関」を指定して「次へ」をクリックします |
| 4 | 確認画面で「完了」をクリックし、インポートが完了したことを確かめます |
証明書がローカル コンピューターに入ったかを確かめます。「ファイル名を指定して実行」で certlm.msc と入力すると、ローカル コンピューターの証明書を確認できます。「信頼されたルート証明機関」の下に、PA-Cert-Authority があることを確かめます。
| 発行先 | 発行者 |
|---|---|
| Microsoft Time Stamp Root Cert… | Microsoft Time Stamp Root Certifi… |
| NO LIABILITY ACCEPTED, (c)97 … | NO LIABILITY ACCEPTED, (c)97 Ver… |
| 1PA-Cert-Authority | PA-Cert-Authority |
| Symantec Enterprise Mobile Ro… | Symantec Enterprise Mobile Root … |
もう一度接続する
タスクトレイの GlobalProtect アプリを開いて「接続」をクリックし、ユーザ名とパスワードを入力してサインインします。今度は証明書エラーが出ずに接続済みになります。これで SSL-VPN 接続は完了です。
| 1状態 | 接続済み 企業ネットワークに安全に接続されました |
| 2ゲートウェイ | Gateway |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 接続済み | ゲートウェイとのトンネルが確立しています |
| 2 | Gateway | 接続中のゲートウェイ。STEP 11 で外部ゲートウェイに付けた名前が表示されます |
端末で ipconfig を実行すると、GlobalProtect の仮想アダプタに、IP プール 192.168.100.0/24 から払い出されたアドレスが付いていることがわかります。
| アダプター | 項目 | 値 |
|---|---|---|
| 1イーサネット 2 | IPv4 アドレス | 192.168.100.1 |
| イーサネット 2 | サブネット マスク | 255.255.255.255 |
| イーサネット 2 | デフォルト ゲートウェイ | 0.0.0.0 |
| イーサネット | IPv4 アドレスなど | (伏せています) |
ログ確認
GlobalProtect のログを見る
Monitor ›› ログ ›› GlobalProtect を開くと、GlobalProtect に関するログを確認できます。
| ポータル/ゲートウェイ | 状態 | ステージ | イベント | 送信元ユーザー | 送信元地域 |
|---|---|---|---|---|---|
| GP-Gateway | success | host-info | gateway-hip-check | (伏せています) | JP |
| GP-Gateway | success | tunnel | gateway-tunnel-latency | (伏せています) | JP |
| GP-Gateway | success | host-info | gateway-hip-check | (伏せています) | JP |
| GP-Gateway | success | tunnel | gateway-tunnel-latency | (伏せています) | JP |
| 2GP-Gateway | success | connected | gateway-connected | (伏せています) | JP |
| 1GP-Gateway | success | tunnel | gateway-setup-ssl | (伏せています) | JP |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | gateway-setup-ssl | ゲートウェイとの SSL トンネルを設定しています。IPSec を無効にしたので、SSL で張られています |
| 2 | gateway-connected | ゲートウェイへの接続が完了しました。その後の行は、接続中に記録された HIP やトンネルの遅延のイベントです |
接続中のユーザを確かめる
いまどのユーザが接続しているかは、GUI でも CLI でも確認できます。GUI では、Network ›› GlobalProtect ›› ゲートウェイ で GP-Gateway の「リモート ユーザー」をクリックします。
| ユーザー | コンピューター | クライアント | プライベート IP | 公開 IP | トンネル タイプ |
|---|---|---|---|---|---|
| (伏せています) | (伏せています) | Microsoft Windows 10 Enterprise Evaluation , 64-bit | 1192.168.100.1 | (伏せています) | 2SSL |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | プライベート IP | IP プールから払い出されたアドレス。端末の ipconfig と同じです |
| 2 | トンネル タイプ | SSL。IPSec ではなく SSL でトンネルを張っています |
CLI では、次のコマンドで確認できます。
PA-VM
admin@PA-VM> show global-protect-gateway current-user GlobalProtect Gateway: GP-Gateway (1 users) Tunnel Name : GP-Gateway-N Domain-User Name : \(伏せています) Computer : (伏せています) Primary Username : (伏せています) Region for Config : JP Source Region : JP Client : Microsoft Windows 10 Enterprise Evaluation , 64-bit VPN Type : Device Level VPN Host ID : xxx Client App Version : 5.2.13-48 Mobile ID : Client OS : Windows Private IP : 192.168.100.1 Private IPv6 : :: Public IP (connected) : xxx.xxx.xxx.xxx Public IPv6 : :: Client IP : xxx.xxx.xxx.xxx ESP : removed SSL : exist Login Time : xxx.xx 03:29:24 Logout/Expiration : xxx.xx 02:29:24 TTL : 2591686 Inactivity TTL : 10788 Request - Login : 2023-xx-xx 03:29:24.271 (1698575364271), xxx.xxx.xxx.xxx Request - GetConfig : 2023-xx-xx 03:29:24.513 (1698575364513), xxx.xxx.xxx.xxx Request - SSLVPNCONNECT : 2023-xx-xx 03:29:24.726 (1698575364726), xxx.xxx.xxx.xxx
| 表示 | 意味 |
|---|---|
| GP-Gateway (1 users) | ゲートウェイ GP-Gateway に 1 ユーザが接続しています |
| Client App Version | 端末の GlobalProtect アプリのバージョン(5.2.13-48) |
| Private IP | IP プールから払い出されたアドレス(192.168.100.1) |
| ESP : removed SSL : exist | IPSec(ESP)のトンネルはなく、SSL のトンネルで接続しています |
ポリシー制御
接続したユーザは SSL-VPN ゾーンに所属します。トンネルの分割を設定していないので、端末のインターネット向けの通信もトンネルを通って PA-VM に届きます。SSL-VPN ゾーンからインターネットへ出られるように、NAT とセキュリティポリシーを追加します。
NAT ポリシーを追加する
SSL-VPN ゾーンから Untrust ゾーンへの通信を、送信元 NAT します。Policies ›› NAT で「追加」をクリックし、次の NAT ポリシーを追加します。
| 名前 | 送信元ゾーン | 宛先ゾーン | 送信元アドレス | 宛先アドレス | サービス | 送信元変換 |
|---|---|---|---|---|---|---|
| dst-nat-linux | Untrust | Untrust | any | Linux_VIP | any | none |
| linux_src_nat | Trust | Untrust | Linux_RealIP | any | any | static-ip |
| 1SSL-VPN-to-Untrust | SSL-VPN | Untrust | any | any | any | 2dynamic-ip-and-port ethernet1/1 |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 送信元/宛先ゾーン | 送信元ゾーン SSL-VPN、宛先ゾーン Untrust。VPN 端末からインターネットへの通信が対象です |
| 2 | 送信元変換 | dynamic-ip-and-port で、ethernet1/1 のアドレスに変換します。IP プールのアドレス(192.168.100.0/24)のままではインターネットから戻りの通信が届かないためです |
セキュリティポリシーを追加する
SSL-VPN ゾーンから Untrust ゾーンへの通信を許可します。Policies ›› セキュリティ で「追加」をクリックし、次のセキュリティポリシーを追加します。
| 名前 | 送信元ゾーン | 宛先ゾーン | アプリケーション | サービス | アクション |
|---|---|---|---|---|---|
| 1SSL-VPN-to-Untrust | SSL-VPN | Untrust | any | 2application-default | 許可 |
| Trust_to_Untrust | Trust | Untrust | any | application-default | 許可 |
| Linux | Untrust | Trust | any | any | 許可 |
| ALLDENY | Untrust | Trust | any | application-default | 拒否 |
| intrazone-default | any | (intrazone) | any | any | 許可 |
| interzone-default | any | any | any | any | 拒否 |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | SSL-VPN-to-Untrust | 送信元ゾーン SSL-VPN、宛先ゾーン Untrust、アクションは許可。いちばん上に置きます |
| 2 | アプリケーション/サービス | アプリケーション any、サービス application-default。どのアプリケーションも、そのアプリケーションの標準のポートであれば許可します |
Commit を実行し、端末からインターネットへ接続します。端末の DNS は端末ローカルで設定した DNS サーバを使い、インターネットへアクセスできるようになります。
トラフィックログで確かめる
Monitor ›› ログ ›› トラフィック を確認すると、VPN のユーザが、プールのアドレス 192.168.100.1 からインターネットへアクセスしていることがわかります。送信元ゾーンは SSL-VPN、宛先ゾーンは Untrust です。
| 送信元 | 送信元ユーザー | 宛先 | 宛先ポート | アプリケーション | アクション | ルール |
|---|---|---|---|---|---|---|
| 1192.168.100.1 | 2(伏せています) | (伏せています) | 443 | ssl | allow | 3SSL-VPN-to-Untrust |
| 192.168.100.1 | (伏せています) | (伏せています) | 443 | ssl | allow | SSL-VPN-to-Untrust |
| 192.168.100.1 | (伏せています) | (伏せています) | 443 | linkedin-base | allow | SSL-VPN-to-Untrust |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 送信元 | IP プールから払い出された端末のアドレス(NAT 前のアドレス)です |
| 2 | 送信元ユーザー | GlobalProtect でログインしたユーザ名が表示されます。SSL-VPN ゾーンでユーザー ID を有効にしたので、通信とユーザが結びついています |
| 3 | ルール | STEP 21 の SSL-VPN-to-Untrust で許可されています |
まとめ
GlobalProtect をローカルユーザで動かすために作った設定は、次のとおりです。
| 設定 | 場所 | 今回の値 |
|---|---|---|
| ユーザ/グループ | Device ›› ローカル ユーザー データベース | SSL-VPN-Users-Group |
| 認証プロファイル | Device ›› 認証プロファイル | SSL-VPN-Auth-Profile(ローカル データベース、許可リストにグループ) |
| 証明書 | Device ›› 証明書の管理 ›› 証明書 | PA-Cert-Authority(CA)、GP-Portal-Gateway-Cert(CN と SAN に FQDN) |
| SSL/TLS サービスプロファイル | Device ›› 証明書の管理 | GP-SSL-Profile |
| トンネルインタフェース | Network ›› インターフェイス ›› トンネル | tunnel.1(ゾーン SSL-VPN、ユーザー ID 有効) |
| ゲートウェイ | Network ›› GlobalProtect ›› ゲートウェイ | GP-Gateway(SSL、IP プール 192.168.100.0/24) |
| ポータル | Network ›› GlobalProtect ›› ポータル | GP-Portal(外部ゲートウェイ Gateway) |
| アプリ | Device ›› GlobalProtect クライアント | 5.2.13 をアクティベート |
| ポリシー | Policies ›› NAT/セキュリティ | SSL-VPN → Untrust の送信元 NAT と許可 |
自己署名の CA を使う場合は、端末に CA の証明書(秘密鍵は含めない)を信頼されたルート証明機関として入れておく必要があります。また、トンネルの分割を設定しないと端末の通信はすべてトンネルを通るので、インターネットへ出すための NAT とセキュリティポリシーも忘れずに設定します。
コメント