
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.device’ ponerle 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への抱擁!