グループマッピング

ここでは、Active Directory (LDAPサーバー) から、ユーザーとグループのマッピング情報を取得する設定を行います。

グループマッピングは、グループ単位のセキュリティポリシーを設定したい、という場合に必要となる機能です。

勘違いしやすいポイントは「ADを使ったUser-ID設定を行えば、ADからユーザーグループ情報も一緒にFirewallに取り込んでくれるのだろう」と思ってしまうことです。

しかし、そのような動作にはなっておらず、User-ID設定とは別にグループマッピング設定も行う必要があります。

User-ID設定は、「PA FirewallがIPアドレスとユーザー名の情報を(例えばADから)取得して、PA Firewall内でUser Mappingテーブルを作る」というだけに留まります。

User-ID設定に加えてグループマッピング設定を行うことで、「PA FirewallがLDAP(例えばADから)からユーザー名とグループ情報を取得してPA Firewall内でGroup Mappingテーブルを作る」ことができます。

PA Firewallでは、そのUser Mappingテーブルのユーザー名とGroup Mappingテーブルのユーザー名とを紐付けします。

この2つのテーブルが生成されて、それぞれが持つユーザー名の紐付けができることで初めて、グループ情報によるポリシー制御が行えるようになります。

もう少し詳細にお伝えすると、User-IDの機能が参照するのはActive Directory内のWindowsドメインへログオンした結果出力されるログなのですね。

「このIPアドレスを持つ端末が、XXXというユーザー名でログオンしましたよ。」というログを参照しています。

一方、グループマッピングは、Active Directoryが持つLDAPエントリを参照して、ユーザー名とグループの情報を取得しているのです。

User-IDもグループマッピングもどちらもADを参照するのに、別々に設定しなければいけない点は不便なようにも思えますが、このことによって柔軟性が増しているのです。

それは、User-IDとグループマッピングの両方が同じLDAP(同じAD)でなくても動作する、という点です。

例えばGlobalProtectの認証はRADIUSで行いたいので、自ずとUser-IDはRADIUSでということになりますが、でもグループ情報はLDAPが持っているのでグループマッピングはLDAPで、ということが可能なのです。RADIUSとLDAPに登録されているユーザー名が一致していれば、ですが。

ということで、このグループマッピングの設定の前に、User-ID設定を実施しておいてください。

グループマッピングの設定

a)「Device」 → b)「ユーザーID」 → c)「グループマッピング設定」 → d)「追加」をクリックします。

a) 名前に「dc-for-group-mapping(任意)」を入力します。
b) サーバープロファイルは設定済みの「acme-ldap-server」を選択します。
c) ドメインに「acme」を入力します。
d) LDAPとの更新間隔のデフォルトは3600秒と長いので、検証用に最短の「60」秒にしておきます。(任意)
e) 「OK」をクリックします。

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

a)「Monitor」 → b)「システム」でc)ログが出力されていればOKです。
 イベント:「connect-ldap-server」
 オブジェクト:「10.0.2.251」 (AD(LDAP)サーバーのIPアドレス)
 内容:「ldap cfg dc-for-group-mapping connected to server 10.0.2.251:389, initiated by: 10.0.2.208」
 (10.0.2.208: PA Firewallのeth1/2のIPアドレス)

ここまでの設定だけでは、ADが持つグループ全部を取得します。
(この環境ではグループ数が48個存在しています。)

admin@PA-VM> show user group-mapping state all

Group Mapping(vsys1, type: active-directory): dc-for-group-mapping
Bind DN : panagent@acme.com
Base : DC=acme,DC=com
Group Filter: (None)
User Filter: (None)
Servers : configured 1 servers
10.0.2.251(389)
Last Action Time: 23 secs ago(took 0 secs)
Next Action Time: In 37 secs
Number of Groups: 48
cn=group policy creator owners,cn=users,dc=acme,dc=com
cn=cloneable domain controllers,cn=users,dc=acme,dc=com
cn=enterprise read-only domain controllers,cn=users,dc=acme,dc=com
cn=domain users,cn=users,dc=acme,dc=com
~以下、省略~

全グループを取得する意味はほぼないので、以下ではADのユーザーに新たにグループを割り当てて、そのグループだけに絞り込んで取得することにします。

そしてそのグループ名でアクセス制御が行えることを確認することにします。

Active Directoryでグループを追加

Win2019の「Administrative Tools」 → 「Active Directory Users and Computers」を開きます。

a)「acme.com」 → b)「Users」を右クリック → c)「New」 → d)「Group」をクリックします。

Group Nameに「group-A(任意)」と入力し、「OK」をクリックします。

同様に、「group-B(任意)」も設定します。

w10-001をgroup-Aのメンバーにします。

取得するグループの登録

グループマッピングで、「group-A」と「group-B」を追加します。

PA Firewallの「Device」タブ → 「ユーザーID」 → 「グループマッピング設定」タブで表示された、設定済みの「dc-for-group-mapping」をクリックします。
a)「許可リストのグループ化」 →b) 「DC=acme, DC=com」を展開します。

c) 「cn=users」を展開します。

d)「cn=group-a」を選択 → e) [+]をクリック、同様に「cn=group-b」も追加して、f)の状態にします。g)「OK」をクリックします。

セキュリティポリシーの変更(1)

「outbound」ポリシーへ、「group-B」だけ通過させる設定を行います。
「Policies」→「セキュリティ」で、設定済みの「outbound」ルールをクリックします。
a)「ユーザー」タブ → b)「追加」をクリック →c)「送信元ユーザー」で「acme\group-b」のみを追加します。

「outbound」のセキュリティポリシーの「ユーザー」列に「group-b」だけが追加された状態です。

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

通信確認(1)

ユーザー名: w10-001でログインしたTrustゾーンのPCからインターネットへアクセスします。

ユーザー名: w10-001はgroup-Aなので、すべて拒否されます。

セキュリティポリシーの変更(2)

「Policies」→「セキュリティ」で、設定済みの「outbound」ルールをクリックし、今度は「送信元ユーザー」を「group-a」に変更してコミットします。

通信確認(2)

もう一度、ユーザー名: w10-001でログインしたTrustゾーンのPCからインターネットへアクセスします。

ユーザー名: w10-001はgroup-Aなので、今度はすべて許可されます。

[参考]状態確認

PA Firewallが取得したグループマッピングの情報を確認したい場合の確認方法です。

CLIで以下のコマンドを実行して、グループマッピング状態を確認すると、48個存在していたグループは、許可リストのグループ化で設定した2つだけになっていることがわかります。

admin@PA-VM> show user group-mapping state all

Group Mapping(vsys1, type: active-directory): dc-for-group-mapping
Bind DN : panagent@acme.com
Base : DC=acme,DC=com
Group Filter: (None)
User Filter: (None)
Servers : configured 1 servers
10.0.2.251(389)
Last Action Time: 31 secs ago(took 0 secs)
Next Action Time: In 29 secs
Number of Groups: 2
cn=group-a,cn=users,dc=acme,dc=com
cn=group-b,cn=users,dc=acme,dc=com

admin@PA-VM>

CLIで以下のコマンドを実行すると、グループ内のユーザーを確認することができます。

admin@PA-VM> show user group name “cn=group-a,cn=users,dc=acme,dc=com”

short name: acme\group-a

source type: ldap
source: dc-for-group-mapping

[1 ] acme\w10-001

admin@PA-VM>

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

タイトルとURLをコピーしました