エージェントレス型User-ID (※工事中※)

現在、WMIを利用した本記事の設定は利用できません。

[理由] ドメインコントローラーをホストしているWindowsサーバーにCVE-2021-26414に関連するMicrosoftのセキュリティパッチをインストールすると、ドメインコントローラーのイベントログに2秒ごとに次のシステムエラーが表示されます。

サンプルメッセージ:
The server-side authentication level policy does not allow the user ACME\panagent SID (S-1-5-21-2418929986-1908130958-3701722939-1114) from address 10.0.2.208 to activate DCOM server. Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application.

CVE-2021-26414は、WMIの脆弱性に対するパッチであり、以前はレジストレーションキーを変更して無効にすることで、この事象を回避できていましたが、2022年第2四半期(=’22/4月以降) は無効にすることもできなくなりました。

そのため、現在の現実的な回避策としては、以下2つです。

[1] WMIではなく、WinRMに切り替える。

[2] User-IDエージェントを利用する。

詳細は、以下を参照ください。

Installing Microsoft’s June 8th 2021 security patches related to CVE-2021-26414 is generating errors on Domain Controllers.

上記[1]は、検証でき次第、更新します。

上記[2]は、こちらを参照ください。

以下の記事は、参考までに残しておきます。

User-IDを使うことで、ログやACCやレポートを、IPアドレスではなく、ユーザー名で可視化できるようになります。

Firewallログには送信元IPアドレスが記録されるので、そのIPアドレスを持つユーザーが誰なのかが他のシステム (例えばDHCPサーバーやProxy) で判別できるのならば、そのログと突き合わせることで、ユーザーを特定することはできます。しかし、この作業は手間がかかります。

最初からFirewallのログにユーザー名が表示されていれば、そのひと手間は省けますよね。それがUser-IDの持つメリットです。

加えて、ポリシーの送信元もIPアドレスやサブネットではなく、ユーザー名やユーザーグループで制御できるようになります。
(ユーザーグループで制御するには、別途グループマッピングの設定も必要です。)

User-IDは様々な認証基盤との連携が可能ですが、ここでは、Active Directory(以降、AD)と連携して、ログにユーザー名を表示させる設定を行います。

ADのログには、「どのユーザーにどのIPアドレスが割り当てられているか」の情報が存在しており、PA Firewallはその情報を取得して内部でデータベース化します。

PA Firewallにパケットが到達した時点で、パケットの送信元IPアドレスをチェックし、User-IDデータベースと照合して、そのIPアドレスと紐付いたユーザー名をログに表示します。

ここでは、最も簡易的な方法である、WMIを使った「エージェントレスUser-ID」という方式の設定を行います。

[WMI (Windows Management Instrumentation) ]:Windowsを管理するためのAPIこと。

エージェントレスUser-IDの設定

ADの設定

ADは、Windows Server 2019 の機能を利用します。

PA FirewallがADのログを取得できるようにするための、AD側の設定例を示します。

このADに事前に設定されているドメインは「acme.com」です。

ADのログを取得できる権限を持つユーザーをADに追加します。

「Server Manager」→「Tools」 → 「Active Directory Users and Computers」を開きます。

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

「panagent@acme.com」というユーザーを生成します。

a)パスワードを入力し、b)「User must change password ad next login/ユーザーは次回ログイン時にパスワードの変更が必要」のチェックを外します。c)「Next」をクリックします。

「Finish」をクリックして閉じます。

 

生成した「pan agent」をダブルクリックして開き、a)「member of」タブをクリックします。
b)「Add」をクリックして、c)3つのグループ:「Distributed COM Users」、「Event Log Readers」、「Server Operators」を付与します。d)「OK」をクリックします。

Windows PowerShellを開き、「wmimgmt.msc」と入力してEnterキーを押します。

a)「WMI Control」を右クリックしてb)Propertiesを選択します。

a)「Security」タブのb)「CIMV2」を選択して、c)「Security」をクリックします。

a)「Add」をクリックして、b)「pan agent」を追加します。
「panagent」のPermissionsで以下のようにc) 「Enable Account」、「Remote Enable」にチェックが入った状態にして、d)「OK」をクリックします。

PA Firewallの設定

a)「Network」 → b)「ゾーン」で表示されたc)「Trust」をクリックします。

a)「ユーザーIDの有効化」にチェックを入れ、b)「OK」をクリックします。

a)「Device」 → b)「ユーザーID」 → c)「ユーザーマッピング」の、「Palo Alto Networks User-IDエージェントの設定」の d)をクリックします。

a)「サーバーモニタエージェント」で、b)にADへ登録したユーザー名(ACME/panagent)、c)ドメインのDNS名、d)にユーザーのパスワードを入力し、e)「OK」をクリックします。

a)「Device」 → b)「ユーザーID」 → c)「ユーザーマッピング」の、「サーバーモニタリング」のd)「追加」をクリックします。

a)名前に「AD(任意)」、b)タイプは「Microsoft Active Directory」が選択されていることを確認し、c)の転送プロトコルはWMI、d)ネットワークアドレスには、ADのアドレス「10.0.2.251」を入力します。
e)「OK」をクリックします。

ネットワーク構成上、ADサーバーはPA FirewallのEthernet1/2側に設置されているので、サービスルートの設定が必要です。
(デフォルトでは、マネージメントポートからADサーバーへのアクセスを行うようになっています。)

a)「Device」→b)「セットアップ」→c)「サービス」→d)「サービスルートの設定」をクリックします。

a)「カスタマウイズ」を選択し、b)「Kerberos」をEthernet1/2に変更します。

さらにc)「UIDエージェント」もEthernet1/2に変更し、d)「OK」をクリックします。

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

コミット後、状態が「Connected」になればOKです。

動作確認

Acme.comドメインに属しているクライアントPCにログインします。

ここでは、ユーザー名: 「acme\ws2016」でログインします。

クライアントPCのWebブラウザで、インターネット上のいくつかのWebサイトへアクセスします。

a)「Monitor」 → b)「トラフィック」でログを確認します。

送信元ユーザーのフィールドに「ドメイン\ユーザー名」が表示されます。

User-ID連携が動作しない場合

設定の見直しに加えて、以下の2点を確認してください。

ADとPA Firewallの時刻を確認してください。

ADとPA Firewallでの時刻ずれは、5分以内に収まっている必要があります。

どちらもNTPで同期ができていることが望ましいです。

Windows Firewallを確認してください。

Windows Firewallによってブロックされている可能性があります。

「Server Manager」→「Local Server」で表示されます。

切り分け作業として、一時的にOFFにして、確認してみてください。

 

User-ID連携は、AD以外にもLDAPやWi-Fi認証サーバーなど、様々な認証基盤との連携が可能です。

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

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