※現在、WMIを利用した本記事の設定は利用できません。 [理由] ドメインコントローラーをホストしているWindowsサーバーにCVE-2021-26414に関連するMicrosoftのセキュリティパッチをインストールすると、ドメインコントローラーのイベントログに2秒ごとに次のシステムエラーが表示されます。
サンプルメッセージ: CVE-2021-26414は、WMIの脆弱性に対するパッチであり、以前はレジストレーションキーを変更して無効にすることで、この事象を回避できていましたが、2022年第2四半期(=’22/4月以降) は無効にすることもできなくなりました。 そのため、現在の現実的な回避策としては、以下2つです。 [1] WMIではなく、WinRMに切り替える。 [2] User-IDエージェントを利用する。 詳細は、以下を参照ください。 上記[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認証サーバーなど、様々な認証基盤との連携が可能です。
コメント欄 質問や感想、追加してほしい記事のリクエストをお待ちしてます!