GlobalProtectのpre-logonでの基本的な設定

Printer Friendly Page

※この記事は以下の記事の日本語訳です。

Basic GlobalProtect Configuration with Pre-logon

https://live.paloaltonetworks.com/t5/Configuration-Articles/Basic-GlobalProtect-Configuration-with-P...

 

GlobalProtectのpre-loginとは?

 

ユーザーが機器にログオンするより"先に"GlobalProtectが接続されているため、'pre-logon'という名称となっています。この”機器”がGlobalProtectゲートウェイに接続するというpre-logonアイデアの前提としては、ユーザーが機器にログオンするのであったとしても多くの特定の内部リソースへの接続やスクリプト実行は、一般的にユーザーログオンより以前に行われるということからです。

例えばWindowsの場合、pre-logonのGlobalProtectはシステム起動中やCtrl+Alt+Delスクリーン状態でもゲートウェイに接続しており、それはつまりユーザーのログオン前となります。pre-logonはユーザーが機器からログオフしている時も開始されます。どのユーザーもこういった場合には関連付けられていませんので、ゲートウェイからは'pre-logon'とよばれる一般的なユーザー名からの接続が来ているように見えます。一旦ユーザーが機器にログオンすると、トンネルは(Windowsでは)'pre-logon'ユーザーから実際にログインしているユーザーに名称変更されます。Macの場合、トンネルはログインした実際のユーザーで再確立されます。

 

  • SSOがユーザーにとってGlobalProtect接続とシームレスになるよう、pre-logonはユーザーログオンとSSOを連携するために最も一般的に使用されます。
  • この手法では'pre-logon'と実際の'ユーザー'という2つのユーザーを扱うため、'pre-logon'とその他の'任意/特定の'ユーザーグループ'のための別々のクライアント コンフィグがポータルで作成される必要があります。これらの2種のユーザーのアクセスを許可する別々のセキュリティー ルール(ポリシー)も必要です。
  • (例えばuser-logonで)'実際のユーザー'がGlobalProtectに接続すると、ユーザーは必要であれば、(管理者が許可している場合)'無効化'オプションを使ってGlobalProtectアプリケーションを無効化できます。

この文書は以下を前提を考慮した上で、基本的なpre-logonのGlobalProtectの設定を説明します:

 

  • 認証 -  ローカル データベース
  • ポータルとゲートウェイを同一のインターフェイスで提供
  • ルート、中間、そしてサーバーの各証明書はPaloalto Network機器で生成

1.ルート認証局証明書、中間認証局証明書、サーバー証明書の生成については、下記のドキュメントで説明しています。

Generate a root CA, intermediate CA and a server cert as explained in this document:(英語版)

https://live.paloaltonetworks.com/t5/Management-Articles/Certificate-config-for-GlobalProtect-SSL-TL...

Global Protect用の証明書の設定(SSL/TLSサービス、およびクライアント証明書プロファイル、クライアント/マシン証明書)

 

 

Certificate-chain.png

 

 

2. Device > 証明書の管理 > SSL/TLS サービス プロファイルにてSSL/TLS サービス プロファイルを作成し、上記で作成した'サーバー証明書'を参照します。

 

 

SSL-TLS-profile.png

 

3. Device > 認証プロファイル > 追加にて認証プロファイルを作成します。

 

  • 名前 - この認証プロファイルの名前を入力
  • タイプ - ローカル データベースを選択(要件に応じて、LDAP、RADIUS認証などを選択する場合もあります)
  • 詳細 > 許可リスト > 追加 - allを選択(グループがある場合、必要なグループに制限できます)

OKをクリックして保存します。

Auth-profile.png

 

 Auth-profile-2.png

 

 

4. ネットワーク > インターフェイス > トンネルにてトンネル インターフェイスを作成します。トンネルのナンバー、仮想ルーター、そしてセキュリティ ゾーンを設定します。これによりVPNトラフィックに対してより柔軟に個別にセキュリティ ルールを作成できるようになります。

 

tunnel-interface.png

 

 

GlobalProtectポータルの設定

 

5. ネットワーク > Global Protect > ポータル > 追加を行います。

全般タブにて、ドロップ ダウンのリストからでポータル機能を提供するインターフェイスを選択します。

 

  GP-portal-general.png

 

6. 認証タブ

 

a. SSL/TLS サービス プロファイルにて手順2で作成したSSL/TLS サービス プロファイルをドロップ ダウンのリストから選択します。

b.クライアント認証 > 追加を行います。名前を入力し、OSは特に制限しない限りは'Any'のままとします。認証プロファイルで手順3で作成した認証プロファイルを選択します。

c. OKをクリックして保存します。

GP-portal-auth.png

 

pre-logonが機能するには、以下の3つの状態のうち、一つに該当する必要があります:

 

 

i. ポータルは認証クッキー(手順7で説明)を持たないが、'認証プロファイル'を持つ。

 

ii. ポータルは'認証プロファイルを持たない'が、'認証クッキー'を持つ。

(この場合、最初のGP接続はユーザーによって行われ、'user'と'pre-logon'の2つのクッキーが作成されます。それからpre-logonが機能するようになります

最初のユーザーによる接続を伴わない'pre-logon'は、'pre-logon'cookieがユーザーのログイン以降しか生成されないため、機能しません。)

 

iii.ポータルは'証明書プロファイル'と'認証クッキー'を持つ。

Portal contains both ‘certificate profile’ and ‘auth cookies’.

 

 

 7. エージェント タブ

 

pre-logonためと、どのユーザー/特定のユーザーグループのための2つのクライアント設定が必要です。

 

pre-logon用のクライアント設定

 

エージェント > 追加で新規にクライアント用の設定を追加します。 

 

a. 認証タブ

  • クライアント用の設定の名前を入力します。
  • クライアント証明書 - 'None'のままとしておきます。これは認証のためにクライアントに証明書をプッシュするときのみ必要となります。
  • ユーザー認証情報の保存 - Yes(デフォルト値)
  • (オプション)認証オーバーライド:'クッキーを生成して認証上書き'と'クッキーを受け入れて認証上書き'をチェックします。このクッキーは'クッキーの暗号化/復号化用の証明書'のドロップ ダウンから選択した証明書で暗号化/復号化されるようになります。注:ポータルのこの設定で証明書を選択した場合、同じ証明書をゲートウェイでの暗号化/復号化クッキーの設定でも選択しなければなりません。

prelogon-client-config.png

  

 b. ユーザー/ユーザー グループ タブで、ドロップ ダウンから'pre-logon'を選択します。

 

prelogon-client-config-2.png 

重要!

c. ゲートウェイ タブ

 

  • '外部ゲートウェイ'を追加し、名前を入力します。
  • アドレス - 手順1の証明書の共通名(CN)かサブジェクト代替名(SAN)で参照されるIPアドレスかFQDNを入力します。この例では'gp.portal-gw01.local'を入力します。

GP-portal-gw.png

   

 d. アプリケーション タブ

'接続手段'のドロップ ダウンで、 'Pre-logon(Always On)'を選択します。

 

prelogon-client-config-3.png

   

e. OKをクリックして保存します。

 

実際のユーザー用のクライアント設定

 

新規にクライアント用の設定を追加します。 

 

a. 認証タブ

  • クライアント用の設定の名前を入力します。
  • クライアント証明書 - 'None'のままとしておきます。これは認証のためにクライアントに証明書をプッシュするときのみ必要となります。
  • ユーザー認証情報の保存 - Yes(デフォルト値)
  • (オプション)認証オーバーライド:'クッキーを生成して認証上書き'と'クッキーを受け入れて認証上書き'をチェックします。このクッキーは'クッキーの暗号化/復号化用の証明書'のドロップ ダウンから選択した証明書で暗号化/復号化されるようになります。注:ポータルのこの設定で証明書を選択した場合、同じ証明書をゲートウェイでの暗号化/復号化クッキーの設定でも選択しなければなりません。

user-clientconfig-1.png

 

  b. ユーザー/ユーザー グループ タブで、ドロップ ダウンから'any'を選択するか、特定のユーザー/ユーザー グループを追加します。

 

user-clientconfig-2.png

 

 

重要!

 

c. ゲートウェイ タブ

 

  • '外部ゲートウェイ'を追加し、名前を入力します。
  • アドレス - 手順1の証明書の共通名(CN)かサブジェクト代替名(SAN)で参照されるIPアドレスかFQDNを入力します。この例では'gp.portal-gw01.local'を入力します。

 

GP-portal-gw.png

 

 d. アプリケーション タブ

  • '接続手段'のドロップ ダウンで、 'Pre-logon(Always On)'を選択します。
  • また、ここでは'シングルサインオン(Windowsのみ)の使用'を'Yes'とします。

 

user-clientconfig-3.png

    

e. OKをクリックして保存します。

 

f.信頼されたルートCAでルート認証局証明書と中間認証局証明書を選択します。またクライアントがポータルに最初に接続したときに、クライアントのローカル ルート 証明書ストアにこれらの証明書をインストールするために、クライアントの'ローカルルート証明書ストアでインストール'も選択します。

portal-all-configs.png

 

g. OKをクリックして保存し、GlobalProtectポータルの設定を閉じます。

 

クライアント証明書プロファイルの設定

 

(場所:Device > 証明書の管理 > 証明書プロファイル

 

証明書プロファイルは認証局証明書と中間認証局証明書のリストを規定します。証明書プロファイルが設定に適用されると、ポータル/ゲートウェイは、証明書プロファイルにある認証局/中間認証局証明書で署名されたクライアント/マシン証明書を要求するために、クライアント証明書要求をクライアントに送信します。ルート認証局証明書だけでなく、ルートと中間認証局証明書の両方をこのプロファイルに設定することを推奨します。

  

重要!

 

クライアント証明書はユーザーの証明を指し、 'user-logon'/'on-demand' 接続方式で使用されます。ユーザーの認証に使用されます。

 

マシン証明書は機器の証明を指し、'pre-logon' 接続方式で使用されます。ユーザーではなく機器の認証に使用されます。

 

  • Device > 証明書の管理 > 証明書にて、クライアント/マシン証明書を署名した"ルート認証局証明書"をインポートします(秘密鍵のインポートはオプション)。
  • Device > 証明書の管理 > 証明書にて、クライアント/マシン証明書を署名した"中間認証局証明書"をインポートします(秘密鍵のインポートはオプション)。
  • Device > 証明書の管理 > 証明書プロファイルに移動し、追加をクリックします。
  • プロファイルの名前を入力します。
  • 上記のルート及び中間認証局証明書を追加します。

client-certprof.png

  • 注: ユーザー名フィールドはデフォルトで'None'となっており、典型的なセットアップではLDAP/RADIUS認証から引用されるので、'None'のままとしておくことができます。一方、証明書のみによる認証の場合(つまりポータル/ゲートウェイが使用するRADIUS/LDAPがない場合)、ユーザー名フィールドはユーザー名をクライアント証明書の共通名またはEmail/プリンシパル名から抽出するために'None'から'サブジェクト'または'サブジェクト代替名'に変更しなければなりません。これを行わないとCommit失敗となります。
  • (オプション)CRLまたはOSCPによるクライアント/マシン証明書の無効化ステータスの確認が必要な場合、'証明書状態が不明な場合にセッションをブロック'をチェックしていると、クライアントの接続に失敗しますのでご注意ください。
  • この証明書プロファイルを必要なポータル/ゲートウェイから参照します。

  

GlobalProtectゲートウェイの設定

 

8.  Network > GlobalProtect > ゲートウェイに移動し、追加をクリックします。

全般タブ:ゲートウェイの名称を入力し、ドロップ ダウンからゲートウェイに使用するインターフェイスを選択します。

GP-GW-General.png

 

9.  認証タブ: 手順6と同様ですが、こちらはゲートウェイ用の設定です。

a. SSL/TLS サービス プロファイルにて手順2で作成したSSL/TLS サービス プロファイルをドロップ ダウンのリストから選択します。

b.クライアント認証 > 追加を行います。名前を入力し、OSは特に制限しない限りは'Any'のままとします。認証プロファイルで手順3で作成した認証プロファイルを選択します。

c. 上記で作成した認証プロファイルをドロップダウンから選択します。

d. OKをクリックして保存します。

gw-1.png

 

10. エージェント タブ:

a. トンネル設定: 'トンネル モード'をチェックし、トンネル モードを有効化し、手順4で作成したインターフェイスをドロップ ダウンから選択します。

b. IPSecの有効化:  IPSecを有効化するためにチェックします。これは強く推奨されます。この設定を有効化することでGlobalProtectは常にIPSecでの接続を最初に試み、それに失敗した場合、SSLに移行します。

 

Gateway-tunnel.png

 

c. Timeout settings:  - デフォルトのままとします。 変更する場合は、GlobalProtect管理者ガイドを参照してください。

d. クライアントの設定:

追加をクリックして、認証オーバーライド タブの名前を入力します。

(オプション)認証オーバーライド: 'クッキーを生成して認証上書き'と'クッキーを受け入れて認証上書き'をチェックします。このクッキーは'クッキーの暗号化/復号化用の証明書'のドロップ ダウンから選択した証明書で暗号化/復号化されるようになります。

 

注: ポータルの手順7で証明書を選択した場合、同じ証明書をこのゲートウェイでの暗号化/復号化クッキーの設定でも選択しなければなりません。

GP-GW-Client-config.png

 

e. ユーザー/ユーザー グループ タブ: OSとでユーザー グループは'any'のままとします(必要であれば、クループを制限してください)。

 

重要!

ドロップ ダウンからグループを選択した場合、GlobalProtectのユーザーがそのグループに各人に参加しているようにしてください。そうでない場合、クライアントはゲートウェイからIPアドレスを受け取ることができません。

 

ここでよくある問題ですが、ユーザーがGlobalProtectで'ドメイン\ユーザー'として識別されたが、ファイアウォール上のUser-IDでは”FQDN(完全なドメイン名)\ユーザー"と識別されるというものです。これらの場合、グループ/ユーザーがDevice > ユーザーID > グループ マッピング設定でドメインを上書きすることで、両方の箇所で同一となるようにしてください。

GP-GW-Client-user-group.png

 

f. ネットワーク設定 

IP プール:  

 

重要!

  • GlobalProtectゲートウェイはクライアントにこのプールからIPアドレスを割り当てます。組織内に存在する、つ以上のIP プールの範囲を設定します。複数の場合は重複しないようにしてください。重複したサブネットはルーティングの問題やネットワーク障害の原因となります。
  • (オプションですが推奨)セカンダリのIPプールの範囲をバックアップとして追加することができます。ユーザーがプライマリのIP プールの範囲を無線LANで接続するような場合に使用できます。

GP-GW-IP-pool.png

g. アクセス ルート: この定義はGlobalProtectクライアントがゲートウェイに接続した後、どのサブネットがGlobalProtect経由で接続するかを定義します。

  • 空欄のままの場合、0.0.0.0/0と同義になり、すべてのトラフィックはGlobalProtectクライアントからGlobalProtectのトンネルを通過します。
  • スプリット トンネリング: 10.0.0.0/8、192.168.x.0/24といった内部サブネットを定義すると、GlobalProtectクライアントのトンネルを使用してこれらのサブネットに到達するようになります。これらのサブネット以外は、直接クライアントのローカルのネットワークを使用してアクセスを行います。これをスプリット トンネリングと呼びます。 

h. 保存のためOKをクリックし、クライアントの設定を閉じます。再度、保存のためOKをクリックし、GlobalProtectゲートウェイの設定を閉じます。

 

11. テストのためにDevice > ローカル ユーザー データベース > ユーザー で名前とパスワードを入力してローカル ユーザーを作成します。

12. 新しく作成したVPNのゾーンに適切にアクセスできるよう、セキュリティとNATポリシーを作成します。

13. 変更をコミットします。

  

クライアント端末へのクライアント/マシン証明書のインストール

 

pre-logonを目的としているため、'マシン'証明書を使用する必要があります。

 

マシン証明書をインポートする際は、秘密鍵を含むPKCSフォーマットで実施します。

 

Windows - 

 

1. スタート > ファイル名を指定して実行 にてmmcを入力して、Microsoft 管理コンソールを開きます。

1.JPG

2. ファイル > スナップインの追加と削除 をクリックします。

 add-remove-snapin.png

 

 

重要!

 

3. 証明書 > 追加 を行い、以下を行います:

 

 

a. マシン(機器)証明書を'コンピューター アカウント'を選択して追加します。これは 'pre-logon' でマシンを認証するためです。

cert-1.png

 

 

 

 cert-2.png

 

 

4. マシン証明書をmmcにインポートします。

マシン証明書をインポートする場合、'証明書(ローカル コンピューター)'下の'個人'フォルダにインポートします。

cert-3.png

 

 

 

5. 同様にルート認証局証明書を'信頼されたルート証明機関'に、(あれば)中間認証局証明書を'中間証明機関'にインポートします。

cert-4.png

 

 

 

重要!

 

6. 一旦インポートしたら、インポートしたマシン証明書をダブルクリックして、以下を確認します。

 

a. 秘密鍵(訳注:日本語版Windowsでは"秘密キー"と表記されます)を持っているか。

b. ルート認証局までの完全な証明書チェーンがあるか。もしルート認証局や中間認証局までのチェーンに欠落がある場合は、手順5での説明に従い、それらの認証局証明書を該当するフォルダーにインポートします。

 cert-5.png

 

 cert-6.png

 

 

7. この時点で証明書はクライアントにインストールされていますので、mmcコンソールをセーブすることなくクローズして構いません。

 

クライアント端末でのテスト

 

1. ブラウザからhttps://gp.portal-gw01.local/ (本文書中の例のとおりでない場合は、https://<ポータルのIPアドレス/FQDN>のフォーマット)にアクセスします。

2. ユーザー名、パスワードを入力します。

3. GlobalProtect エージェントをダウンロードします。

4. GlobalProtect エージェントにてポータルのアドレス、ユーザー名、パスワードを入力し、接続 をクリックします。

5. ゲートウェイとなっているファイアウォール上で、実際のユーザーが接続したことを確認します。

6. クライアントの端末からログオフし、pre-logonの状況をシミュレートします。

7. ゲートウェイとなっているファイアウォール上で、pre-logonユーザーが接続したことを確認します。

8. コンピューターに実際のユーザー名でログオンします。

9. ゲートウェイとなっているファイアウォール上で、pre-logonユーザーが実際のユーザーに名称変更されたことを確認します。