Home » Wazuh » Wazuh için Elastic Stack Entegrasyonu

Wazuh için Elastic Stack Entegrasyonu

Bu yazımda Wazuh ile Elasticsearch entegrasyonunu nasıl gerçekleştirebileceğimizi adım adım ele alacağım. Bu entegrasyon sayesinde logların Elasticsearch’e aktarılmasını ve Kibana üzerinden görselleştirilmesini sağlayabilirsiniz.

Entegrasyon için Logstash kurulumunu gerçekleştirmemiz gerekiyor. Hadi başlayalım!

Logstash Kurulumu

Logstash’i yüklemek için Elastic belgelerini takip edebilirsiniz. Ben bu yazıda kurulum işlemini Ubuntu işletim sistemi üzerinden göstereceğim.

GPG Anahtarını Sisteme Ekleyin

Öncelikle Elastic’in GPG anahtarını sisteme ekleyelim:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg

Eğer sisteminizde apt-transport-https yüklü değilse aşağıdaki komutla yükleyebilirsiniz:

sudo apt-get install apt-transport-https

Elastic deposunu eklemek için şu komutu çalıştırın:

echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list

Şimdi Logstash’i yükleyebiliriz:

sudo apt-get update && sudo apt-get install logstash

Elasticsearch Kurulumu

Eğer sisteminizde Elasticsearch yüklü değilse, aşağıdaki komutla kurulumu gerçekleştirebilirsiniz. Kurulum sırasında size bir şifre verilecektir. Bu şifreyi bir yere not etmeyi unutmayın.

sudo apt install elasticsearch

Elasticsearch ile Wazuh indexer arasında bir boru hattı oluşturmak için logstash-input-opensearch eklentisini yükleyin:

sudo /usr/share/logstash/bin/logstash-plugin install logstash-input-opensearch

Wazuh Indexer’ın kök sertifikasını Elasticsearch sunucusuna kopyalayın. Sertifikayı Wazuh sunucusundan şu şekilde kopyalayabilirsiniz:

scp /etc/wazuh-indexer/certs/root-ca.pem root@eleasticsearch:/tmp/wazuh-root-ca.pem

Ben sertifikalar için /etc/logstash/certs yolunu kullanacağım. Kopyaladığınız sertifikalara gerekli izinleri verin:

sudo chmod -R 755 /etc/logstash/certs/wazuh-root-ca.pem
sudo chmod -R 755 /etc/logstash/certs/elastic-root-ca.pem

Wazuh Şablonunu Elasticsearch’e Ekleyin

Elasticsearch’ün verileri doğru şekilde indeksleyebilmesi için bir şablona ihtiyacı vardır. Wazuh şablonunu şu komutla ekleyebilirsiniz:

sudo mkdir /etc/logstash/templates
sudo curl -o /etc/logstash/templates/wazuh.json https://packages.wazuh.com/integrations/elastic/4.x-8.x/dashboards/wz-es-4.x-8.x-template.json

Logstash Keystore (Anahtar Deposu) Oluşturma

Wazuh Indexer ve Elasticsearch kullanıcı bilgilerini güvenli bir şekilde saklamak için bir keystore (anahtar deposu) oluşturacağız.

Önce keystore parolamızı belirleyelim. /etc/sysconfig dosyasının sisteminizde olup olmadığını kontrol edin, yoksa oluşturun:

set +o history
echo 'LOGSTASH_KEYSTORE_PASS="<MY_KEYSTORE_PASSWORD>"'| sudo tee /etc/sysconfig/logstash
export LOGSTASH_KEYSTORE_PASS=<MY_KEYSTORE_PASSWORD>
set -o history
sudo chown root /etc/sysconfig/logstash
sudo chmod 600 /etc/sysconfig/logstash
sudo systemctl start logstash

Şimdi keystore’u oluşturalım:

sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash create

Elasticsearch kullanıcı adı ve şifremizi ekleyelim. Komutları ayrı ayrı giriş yapalım. Kullanıcı adı elastic şifre kurulum yaptıktan sonra kenara not aldığımız şifre.

sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash add ELASTICSEARCH_USERNAME
sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash add ELASTICSEARCH_PASSWORD

Wazuh indexer kullanıcı adı ve şifresini girelim. Eğer bilmiyorsanız wazuh un şifreleri değiştirmek için kullanabileceğiniz bir aracı var onu kullanabilirsiniz. Şifreleri bir kenara not almayı unutmayın!

Not: Eğer şifre değiştirme yaptıysanız Wazuh Dashboard’a giriş yaptığınız tarayıcının çerezlerini temizleyin.

sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash add WAZUH_INDEXER_USERNAME
sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash add WAZUH_INDEXER_PASSWORD

Logstash için gerekli ayarları yapıyoruz.

/etc/logstash/conf.d/ klasörü sizde yoksa oluşturun:

sudo touch /etc/logstash/conf.d/wazuh-elasticsearch.conf

Boru hattı için gerekli ayarları giriyoruz.

input {
  opensearch {
   hosts =>  ["<WAZUH_INDEXER_ADDRESS>:9200"]
   user  =>  "${WAZUH_INDEXER_USERNAME}"
   password  =>  "${WAZUH_INDEXER_PASSWORD}"
   index =>  "wazuh-alerts-4.x-*"
   ssl => true
   ca_file => "</PATH/TO/LOCAL/WAZUH_INDEXER>/root-ca.pem"
   query =>  '{
       "query": {
          "range": {
             "@timestamp": {
                "gt": "now-1m"
             }
          }
       }
   }'
   schedule => "* * * * *"
  }
}

output {
    elasticsearch {
         hosts => "<ELASTICSEARCH_ADDRESS>"
         index  => "wazuh-alerts-4.x-%{+YYYY.MM.dd}"
         user => '${ELASTICSEARCH_USERNAME}'
         password => '${ELASTICSEARCH_PASSWORD}'
         ssl => true
         cacert => "</PATH/TO/LOCAL/ELASTICSEARCH>/root-ca.pem"
         template => "/etc/logstash/templates/wazuh.json"
         template_name => "wazuh"
         template_overwrite => true
    }
}

bilgileri girip gerekli ayarlamaları yaptıktan sonra Logstash yeni yapılandırma ile çalıştıralım.

sudo systemctl stop logstash
sudo -E /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/wazuh-elasticsearch.conf --path.settings /etc/logstash/

Her şey doğru bir şekilde çalışıyorsa ctrl + c ile komutu iptal edip Logstash servisini aktif edin.

sudo systemctl enable logstash.service
sudo systemctl start logstash.service

Gerekli ayarlamaları yaptıktan sonra Kibana sisteminizde yoksa kurulumu yapıyoruz.

sudo apt install kibana

Elasticsearch üzerinde Kibana için token oluşturun:

sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Token ı kenara not edelim. Kibana için encryption key oluşturalım.

sudo /usr/share/kibana/bin/kibana-encryption-keys generate

Çıktı verdiği keyleri /etc/kibana/kibana.yml dosyasının içine ekleyelim. Hazır girmişken server.host ayarını bilgisayar ip adresimiz yapalım.

Kibana servisini yeniden başlatalım. Belli bir süre geçtikten sonra systemctl status Kibana komutunu çalıştıralım. Bu komut size bir url verecek. Bu url’ye tarayıcımızdan giriş yapalım. Sizden daha önce Kibana için oluşturduğunuz token’ı isteyecek giriş yapıp devam edelim. Giriş ekranına yönlendirileceksiniz. Buradaki bilgiler sizin Elasticsearch kullanıcı adı ve şifreniz.

  1. Giriş yaptıktan sonra Management > Stack management menüsüne gidin.
  2. Açılan ekranda Kibana>Data Views seçeneğini bulun ve Create data view düğmesine tıklayın.
  3. Bir isim belirleyin ve index pattern alanına wazuh-alerts-* yazın.
  4. Timestamp fields açılır menüsünden timestamp seçeneğini seçin ve Save data view to Kibana diyerek kaydedin.
  5. Menüden Analytics>Discover i seçin

Discovery menüsünde gelen logları görmeniz gerekiyor. Wazuh loglarını görselleştirmek için Kibana üzerinde kendi dashboard’larınızı oluşturabilirsiniz. Bunun yerine, Wazuh’un hazır Elasticsearch dashboard dosyasını Kibana’ya ekleyebilirsiniz. Dosyayı indirmek için aşağıdaki bağlantıyı kullanabilirsiniz:

https://packages.wazuh.com/integrations/elastic/4.x-8.x/dashboards/wz-es-4.x-8.x-dashboards.ndjson

isterseniz tarayicinizdan isterseniz diğer yöntemleride kullanabilirsiniz.

  1. Management > Stack management menüsüne gidin
  2. Saved Objects seçeneğine tıklayın.
  3. Import düğmesine tıklayarak indirdiğiniz dosyayı seçin ve yükleyin.

Yükleme tamamlandıktan sonra Analytics > Dashboard menüsüne giderek wazuh ile ilgili hazır dashboard’ları görüntüleyebilirsiniz.

Yorum yapın