当記事ではPaloAltoにおけるActive DirectoryとUser-IDエージェントの設定方法について詳しく解説します。
目次
AD、UIA用Windowサーバの構築
Active Directoryとは
Active Directory(アクティブ・ディレクトリ)とは、
Windowsサーバに搭載されるディレクトリサービスのことです。
ネットワーク上の端末やサーバ、プリンター、アプリケーションなどの情報を収集し、
一元管理してくれます。
ではまず、Active Directoryを導入する前に、以下の基礎知識について知っておきましょう!
- ドメイン
ドメインは、ネットワーク上でリソース(ユーザ、コンピュータ、プリンターなど)を
集中管理するための領域のこと。
Active Directoryでは、この「ドメイン」と呼ばれるリソース同士の関係性を表す領域が作成されます。
ドメインに登録されたコンピュータは、ドメインに登録されているユーザを正しく認識し、
各サーバの持つリソースへのアクセスが可能です。
また、ドメイン全体に対して統一された「セキュリティポリシー」を設定し、適用することができます。 - ドメインコントローラー
ドメインコントローラーは、Active Directoryの管理を担当するサーバのことです。
たとえば、誰がどのPCを利用していて、どの部署に誰が所属していて、
どの部署がどの共有データにアクセスできるのか。
このようなリソース同士の関係性を「ドメインコントローラー」と呼ばれる管理用サーバを利用して、
ドメインに記述することができます。
ドメインコントローラーの最大の目的は、「認可」と「認証」を行うこと。
認可されたユーザが認証を受けて、初めてドメイン内のリソースを利用できるようになります。
※認可・・・ユーザとコンピュータをディレクトリデータベースに登録すること
※認証・・・データベースに基づいて正当な利用者であるかどうかを判定すること - ドメインツリー
ドメインツリーとは、複数の関連するドメインが階層的に組織された構造のこと。
親ドメインと子ドメインがあり、例えばexample.comという親ドメインに、
sales.example.comやengineering.example.comという子ドメインがある場合、
ドメインツリーが形成されます。
この場合、ツリー内のドメインに参加しているユーザであればほかのドメインのリソースにもアクセスできるようになるため利便性が向上します。 - フォレスト
Active Directoryの最上位の論理的な構造です。
他のドメインやドメインツリーを含め、1つ以上のドメインツリーで構成されます。
※通常は1つの組織全体を表すために使用されますが、
複数の独立した組織が共通のActive Directoryインフラストラクチャを使用する場合にも利用されます。 - シングルサインオン
シングルサインオンとは、ユーザが一度の認証で複数のシステムや
アプリケーションにアクセスできる仕組みのこと。
Windows環境で、Active Directoryを使用することで、ユーザは一度ログインすると同一の
Active Directoryに参加しているアプリケーションやリソースに
自動的にアクセスできるようになります。
これにより、ユーザの管理負担を軽減します。
Googleのアカウントでさまざまなサービスにログインできるような仕組みも、
実はシングルサインオンの一種だったりします。 - OU(Organizational Unit)
ユーザ、グループ、コンピュータ及びその他のリソースを配置できる
Active Directoryコンテナのことです。
グループポリシー設定の割当ができる最小単位でもあります。
実際には、Active Directoryサーバの下記オレンジの枠で囲われているものがOUです。
フォルダマークの中に模様が描かれているものがOUとなります。
- セキュリティグループ
セキュリティグループとは、共有リソースにアクセス許可を割り当てる仕組みのこと。
Active Directoryサーバの下記緑の枠で囲われているもののように、
種類が「セキュリティグループ」となっているものがセキュリティグループです。
これを踏まえて、Active Directoryの基本的な機能を理解しておきましょう!
- ID・パスワードの一元管理
Active Directoryでは、ドメイン内のユーザを一元管理できます。
一度ログインすると、Active Directoryに保存されている認証情報を参照して、
ネットワーク上の様々なリソースにアクセスできます(シングルサインオン)。 - ユーザのアクセス制御
Active Directoryを使用することで、管理者はユーザごとに異なるアクセス権を設定できます。
ユーザがどのファイルやフォルダ、アプリケーションにアクセスできるかと制御することができます。 - 接続機器やメディア、ソフトウェアの管理
Active Directoryは、ネットワーク内のすべてのコンピュータはサーバ、プリンターなどの接続機器を管理できます。
User-ID Agentとは
PaloAlto Networks社PAシリーズとMicrosoft社のActive Directory(※)をシームレスに連携し、アプリケーションの可視化、ポリシーの策定、ログの取得、レポートの作成を管理者が行う際に、ユーザ名を使用できるようになる機能のこと。
※ほかにもsyslogサーバなど連携できるサーバがあります。
Active Directory、User-ID Agent、PaloAltoの関係性
情報収集の仕組みとして、エージェント型とエージェントレス型の2つがあります。
エージェント型の場合はPAシリーズUser-ID Agent(以下UIA)へユーザマッピング情報を問い合わせ、
UIAがActive Directory(以下AD)にユーザ情報を問い合わせています。
(エージェントレス型の場合は、ADに直接問い合わせている)
では、実際に構築してみましょう。
想定ネットワーク構成はこちらです。
<バージョン情報>
PAN-OS:11.1.4-h1
AD・UIAサーバ:Microsoft Windows Server 2016 (64 ビット)
User ID Agent:UaInstall-11.0.1-104.msi
AD、UIA用Windowサーバの構築
※あらかじめIPアドレスの設定や、必要に応じてWindows Defenderファイアウォールの無効化をしてください。
ADサーバの構築
- Active Directoryドメインサービス インストール
①Windows Server起動後、サーバマネージャが立ち上がったら「役割と機能の追加」をクリック
③「役割ベースまたは機能ベースのインストール」を選択し、「次へ」をクリック
④「Active Directoryドメインサービス」と「DNSサーバ」にチェックを付けて「次へ」をクリック
- ドメインコントローラーの昇格
インストール完了後、ウィンドウが出てくるので、
「このサーバをドメインコントローラーに昇格する」をクリック
これで、Active Directoryドメインサービスの管理をこのサーバで行えるようになります。
- フォレストの作成
①「Active Directoryドメインサービス構成ウィザード」が表示されるので、
「新しいフォレストを追加する」を選択し、ルートドメイン名を入力
インストールのボタンがクリックできるまで「次へ」を押下し、インストール
- ユーザとグループの作成
①インストールが完了したら、ツールタブの「Active Directoryユーザとコンピュータ」をクリック
ADサーバに登録するユーザとグループを追加
今回は4人のユーザと2つのグループを作成し、それぞれに2人ずつ所属させる
GroupA:User1,User2
GroupB:User3,User4
②ドメイン名(今回の場合はexample.vertification.com)のUserフォルダを右クリックし、
ユーザを新規作成
(User1,User2,User3,Uer4を作成)
④ユーザと同様にグループを新規作成
(GroupAとGroupBを作成)
- ユーザのグループ所属設定
①先ほど作成したユーザを選択し右クリック、「グループに追加」をクリック(※)
②オブジェクト名に所属させたいグループ名を入力し、「名前の確認」
③「OK」をクリックし、完了
(GroupBにも同様にUser3,4を所属させます)
※その他にも、グループからユーザを追加する方法もあります。
●UIA用管理者ユーザの作成
UIAサーバの管理者ユーザ(今回は「panagent2」)を作成
①ユーザログオン名を入力し、「次へ」をクリック
②パスワードを設定
パスワードを無期限に設定すると、注意書きのタブが出てくるため「OK」をクリック
- セキュリティグループの追加
②UIAがADのログからユーザ情報を取得するために、以下の権限(セキュリティグループ)を付与
・Event log Readers
UIAサーバのユーザをこのグループに所属させることで、ADサーバのイベントログを監視してユーザ情報を
取得することができる
・Server Operators(※)
UIAサーバの運用管理をする権限を持っている
・Domain Admins(※)
最も高い管理者権限を持つグループであり、ADドメイン全体の管理権限を持っている
※User ID Agent (UIA) の設定において、UIA用のアカウントにDomain Adminsという権限を与えることはセキュリティの観点から推奨されません。
ただし、今回は検証目的のため、Domain Admins権限を追加しています。
なお、今回の検証環境のようにWindowsサーバにUIAをインストールする場合には
Server Operators権限も必要ないようですが、今回の検証では試せていません。
③アカウントの権限にDomain Admins権限を追加しているため、
プライマリグループ(※)をDomain Adminsに変更し、「適用」をクリック
※デフォルトでは「Domain Users」が設定されています。
プライマリグループとは、OSがユーザによって作成されたファイルに割り当てるグループのこと。
複数のグループに所属していた際に、所属を固定したいグループを設定します。
所属するグループが一つしかない場合は、そのグループがプライマリとなります。
UIAサーバの構築
- UIAのダウンロード
UIAはPaloAlto Networks社のカスタマーサポートポータルサイトからダウンロードできます。
ダウンロード方法につきましては、以下のURLをご参照ください。
https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PN1PCAW
当記事では、「UaInstall-11.0.1-104.msi」を使用しています。
※PaloAltoのバージョンと異なっていると連携できないため、バージョンは合わせてください。 - UIAのインストール
①任意の場所にダウンロードしたインストーラをダブルクリックし、インストール
- UIA用ユーザの設定
インストールしたUIAを起動します。
②UIA用ユーザのドメイン名とパスワードを入力
Authenticationタブで、UIA用ユーザとパスワードを設定
③cacheタブでユーザ情報のキャッシュ時間を600分(10時間)に指定
マッピングは、ユーザのログインイベントに依存し、
設定しているキャッシュタイムアウト時間を超過すると、
ユーザがログインしていたとしてもマッピングが削除されてしまうため、
1日の中でIPアドレスの変動があまりない環境においては、
キャッシュタイムアウトを長く設定することが推奨されています。
(デフォルトでは45分に設定されている)
- ADサーバの登録
②任意に名前とADサーバのIPアドレスを入力し、
Server Typeに「Microsoft Active Directory」を選択後、「OK」をクリック
- UIAサーバのドメイン参加設定
①コントロールパネルを開き、「システムとセキュリティ」→「システム」で設定画面を開き、
「システムの詳細設定」をクリック
「コンピュータ名」タブの「変更」ボタンをクリックし、ドメインを変更します。
②ADサーバのドメインを入力し、「OK」をクリック
- サービスのログオン設定
Windowsサービスのログオンとは、常時マシン上でサービスを起動することを許可する権利のこと。
デフォルトと異なるユーザ(今回だとpanagent2)でサービスを起動したい場合、そのユーザに対して
サービスとしてログオンの権限を付与する必要があります。
必要なユーザにサービスログオンが付与されていない場合、
Operations Managerイベントログにエラーイベントが記録されます。
④UIAに戻り、「User Identification」タブの「Start」ボタンを押下し、UIAを起動します。
Connected Serversに設定したADサーバが表示されます。
また、PaloAltoのUIA連携設定が完了すると、
Connected Devicesには接続されているPaloAltoが表示されます。
AD、UIAサーバの構築と設定は完了です。
PaloAltoにおける連携設定
AD連携
- LDAPサーバプロファイルの作成
ここでADサーバとの接続設定をします。
<サーバリスト>
名前:一意に設定
LDAPサーバ:ADサーバのIPアドレス
ポート:デフォルト
<サーバ設定>
タイプ:active-directory
ベースDN:LDAPサーバと接続後、プルダウンに表示されたものを設定
バインドDN:ADサーバのユーザ名
パスワード:ユーザのパスワード
- グループマッピングプロファイルの作成
Active Directoryからユーザとグループのマッピング情報を取得します。
「DEVICE>ユーザID>グループマッピング」より、プロファイルを新規作成してください。
サーバプロファイル:作成したLDAPプロファイルを選択
ユーザードメイン:ドメインを入力
AD連携し、グループマッピング情報が取得できているかどうかの確認は
「DEVICE>ユーザID>グループマッピング」の「許可リストのグループ名」タブで確認できます。
青枠のように、取得できていることを確認してください。
また、ADサーバで作成したグループを「含まれたグループ」へ追加します。
UIA連携
- サービスルートの設定
AD連携と同様に、UIAサーバが設置されているインターフェイスに変更します。
- ユーザIDの有効化
「NETWORK」➝「ゾーン」にて、Trustのゾーン設定でユーザIDを有効化します。
- データ再配信エージェントの作成
「DEVICE」➝「データ再配信エージェント」にて、UIAサーバとの接続設定をします。
「エージェント」タブでプロファイルを新規作成して下さい。
名前:一意に設定
ホスト:UIAサーバのIPアドレス
ポート:UIAサーバで設定したポート番号
データタイプ:取得したいデータタイプを選択
以上設定が完了したらコミットします。
○<備考>セキュリティポリシーの作成
ログインする端末のゾーンと、サーバが設置されているゾーンが異なる場合は、
ゾーン間の通信を許可するためにポリシーを作成してください。
(今回は同じゾーンのため、設定していません)
トラフィックログを確認してみる
今回はユーザがログインした端末から「8.8.8.8」へpingを飛ばし、
PaloAltoのトラフィックログにてユーザ名が取得できているか確認します。
MONITORの「トラフィックログ」タブから該当するログを抽出します。
ログの一番左の虫眼鏡マークをクリックし、詳細ログを確認します。
このように、送信元ユーザ名が取得できていることがわかります。
ユーザベース・グループベースのポリシー制御
今回は、グループベースとユーザベースでポリシーを設定し、想定の挙動をするのか検証します。
ポリシーの設定は以下の通りです。
PCからインターネットへの通信を許可するポリシーの送信元ユーザにGroupA(User1、User2)とUser3を
設定することで、特定のグループ・ユーザの通信を制御することができます。
グループはAD連携ができていればプルダウンで表示されます。
ユーザが手入力で設定する必要があります。
(本画像はすでに設定しているため、プルダウンに表示されている)
【トラフィックログ】
User1:グループベースへのポリシーが設定されているため、インターネットへの通信が可能
【トラフィックログ】
User3:ユーザベースでポリシーに設定されているため、インターネットへのアクセス可能
【トラフィックログ】
User4:ポリシーで制御されているため、インターネットへの通信が不可能
アクションはすべて「deny」となっている
タイプ「drop」受信済みバイト・パケットが0
まとめ
Active DirectoryとUser-ID Agentの連携はPaloAltoのセキュリティ強化や
管理者の負担を軽減するために有用です。
組織全体のネットワーククオリティを向上させるために、これらの連携設定をしっかりと理解し、
適切に運用しましょう!
最後までお読みいただきありがとうございました。
参考文献
https://learn.microsoft.com/ja-jp/windows-server/identity/ad-ds/manage/understand-security-groups
https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-admin/user-id/map-ip-addresses-to-users/configure-user-mapping-using-the-windows-user-id-agent/configure-the-windows-based-user-id-agent-for-user-mapping
https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-admin/user-id/map-ip-addresses-to-users/configure-user-mapping-using-the-pan-os-integrated-user-id-agent
https://docs.paloaltonetworks.com/compatibility-matrix/user-id-agent
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。