ElasticsearchでDNSおよびDHCPサーバーからLOGを収集し、Grafanaで視覚化する

私は短いタイトルに対してなんて独創的ではないのでしょう… まぁ, 独自のDNSサーバーまたはDHCPサーバーをお持ちの場合, これはあなたの投稿😉です 私たちは実際にログを通じてそれを取得するつもりはありません, これは、トラフィックを😉監査することによって行われますDNSサービスによって生成されたリクエストを監査します, または DHCP を使用して Grafana で表示します!

DNSまたはDHCPサーバーが受信したリクエストを知りたい場合、Grafanaでそれらを視覚化してクエリを作成したり、ローテーションダッシュボードに配置したりできるようにするためです… 同じサービスが正しく機能しているかどうかを知るのに役立つ場合, また、DNSの場合には宛先が要求することを知る必要があります, 誰がそれらを実行するか… DHCPの場合、請願書… もちろん、他の種類のトラフィックを分析することもできます, HTTPの, MySQLの, PostgreSQLの… したがって、行われたクエリを知っています…

どうやって組み立てるのか? 私たちはすでに機能的なELKとGrafanaを持っていると仮定します, Packetbeat を使用して、特定のマシンのトラフィックを分析します, 次に、それをElasticsearchに送信し、Grafanaデータソースを使用して必要なクエリを作成できるようになります.

Windowsの場合, マシンにインストールする必要があります NPCAPの 先に, 「WinPcap API互換モードでNpcapをインストールする」にチェックを入れるだけです. の取り付けを続行して終了します パケットビート.

packetbeatをダウンロードして解凍したら, セットアップします, いつも通り, 「packetbeat.yml」設定ファイル.

...
setup.template.settings:
  index.number_of_shards: 1
setup.template.name: "パケットビート"
setup.template.patternの: "パケットビート-*"
setup.ilm.enabled (英語): 偽
...
setup.kibana さん:
  ホスト: "httpsの://DIRECCION_IP_KIBANA:5601"
  ssl.verification_mode: 何一つ
...
output.elasticsearchと入力します。:
  # 接続するホストの配列.
  ホスト: ["httpsの://DIRECCION_IP_ELASTIC:9200"]
  ssl.verification_mode: なし ユーザー名: "XXXXXXXX"
  パスワード: "XXXXXXXX*"
  インデックス: "パケットビート-%{+yyyy です。MM.ddの}"
...

そして, En el mismo fichero de configuración necesitaremos indicar qué registros nos interesan auditar:

...
# =========================== トランザクションプロトコル ============================ packetbeat.protocols:
- 種類: ICMPの
  # ICMPv4 および ICMPv6 モニタリングの有効化. デフォルトは true です.
  有効: 偽

- 種類: AMQPの
  # AMQP トラフィックをリッスンするポートを構成する. 無効にできます
  # AMQP プロトコルは、ポートの一覧をコメント アウトします.
  ポート: [5672]
  有効: 偽

- 種類: カサンドラ
  # Cassandra トラフィックをリッスンするポートを構成する. 無効にできます
  # Cassandra プロトコルでは、ポートのリストをコメントアウトします.
  ポート: [9042]
  有効: 偽

- 種類: DHCPv4 の
  # IPv4 ポートの DHCP の設定.
  ポート: [67, 68]

- 種類: DNSの
  # DNSトラフィックをリッスンするポートを構成する. 無効にできます
  # ポートのリストをコメントアウトしてDNSプロトコル.
  ポート: [53]

- 種類: HTTPの
  # HTTP トラフィックをリッスンするポートを構成する. 無効にできます
  # the HTTP protocol by commenting out the list of ports.
  ポート: [80, 8080, 8000, 5000, 8002]
  有効: 偽
...

Una vez configurado, サービスをインストールします:

cd '.\Program Files\packetbeat\'
.\install-service-packetbeat.ps1

Validamos la configuración, cargamos la config y arrancamos el servicio:

.\packetbeat.exe test config -c .\packetbeat.yml -e
.\packetbeat.exe setup
Start-Service packetbeat

手記, para que use menos CPU, debemos filtrar sólo los protocolos que nos interesen, さらに, en el parámetro ‘packetbeat.interfaces.deviceponerle el ID de la tarjeta de red a auditar, para saber que ID, en una consola de terminal ejecutamos: ‘packetbeat devices’:

packetbeat devices
0: \Device\NPF_{AB47E8CD-2692-4320-A188-FFE1191EDFDC} (Adaptador Ethernet vmxnet3) (FE80の::70エフ:a48d:29b2:3677 192.168.1.100)
1: \Device\NPF_Loopback (Adapter for loopback traffic capture) (Not assigned ip address)

Kibanaから行って、すでにAuditbeatイベントを収集しているかどうかを確認できます, 通常どおりインデックスを作成する必要があります.

それから, Grafanaから、このElasticsearchインデックスに対してデータソースを作成し、作成を開始できます. 自分よりも美しいものになれるために. パネル, 一目でDNSクエリを確認できます, 元, 運命, トップクライアント, 人気の目的地… DHCPとほぼ同じです.

きっとあっという間にダッシュボードを改善できると思います, 他のタイプのパネルを置くことができます, これらは典型的なケシトです, グラフィック, サンキー…

後で送信元IPでDNSをフィルタリングおよび検索できるようにするには, 宛先サイト…

DHCP の別の見方… そして、はい… Raspberry Pi で Wi-Fi に問題があるようです, 低電圧の安っぽい変圧器が必要です…

でもあのう, より多くのデータがある環境で, または、より実際のデータをより魅力的な方法で視覚化できます. 来る, 長くなりすぎない, DNSサーバーまたはDHCPサーバーからデータを収集する必要がある場合に、それがあなたを刺激することを願っています.

tod@sへの抱擁!

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!