DHCP環境で端末のMACアドレスの可視化と制御を行うための手法(syslog Listenerを利用したUser-ID機能)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
L3 Networker
評価なし

 セキュリティ的な視点では各種セキュリティログやトラフィックログの送信元はIPアドレスが基本です。しかし、WiFiなど含めDHCPが普及しているため、長期間に渡る「特定の端末」としてログの調査は困難です。また、感染している可能性のある端末をネットワークに接続されても気づく事も困難です。

 ここではDHCP環境でもクライアントのMACアドレスをキーにトラフィックの可視化やログ分析ができる仕組みをご紹介します。技術的なポイントはDHCPサーバーのIPアドレスの払い出しをトリガーにしてPAN-OSのユーザIDと連携させることです。

まず、PAN-OSには以下のような機能があります。

  1. User-ID機能:送信元IPアドレスに対して、ユーザIDを紐づけることで、各種ログがユーザIDで可視化や検索、アクセス制御などが可能です。
  2. Syslog連携:外部システムからのSyslogメッセージに含まれるユーザID情報とIPアドレス情報を動的にマッピングし、その情報を基に各種ログにユーザIDを埋め込んだり、アクセス制御が可能です。今回はDHCPサーバーから払い出したIPアドレスとクライアントのMACアドレスを含むSyslogを送出できるDHCPサーバーが必要になります。(※Linuxベースであればdhcpdとrsyslogを利用することでSyslog送出可能です)
  3. (Option) PAN-OSではDHCPサーバー機能があり、また、DHCPでIPアドレスを払い出したタイミングで、クライアントのMACアドレスと払い出したIPアドレスを含むSyslogを送出することも可能です。

これらの機能を利用することで、DHCP環境においても簡単にMACアドレスによる各種ログの可視化や制御が可能になります。もうお分かりになられたかもしれませんが、今回はUser-IDの機能を利用しますが、ユーザIDにMACアドレスを利用します。そうすることで例えばトラフィックログに下記のように「送信元ユーザ」のフィールドにクライアントのMACアドレス情報が表示されるようになります。

 

pan-traffic-log-userid.png

 

 

ここでご紹介している仕組みの具体的な動作は下記のようになります。DHCP-userid-1.png

①クライアントがDHCP要求

②DHCPサーバーからIPアドレスが払い出される

③DHCPサーバーからSyslogがPAシリーズに送信される

④IPアドレスとユーザID(今回はMACアドレス)のマッピングエントリが生成される

⑤クライアントからの通信発生

⑥PAシリーズはトラフィックの送信元IPに該当するユーザIDのマッピングを参照(この動作をするためには送信元ゾーンにてUser-ID機能を有効化させておく必要があります)

⑦送信元IPアドレスに該当するユーザIDのマッピングエントリからユーザIDを確認し、FWルールを評価。(該当するマッピングエントリがない場合には送信元ユーザを"unknown"としてポリシー設定可能)

⑧該当する許可ルールがあれば、セッション確立

⑨セッションログの「送信元ユーザ」にユーザID(=MACアドレス)を書き込む

 

syslog連携などで生成されたユーザIDのマッピングテーブルはタイマー制御が可能ですので、指定した時間が経過すればエントリは自動的に削除されます。一般的にDHCPのリース時間よりも長くしておけば、端末が接続されていれば再リース時にマッピングテーブルのエントリタイマーもリフレッシュされますので、問題にはなりません。また、万が一他の端末がDHCPで同じIPアドレスを取得してしまった場合、マッピングエントリがあっても上書きされます。この方式の最大の懸念点は、悪意を持って、他の端末でDHCPで取得したIPアドレスを悪用して通信した場合、ログ的にはDHCPでIPアドレスを取得したユーザID(=MACアドレス)の通信としてログに記録されることです。それを防ぐためには、WiFiやLANスイッチなどで、DHCPで取得されたIPアドレス以外の端末からの通信を遮断する機能などを併用する必要があります。

 

では、この仕組みを利用するための、User-IDにマッピングさせる設定方法について説明します。

まず、必須ではないですが、PAのDHCPサーバー機能を利用する場合の設定です。pan-dhcp-setting.png

 

その後、PA自身の管理IPアドレスをSyslogサーバーとして登録します。
pan-syslog-setting.png

 

DHCPにてIPアドレスの払い出し時にシステムログをSyslog送出するように設定します。pan-log-setting.png

 

Syslogの送出をデータ用のインターフェースに設定します。(デフォルト設定では、Syslog送出とSyslog Listenerの両方が管理インターフェースとなっており、PA自身にSyslog送出ができないため、Syslog送出を別インターフェースに変更が必要です)
pan-serviceroute-setting.png
※DHCPサーバーがLinuxでdhcpdを利用している場合には、dhcpd.confとrsyslog.confに、以下のような設定を追加することで、IPアドレスの払い出し時にsyslog送出可能です。(例ではfacilityとしてlocal7を使用しています。192.168.55.10がSyslog送出先のIPアドレスです)

 

  • dhcpd.confに下記を追加
     log-facility local7;
  • rsyslog.confに下記を追加
     local7.* @192.168.55.10:514

 
以下が、Syslogメッセージを受信してユーザIDにマッピングするための設定となります。

1. User-IDのユーザマッピングの設定

 Syslog解析プロファイルを設定。設定箇所が少し見つけづらいですが、「ユーザマッピング」タブの「Palo Alto Networks User-IDエージェントの設定」の歯車マークをクリックすると「Syslogのフィルター」タブが表示されます。PAN-OSのDHCPのデフォルトのSyslogメッセージは以下になります。

2020/03/31 22:20:14,015351000030002,SYSTEM,dhcp,0,2020/03/31 22:20:14,,lease-start,,0,0,general,informational,"DHCP lease started ip 192.168.45.110 --> mac 00:0c:29:13:55:3b - hostname Windows10, interface ethernet1/2",33719,0x0,0,0,0,0,,PA-VM-1

このSyslogメッセージから、以下のようなSyslog解析プロファイルを設定することで動作します。
 イベントの正規表現:lease-start
 ユーザ名の正規表現:mac ([0-9a-z:]+)
 アドレスの正規表現:ip ([0-9.]+) -->
別のDHCPサーバーを利用する場合には、そのサーバーのSyslogメッセージ用の正規表現を設定してください。

pan-syslog-filter-setting.png

 

 2.サーバーモニタリングの設定

 サーバーモニタリングに、Syslogを送出してくるサーバーを指定します。この説明ではPA自身がSyslog送出しますので、PAのSyslog送出するインターフェースのIPアドレスを指定し、先ほど登録したSyslog解析プロファイルを指定します。

pan-server-monitoring-setting.png

 

3. User-ID機能の有効化

 最後に、User-ID機能を利用するゾーンにて、User-ID機能を有効化する設定を行います。これを忘れると、ログの送信元ユーザにユーザIDが表示されず、あれ?となるケースがありますので、忘れずに設定してください。

pan-zone-userid-enable.png

 

以上で、設定は終わりです。トラフィックログなどの「送信元ユーザ」にMACアドレスが表示されればユーザIDのマッピング設定は成功です。その後、送信元ユーザにMACアドレスを指定したセキュリティルールを設定することでアクセス制御が可能となります。

 今回ご紹介させていただいた制御方法により、従来「MACアドレス認証」や「MACアドレスフィルター」という技術は、クライアントが接続されているL2スイッチなどで使う技術で、通信を許可するか禁止するというのが主流でした。しかし、今回ご紹介したユーザIDにMACアドレスをマッピングする方法で、インターネットGWなどパロアルトネットワークスの次世代ファイアウォールを通過する箇所でポリシーベースでアクセス制御が可能となります。BYODや持ち込み端末を許容し、DHCP環境を利用しているネットワーク環境ではセキュリティ対策やユーザのネットワーク利用把握には有効な手法になります。一度試してみてはいかがでしょうか?
 さらに、MACアドレスベースでアクセス制御する場合、MACアドレス情報がLDAPサーバーでグループ属性があれば、LDAPサーバーとのグループマッピングを利用することで、グループベースでのアクセス制御も可能です。

この記事を評価:
  • 7568 閲覧回数
  • 0 コメント
  • 1 賞賛
Register or Sign-in
記事ダッシュボード
バージョン履歴
最終更新日:
‎03-31-2020 09:09 PM
更新者: