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.
- Giriş yaptıktan sonra Management > Stack management menüsüne gidin.
- Açılan ekranda Kibana>Data Views seçeneğini bulun ve Create data view düğmesine tıklayın.
- Bir isim belirleyin ve index pattern alanına wazuh-alerts-* yazın.
- Timestamp fields açılır menüsünden timestamp seçeneğini seçin ve Save data view to Kibana diyerek kaydedin.
- 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.
- Management > Stack management menüsüne gidin
- Saved Objects seçeneğine tıklayın.
- 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.
