Elasticsearch, Kibana , Filebeat kullanarak Netflow verileri nasıl takip edilir?
Published: 2024-05-15 08:37:38

İlk önce  Netflow verileri görüntülemek için uygun bir topoloji oluşturuyoruz.Sonrasında resimde 1 numaralı routerda netflow yapılandırması yapıyoruz.Netflow yapılnadırmasını nasıl yapılandırılacağını daha önceki [yazımda](https://dev.to/emre-karac/cisco-routerda-netflow-yapilandirmasi-2c9p) görebilirsiniz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ggyc7yb983cjxbwm7b6r.png)

Resimde 1 numaralı routerda netflow yapılandırmasını yaptıktan sonra 2 ve 3 numaralı bilgisayarları test için kullanırken 2 numaraları bilgisayarı aynı zamanda  collector olarak kullanıyoruz.Netfow verilerini arayüzden izlemek için collector olan bilgisyarımızın kurulumlarına geçebiliriz.

**Elasticsearch Kurulumumu**

- Genel imzalama anahtarını indirip yüklenir:


```
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
```

- Devam etmeden önce **apt-transport-https** paketini Debian'a kurmanız gerekir.

```
sudo apt-get install apt-transport-https
```

- Repository eklenir.

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

- Update yaparak yükleme tamamlanır.

```

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

- Kurulum yapıldıktan sonra `/etc/elasticsearch/elasticsearch.yml` dosyasını  düzenlemek gerekir.



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/73hfx9bxruu3uim2zbt7.png)

- elasticsearch.yml dosyasında bu iki ayarı aktifleştirerek
- eleasticsearc.service 'imizi başlatıyoruz.

```
systemctl start elasticsearch.service
```

- Başlattıktan sonra servisin durumunu kontrol ediyoruz.

```
systemctl start elasticsearch.service
```

- Elasticsearc kurulumunu böylece tamamlıyoruz.


**Kibana Kurulumu**


- Aşağıdaki komut ile kuruluma başlıyoruz.

```
sudo apt-get update && sudo apt-get install kibana
```

yüklenme tamamlandıktan sonra `/etc/kibana/kibana.yml` dizindeki .yml dosyasını düzenlemek gerekiyor.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nffuwjmdurzyffsriuih.png)

- Buradaki server.host kısmına elasticsearch'ün çalıştığı bilgisayarın IP'sini veriyoruz.Dosyayı bu şekilde düzenledikten sonra kaydedip kapatıyoruz.
netflow'umuzu aktifleştiemek için aşağıdaki komutu kullanıyoruz.
```
systemctl start kibana 
```

```
systemctl status 
```
- komutları ile kibana aracını başlatıp durumunu kontrol ediyoruz.

```
ss-tulnp
```

- komutu ile 5601 ile 9200 portlarını çalıştığını kontrol ettikten sonra bilgisayrın ağı ile aynı ağda ise 
- http://localhost:5601 adresine giderek kibana'nın arayüzüne gidiyoruz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ep4ahd34noilxjs49y58.png)



**Filebeat kurulumu**


- Kibana arayüzünde **add-integrations'a** tıklayarak netflow aracını aratıp indirme kılavuzunda işletim sistemine göre indirmeye başlıyoruz.



```
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.21-amd64.deb
```

```
sudo dpkg -i filebeat-7.17.21-amd64.deb
```


- yüklemeyi yaptıktan sonra **/etc/filebeat/filebeat.yml**dizinindeki .yml dosyasını düzenliyoruz.

```
setup.ilm.overwrite: true
```

```
filebeat.output:
  elastic:
    hosts: ["192.168.122.172:9200"]
```

```
setup.dashboards.enabled: true`
```

```
setup.kibana:
 host: "192.168.122.172:5601"
```

```
output.elasticsearch:
  hosts: ["localhost:9200"]
  username: "elastic"
  password: "emre123"
```

- yukarıdaki ayarlarmalarda IP kısımlar elasticsearch'ün çalıştığı makinendir.Bu ayarlamaları .yml dosyasında düzenledikten sonra kaydedip çıkıyoruz.

- sonrasında **/etc/filebeat/modules.d** dizininde elasticsearch.yml.disabled dosyasınındaki disable kaldırıp isimini yeniden düzenliyoruz.

- aynı dizinde netflow.yml dosyasına girip router'ımızda hangi porttan verilerin göndermesini istediysek aynı port olması için düzenlemeliyiz.Bu örnekte varsayılan 2055 portu kullanıldı.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uzffx56srb6omkkx8m8s.png)

- aynı zamanda host kısmını elasticsearch olduğu makininenin ip adresini verilir ve networks kısmını ise public olarak değiştirilir.

- netflow'umuzu aktifleştiemek için aşağıdaki komutu kullanıyoruz.

```
sudo filebeat modules enable netflow
```

Artık şimdi filebeat aracımızı başlatabiliriz.

```
sudo filebeat setup
sudo service filebeat start
```

filebeat servisimizin 

```
systemctl status filebeat 
```

- komutu ile durumunu kontrol ettikten sonra netflow verilerinin işlenip gönderildiği teğit etmek için aşağıdaki komutu kuallanırız.

`curl -X GET http://localhost:9200/_cat/indices/filebeat-*?`


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jpob5nfklagdjmas7dew.png)

- bu dosya çıktısı alıyorsak artık kibana arayüzüne girebiliriz.


**Kibana Aracından Netflow Verilerini Görüntüleme**


Kibanada ana ekranda sol üsteki seçenekler kısmında discover -'a tıklar.Sayfadaki index pattern kısmında filebeat seçerksek netflow verilerimizi görmeye başlarız.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2rrgms4fd8f2ksrovh5.png)


Artık ağımızdaki netflow index verilerini rahatlıkla anlık elasticsearch,kibanai filebat araçlarını kullanarak görüntüleyebiliriz.