Merhabalar, Bu yazımızda Elastic STACK ile ağ paket analizi ortamı için gerekenleri kurulum ve konfigürasyonları yapacağız.
Bu ortam için gereken araçlar:
- Elasticsearch
- Filebeat
- Kibana
- Tshark
Ben Ubuntu 18.04 makinede çalıştığım için bu şekilde indirmekteyim.Bu kurulum Elasticsearch 7.0 ve sonrası sürümleri desteklemektedir.
Elasticsearch Kurulumu
sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

sudo apt-get install apt-transport-https

sudo echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

sudo apt-get update && sudo apt-get install elasticsearch

sudo -i service elasticsearch start
ile elasticsearch başlatılabilir.
netstat -nltp
ile çalışan servislerde Elasticsearch’ün çalıştığı 9200 portunu gözlemleyebiliriz.

Kibana Kurulumu
sudo apt-get update && sudo apt-get install kibana

sudo -i service kibana start
localhost:5601 adresi url’e yazılır ve aşağıdaki kibana arayüzü gözlenir.

Tshark Kurulumu
sudo apt install tshark
Tshark kök kullanıcı modunda aşağıdaki komutla çalıştırılır.Bu komut ile packet capture işlemi ek ile Elasticsearch’ün indeksleyebileceği bir formata uygun olarak tshark.json dosyasına gerçek zamanlı olarak kaydedilir.
tshark -i 1 -T ek -V > /home/machine3/Desktop/logs/tshark.json

Filebeat Kurulumu
sudo apt install filebeat -f

Filebeat etc dizini altına gidilir.

Buradaki filebeat.yml dosyası aşağıdaki gibi düzenlenir. Aşağıdaki konfigürasyon için “Filebeat 7.6 Klavuzu”ndan faydalanılmıştır.
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/machine3/Desktop/logs/tshark.json
json.keys_under_root: true
fields:
document_type: "pcap_file"
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
setup.kibana:
host: "localhost:5601"
output.elasticsearch:
hosts: ["localhost:9200"]
processors:
- drop_event:
when:
equals:
index._type: "pcap_file"
▪ Input bölümünde ;
- input olarak gelen verinin log tipinde olacağı,
- paths kısmında geldiği dizini,
- json.key_under_root: true ile varsayılan olarak, kodu çözülen JSON çıktı belgesindeki bir “json” anahtarının altına yerleştirilir. Bu ayarı etkinleştirilerek anahtar çıktı belgesinde en üst seviyeye kopyalanır. Varsayılan, false değeridir.
- Document_type : “pcap_file” ile gelen dosyanın pcap dosyası türünde olduğunu belirtildi.
▪ Setup.kibana : host : “localhost5601” Kibana ‘nın hostunu konfigüre edildi.
▪ Output.elasticsearch: host: [“localhost:9200”] ile Elasticsearch ‘ ün output’unu konfigüre edildi.
▪ processors: - drop_event: when: equals: index._type: “pcap_file” ile indeks tipi “pcap_file” olan dosyaların drop (düşme) işlemi gerçekleştirildi.
sudo systemctl start filebeat
sudo systemctl status filebeat

Kibana’ya gelinir. Management kısmından Create index pattern ile indeks paterni oluşturulur. Index Management kısmında patternlere gelen yeni veriler reload indices ile yenilenebilir.

Kibana Dashboard kısmına gelerek görselleştirilme yardımıyla paketler incelenebilir.

Kaynaklar:
https://www.elastic.co/guide/en/beats/filebeat/7.x/index.html
https://www.elastic.co/blog/analyzing-network-packets-with-wireshark-elasticsearch-and-kibana