セキュリティ分析におけるDHCP Syslogの利用
NetFlow Analyzerのセキュリティ分析では、デバイスごとの異常検知を効果的に行うために、DHCP Syslogを使用して正確なIPアドレスとホスト名のマッピングを実現します。
セキュリティ分析でDHCP Syslogが推奨される理由
手動マッピングは静的であり、固定IPデバイスに限定されます。 また、Active Directoryは定期的に更新されますが、リアルタイムの変更を反映していない可能性があります。 一方で、DHCP Syslogであればリアルタイムで正確なマッピングを実現できるため、アセット毎の異常検知が可能になります。
DHCP Syslogを使用して、以下の動的なマッピングを実現します。
IPアドレス ↔ MACアドレス ↔ ホスト名
IPアドレスはDHCPサーバーからの割り当てによって頻繁に変更され、時間経過とともにアセットに異なるIPアドレスが付与される可能性があります。 ホスト名によるマッピングであれば一貫しているため、IPアドレスが変更されても該当のソースを特定するのに役立ちます。 したがって、セキュリティ分析はIPベースではなく、アセットベースで行われます。
IPマッピングの優先順位
IPアドレスからホスト名を名前解決するため、セキュリティ分析では以下の優先順位が使用されます:
-
手動マッピング
- 静的IPアドレスを持つデバイスに使用されます。
- このマッピングにIPアドレスが存在する場合、常に優先されます。
-
DHCP Syslog(セキュリティ分析に必須)
- 正確性とリアルタイム更新のため、動的マッピングが推奨されます。
-
Active Directory
- Active DirectoryサーバーからIPアドレスとユーザー名のマッピングを直接取得し、ネットワークアクティビティを特定のユーザーと関連付けるのに役立ちます。
-
DHCPサーバーログ
- DHCPサーバーログを解析し、リースレコードに基づいてIPアドレスとホスト名をマッピングします。
DHCP Syslogプロファイルの作成方法
- [設定] → [フロー解析] → [IPマッピング] → [DHCP Syslog]の順にクリックします。
-
[追加]をクリックし、以下を入力します。
- プロファイル名:このプロファイル名を入力します
- サーバーの種類:ドロップダウンからDHCPサーバーの種類(例:Windows、Ciscoなど)を選択します
- サーバーの種類は、お使いのDHCPサーバーのベンダーやプラットフォーム(例:Windows Server DHCP、Cisco、Linux ISC DHCPなど)と一致させる必要があります。
- NetFlow Analyzerはこの情報を使用して、受信するSyslogの形式を正しく解析します。
-
不明な場合:
- DHCPサーバーのOSまたは製品タイプを確認してください。
- DHCPサーバーのドキュメントを参照してください。
- または、汎用オプション(利用可能な場合)から始めて、解析の成功率に基づいて調整してください。
- ポート番号:DHCPサーバーがSyslogをエクスポートしているポートを入力します。
- ポート番号は、DHCPサーバーがSyslogをエクスポートするために使用しているポートと一致させる必要があります。
- ほとんどのDHCPサーバーでは、Syslogエクスポート用のカスタムポートを設定できます。一般的に使用されるポートには514(デフォルト)などがあります。
-
選択したポートが以下の条件を満たしていることを確認してください。
- 他のサービスで既に使用されていないこと。
- DHCPサーバーとNetFlow Analyzerの間で開いており、アクセス可能であること。
- NetFlow Analyzerでは、[IPマッピング]→[DHCP Syslog設定]でDHCP Syslogプロファイルを作成する際に、この同じポート番号を入力します。
- [保存]をクリックすると、DHCP Syslogプロファイルが追加されます。
サーバーの種類の選び方
正しいサーバーの種類を選択することで、SyslogメッセージからIPアドレス、MACアドレス、ホスト名の詳細を正確に抽出できます。
ポート番号の選び方
追加されたDHCP Syslogプロファイルの各項目の詳細は以下の通りです。
- プロファイル名: DHCP Syslogプロファイルに付けられたプロファイル名
- サーバーの種類: DHCPサーバーのベンダーまたは種類
- ポート番号: Syslogの受信/エクスポートに使用されるポート
-
ステータス:
- システムログ受信中:DHCP SyslogメッセージはNetFlow Analyzerによって正常に受信されています。
- システムログを受信していません:プロファイルは作成されていますが、まだDHCP Syslogメッセージは受信されていません。
-
システムログ停止:DHCP Syslogの収集は、以下のいずれかの理由で停止しました。
a. Syslogではなくフローが送信された
b. 設定したポートが変更された
c. ポートが他のサービスによって占有されている
d. Syslogを処理するバックグラウンドスレッドが停止した
e. その他の内部的な問題 - ログ解析開始:DHCP Syslogメッセージを受信し、解析が開始されました。
- ログ解析成功:受信したSyslogメッセージはエラーなく解析され、IPアドレスとホスト名のマッピングが正常に抽出されました。
- ログ解析失敗:Syslogメッセージは受信しましたが、形式が正しくない、メッセージ構造にエラーがある、またはサポートされていないログコンテンツのため、解析に失敗しました。
NetFlow Analyzerで設定したポートと同じポートを、DHCP Syslogのエクスポート時に使用する必要があります。
サーバーの種類に応じたSyslog転送の設定方法
以下は、お使いのDHCPサーバーの種類に応じてSyslog転送を設定する手順です。
サポートされているDHCPサーバーの種類は以下の通りです。
- Linux
- Windows
- Palo Alto
- ISC
- Kea
- Cisco Prime
Linux DHCPサーバーからDHCPログを転送
- DHCPデーモン(dhcpd)は、syslogファシリティを使用してログを生成します。
- ログはローカルサーバー上のrsyslogに渡されます。
- rsyslogは、選択されたログをUDP経由でリモートのログサーバーに転送します。
(この設定では、DHCPログにlocal7 syslogファシリティを使用します。)
ステップ1:DHCPがlocal7ファシリティを使用するように設定する
- DHCP設定ファイルを編集
/etc/dhcp/dhcpd.conf - 以下の行を追加または更新
log-facility local7;
- log-facility local7は、DHCP関連のすべてのログをlocal7 syslogファシリティに送信するようdhcpdに指示します。
- これにより、DHCPログを他のシステムログから簡単に分離できます。
ステップ2:DHCPログを転送するようにrsyslogを設定する
- rsyslog設定ファイルを編集
/etc/rsyslog.conf
(または/etc/rsyslog.d/以下に専用ファイルを作成します。例:dhcp-forward.conf) - 以下のエントリーを追加
local7.* @10.XX.XX.XX:1540
- local7.* は、local7ファシリティからのすべてのログレベルをキャプチャします。
- 「@」はUDPトランスポートを示します(@@はTCPを示します)、
- 10.XX.XX.XX:1540は、リモートログサーバーのIPとUDPポートです。
ステップ3:DHCPログをローカルに保存する(任意)(推奨)
- DHCPログのローカルコピーを保持するには、以下を追加
local7.* /var/log/dhcpd.log - 次に、ログファイルを作成し、権限を設定
touch /var/log/dhcpd.log
chmod 644 /var/log/dhcpd.log
ステップ4:サービスの再起動
- 変更を有効にするために、必要なサービスを再起動
systemctl restart rsyslog
systemctl restart dhcpd
ステップ5:ログ転送の確認 ローカルDHCPログの確認
- ローカルのDHCPログを確認
tail -f /var/log/dhcpd.log - rsyslogステータスの確認
systemctl status rsyslog - セントラルログサーバーでの確認
- UDPポート1540でログが受信されていることを確認します。
- ファイアウォールルールがこのポートでのUDPトラフィックを許可していることを確認します。
- ファイアウォールに関する考慮事項
DHCPサーバーからのアウトバウンドUDPトラフィックが許可されていることを確認します:
UDP 1540 → 10.XX.X.XX - ファイアウォールが有効な場合
firewall-cmd --add-port=1540/udp --permanent
firewall-cmd --reload
Windows DHCPサーバーからDHCPログを転送
Windows DHCPサーバーは、Syslogプロトコルを使用したログ送信をネイティブではサポートしていません。
DHCPログを転送するには、サードパーティのSyslog転送エージェントを使用する必要があります。
インストールと設定が完了すると、DHCPログはUDP経由でNetFlow Analyzerに転送され、IPとホスト名の相関付けやセキュリティ分析に利用できます。
詳細な設定手順やサードパーティ製NXLogの設定例については、以下をご確認ください(英文/外部リンク)。 https://docs.nxlog.co/integrate/windows-dhcp-server.html
Palo Alto DHCPサーバーからDHCPログを転送
Palo AltoファイアウォールをDHCPサーバーとして設定している場合、DHCPサーバーログを転送するには、デバイスでSyslog転送を有効にして設定する必要があります。有効にすると、ファイアウォールはこれらのログをUDP経由でNetFlow Analyzerに送信し、さらなる分析と監視が可能になります。
システムログをSyslogサーバーに転送するためのステップバイステップの手順については、以下をご確認ください(英文/外部リンク)。 https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClM9CAK
ISC DHCPサーバーからDHCPログを転送
ISC DHCP(dhcpd)サーバーからUDP経由でDHCPログを転送するには、ローカルのSyslogサービスからDHCPサーバーのメッセージをキャプチャし、Syslogサーバーに送信するようにログ収集エージェントを設定します。
詳細な設定例とnxlog.confセグメントのサンプルについては、公式のNXLogガイドを参照してください(英文/外部リンク)。 https://docs.nxlog.co/integrate/dhcpd.html
ISC Kea DHCPサーバーからDHCPログを転送
ISC Kea DHCPサーバーからUDP経由でDHCPログを転送するには、まずKeaの組み込みロギング設定を構成して、DHCPイベントをシステムログまたはログファイルのいずれかに書き込む必要があります。
Kea内でのロギング設定に関する詳細な手順については、以下を参照してください(英文/外部リンク)。 https://kb.isc.org/docs/kea-logging-configuration
Cisco Prime DHCPサーバーからDHCPログを転送
Cisco Prime Network Registrar(CPNR)のDHCPサーバーコンポーネントは、IPアドレスの割り当て、更新、解放、リース期限切れなどのDHCP操作のログを生成します。
これらのログをUDP経由でセントラルのSyslogサーバーに転送するには、以下を設定する必要があります:
- CPNR内でのDHCPロギング
- リモートSyslog転送設定
詳細なステップバイステップの設定手順については、公式のCiscoドキュメントを参照してください(英文/外部リンク): https://www.cisco.com/c/en/us/td/docs/net_mgmt/prime/network_registrar/11-2/dhcp/guide/DHCP_Guide/DHCP_Guide_chapter_01.html#con_1140089
- セキュリティ分析が有効な場合、DHCP Syslogマッピングは必須であり、無効にすることはできません。
- また、[基本設定]→[IP解決]でもDHCP Syslogをオフにすることはできません。
- DHCP Syslogプロファイルが正しく設定され、プロファイルで指定されたポートと同じポートにログがエクスポートされていることを確認してください。