ここでは、内部 (社内LAN) からVPN接続なしでPA Firewallにログインできるように設定を行います。
「VPN接続しないのに、設定する意味あるの?」と思われがちですが、大きく以下2つの意味があります。
- 社内でもUser-ID連携ができる (その他のUser-ID連携のための設定をしなくても)
- ログにユーザー名が残る。
- ログインしていない人は使わせない、というような制御ができる。
- ユーザー毎(ユーザーのグループ毎)でアクセス制御ができる。
- 社内でも検疫ができる (=HIPチェック機能が使える)
- 検疫をパスしない端末はアクセスさせない、または限定的なサーバーにしかアクセスできない。
GlobalProtectの外部と内部の接続動作の概要はこちらをご参照ください。
想定ネットワーク構成はこちらをご参照ください。
Internal Gateway用のサーバー証明書の生成
インターネットからのVPN接続の設定の際に生成した認証局証明書(PA-Certificate-Authority)を使って、GlobalProtect PortalおよびInternal Gatewayに設定するサーバー証明書を生成します。
a)「Device」 → 「証明書の管理」の下のb)「証明書」 → c)「デバイス証明書」→ d)「生成」をクリックします。

a) 証明書名に「GP-Internal (任意)」と入力します。
b) 共有名は、ネットワーク構成に従い、「trust.acme.com」と入力します。
c) 署名者は生成した認証局「PA-Certificate-Authority」を選択します。
d) 「追加」をクリックして、e)「Host Name」を選択し、「trust.acme.com」を入力します。
f) 「生成」をクリックします。

生成が成功したことを示すメッセージが出力されたら、「OK」をクリックします。

注) 上記で設定したサーバー証明書はInternal Gatewayに適用する証明書です。 このInternal Gatewayに適用するサーバー証明書の共通名:「trust.acme.com」と、PortalからGP Agentに送られるInternal GatewayのFQDNが一致する必要があります。 (理由: GP Agentは、Webブラウザと同様に、サーバー証明書の共通名:Common Name (CN) をチェックしており、宛先FQDNとCNが一致しなければ証明書エラーとなって、接続できません。) FQDNを使うということは、DNSでIPアドレスが解決できなければいけませんから、「trust.acme.com」は、内部DNSに設定しておく必要があります。 以降、その点についても内部LANに設置のWindows Server 2019のDNS設定画面を用いて解説しています。 |
SSL / TLSサービスプロファイルの設定
SSL / TLSサービスプロファイルを使用して、GP Agent〜GP Portal/Gateway間で使用するサーバー証明書の指定と、許可するSSL/TLSのプロトコルバージョンを指定することができます。
このプロファイルはGateway設定に必要なので、Gateway設定の前に生成しておきます。
本ガイドでは、SSL/TLSプロトコルバージョンはデフォルトのままとします。
a)「Device」 → 「証明書の管理」の下のb)「SSL/TLSサービスプロファイル」 → c)「追加」をクリックします。

Internal-Gateway用のSSL/TLSサービスプロファイルを生成します。
a)名前に「Internal_SSL_Service_Profile(任意)」と入力します。
b)証明書は作成済みの「GP-Internal」を選択します。
c)「OK」をクリックします。

Internal Gatewayの設定
社内LANからGP Agentが接続するGatewayの設定です。
インターネットからのVPN接続の場合と似た設定を行いますが、Internal Gatewayの場合は、VPNトンネルは確立しないのが特徴です。
その分、設定がシンプルです。(内部でもVPNするように設定することも可能です。)
a)「Network」 → 「GlobalProtect」の下のb)「ゲートウェイ」 → c)「追加」をクリックします。

a) 「エージェント」をクリックします。
b) 「GP-Agent」をクリックします。

a)「全般」タブで、b)名前に「Internal-Gateway(任意)」と入力します。
c)インターフェイスは「ethernet1/2」を選択します。
d)IPv4アドレスは「10.0.2.208/24」を選択します。

a)「認証」タブで、b)SSL/TLSサービスプロファイルで設定済みの「Internal_SSL_Service_Profile」を選択します。
c)「追加」をクリックして、d) External-Gatewayと同様の方法で、認証サーバーを指定します。
e)「OK」をクリックします。

「コミット」を実施します。

内部DNSの設定
Portal設定の前に、内部DNSの設定を行います。
GP Agentは、自身が今いる場所が外部か内部かの特定や、Gatewayのサーバー証明書のCNと自身が接続しようとしている宛先FQDNが一致しているかどうかをチェックする際にDNSを利用するので、DNS設定にも注意を払う必要があります。
想定ネットワーク構成では、Windows Server 2019を内部DNSとして利用しており、Internal Gatewayとの接続時には、このDNSが正しく設定されている必要があります。
DNSの逆引き設定
GP Agentは、現在外部にいるのか内部にいるのかの判断をするために、DNSの逆引きを利用します。
GP AgentがPortalにアクセスした際に、PortalからDNS逆引き用IPアドレスを受け取り、そのIPアドレスの逆引きが成功することによって、GP Agentは、「内部にいる」と判断します。
よって、内部DNSが逆引きに応答できるように設定しておく必要があります。
今回は、Windows Server 2019でDNSサーバーをインストールしたときにデフォルトで設定される「10.0.2.251 Pointer (PTR) ec2amaz-ejgc4h8.acme.com.」を使うことにします。

正引きゾーンの設定
GP AgentがInternal Gatewayへ接続する際には、Internal Gatewayが持つサーバー証明書のCommon Name:「trust.acme.com」と、GP AgentがPortalから受け取ったInternal GatewayのFQDNが一致する必要があります。
そのためには、GP Agentが「trust.acme.com」のDNS問合せを行い、そのIPアドレス解決ができる必要があるので、その設定が必要です。
今回のネットワーク構成では、Internal Gatewayへの接続に、「trust.acme.com:10.0.2.208」のDNSレコードを使います。

Portalの設定
インターネットからのVPN接続の設定の際に生成したPortalの設定変更を行います。
a)「Network」 → 「GlobalProtect」の下のb)「ポータル」で、「インターネットからのVPN接続」設定の際に生成したPortalをクリックします。

a)「内部」タブをクリックします。
GP Agentが社内LANに接続されていることを検出するために、内部DNSの逆引きを利用しますが、その設定をこの「内部ホスト検出IPv4」で行います。
b) 「内部ホスト検出IPv4」にチェックを入れます。
c) 内部DNSの逆引きができるIPアドレス「10.0.2.251」を入力します。
d) 内部DNSの逆引きで返答されるホスト名「ec2amaz-ejgc4h8.acme.com」を入力します。
e) 「追加」をクリックします。

a)名前に「Internal-Gateway (任意)」と入力します。
b)アドレスは「FQDN」を選択し、「trust.acme.com」と入力します。
※このFQDNが、Internal Gateway用SSL/TLSサービスプロファイルに設定したサーバー証明書のCommon Nameと一致する必要があります。
c)「OK」をクリックします。

「コミット」を実施します。

Internal Gatewayへログイン
社内LAN上のWindows10 (ユーザー:w10-001) から接続する例です。
既に一度、外部 (インターネット) からVPN接続したことがあるPCからであれば、社内LANにPCをつないだ際に自動的に接続され、a)のように「内部接続」と表示されます。

[確認のみ] GP Agentの右上にある をクリックして、「設定」を選択します。

「接続」タブをクリックして、Internal-Gatewayである「trust.acme.com」の「認証済み」が「はい」であることを確認します。
(Internal Gatewayの場合、「内部接続」と表示されても、「認証済み」が「いいえ」のままの場合があります。その場合、まずは内部Gatewayのサーバー証明書CNのFQDNが、Portalの「エージェント」→「内部」タブの設定と一致しているかを確認してください。)

コメント欄 質問や感想、追加してほしい記事のリクエストをお待ちしてます!