You are currently viewing Wazuh kurulumu

Wazuh kurulumu

Wazuh, ölçeklenebilir, çok platformlu ve açık kaynaklı bir host-tabanlı sızma tespit (HIDS) sistemidir. Bu sistem, güçlü bir korelasyon ve analiz motoruna sahip olan OSSEC’in bir çatalı olarak doğmuşturElastic Stack ve OpenSCAP ile entegre edilerek daha kapsamlı bir çözüm haline gelmiştir.

Wazuh’un temel özellikleri şunlardır:

  • Log Analizi: Wazuh, log verilerini otomatik olarak toplamak ve analiz etmek için kullanılabilir. Bu sayede sistemlerinizdeki olası tehditleri hızla algılayabilirsiniz.
  • Dosya Bütünlüğü Denetimi: Wazuh, dosya bütünlüğünü kontrol ederek değişiklikleri izler ve bütünlük ihlallerini tespit eder.
  • Windows Kayıt Defteri İzleme: Windows kayıt defterini izleyerek anormal değişiklikleri belirler.
  • Rootkit Tespiti: Rootkitleri algılar ve müdahale eder.
  • Gerçek Zamanlı Uyarı ve Aktif Yanıt: Wazuh, anlık uyarılar ve otomatik yanıt yapısıyla tehditlere hızlı bir şekilde müdahale eder.

Bugünkü yazımızda wazuh kurulumunu nasıl yapacağımızı türkçe kaynak olarak paylaşmak istedim. Kurulumu “Wazuh Server” , “Wazuh indexer” ve “Wazuh Dashboard” olarak 3 ayrı sunucu olarak kurabiliriz. Biz bugünkü yazımızda tekbir sunucu üzerinde 3 kurulumuda yapacağız ve yapılandıracağız. Ben server olarak Ubuntu 22.04 versiyonunu tercih ettim.

Sunucu AdıUygulamalarIP
wazuhsrvindexer, Server, Dashboard172.15.1.30

Wazuh Indexer kurulumu

ilk olarak wazuh indexer kurulumu ile başlıyoruz.

sudo su -

apt update

Root kullanıcısına geçtikten sonra, apt repolarımızı güncelliyoruz ve ilk olarak Sertifika oluşturma adımı ile başlıyoruz.

curl -sO https://packages.wazuh.com/4.7/wazuh-certs-tool.sh
curl -sO https://packages.wazuh.com/4.7/config.yml

wazuh-certs-tool.sh ve config.yml dosyalarımızı indirdikten sonra config.yml dosyamızı aşağıdaki şekilde güncelliyoruz.

vi ./config.yml

Dosya içeriği.

nodes:
  # Wazuh indexer nodes
  indexer:
    - name: wazuhsrv
      ip: "172.15.1.30"
    #- name: node-2
    #  ip: "<indexer-node-ip>"
    #- name: node-3
    #  ip: "<indexer-node-ip>"

  # Wazuh server nodes
  # If there is more than one Wazuh server
  # node, each one must have a node_type
  server:
    - name: wazuhsrv
      ip: "172.15.1.30"
    #  node_type: master
    #- name: wazuh-2
    #  ip: "<wazuh-manager-ip>"
    #  node_type: worker
    #- name: wazuh-3
    #  ip: "<wazuh-manager-ip>"
    #  node_type: worker

  # Wazuh dashboard nodes
  dashboard:
    - name: wazuhsrv
      ip: "172.15.1.30"

Hemen sonrasında bir aşağıdaki komutumuz ile sertifikamızı oluşturuyoruz..

bash ./wazuh-certs-tool.sh -A

Gerekli tüm dosyaları sıkıştıralım.

tar -cvf ./wazuh-certificates.tar -C ./wazuh-certificates/ .
rm -rf ./wazuh-certificates

Sertifikamızı oluşturduğumuza göre artık “Wazuh indexer” kurulum kısımlarına devam edebiliriz.

apt-get install debconf adduser procps

Wazuh repolarını ekleyelim.

apt-get install gnupg apt-transport-https

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg

echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list

apt-get update

Eklediğimiz repolardan “Wazuh İndexer” kurulumunu gerçekleştirelim.

apt-get -y install wazuh-indexer

Kurulum tamamlandı ve artık Indexer kongigrasyonumuza geçebiliriz. Aşağıdaki dosyanın düzenlenmesi ile işleme başlıyoruz.

vi /etc/wazuh-indexer/opensearch.yml

Aşağıda verdiğim alanları certifika dosyası oluştururken kullandığımız config.yml dosyasındaki ayarlarla aynı yapıyoruz.

node.name: "wazuhsrv"
cluster.initial_master_nodes:
- "wazuhsrv"
plugins.security.nodes_dn:
- "CN=wazuhsrv,OU=Wazuh,O=Wazuh,L=California,C=US"

Şimdide Sertifika dağıtımını yapalım.

NODE_NAME=wazuhsrv
mkdir /etc/wazuh-indexer/certs
tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
mv -n /etc/wazuh-indexer/certs/$NODE_NAME.pem /etc/wazuh-indexer/certs/indexer.pem
mv -n /etc/wazuh-indexer/certs/$NODE_NAME-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
chmod 500 /etc/wazuh-indexer/certs
chmod 400 /etc/wazuh-indexer/certs/*
chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs

Kurulumumuzu tamamladık, şimdi de servislerimizi başlatalım.

systemctl daemon-reload
systemctl enable wazuh-indexer
systemctl start wazuh-indexer

Servisin durumunu kontrol edelim.

systemctl status wazuh-indexer

Komut çıktımız aşağıdaki gibi servisimiz aktif olmuş.

wazuh-indexer.service - Wazuh-indexer
     Loaded: loaded (/lib/systemd/system/wazuh-indexer.service; enabled; vendor>
     Active: active (running) since Thu 2024-04-04 10:50:19 UTC; 47s ago
       Docs: https://documentation.wazuh.com
   Main PID: 3346 (java)
      Tasks: 65 (limit: 4515)
     Memory: 1.2G
        CPU: 44.488s

Böylece şuanda “Wazuh Indexer” kurulumunu tamamlamış olduk. Artık “Wazuh Server” kurulumuna geçebiliriz.

Wazuh Server Kurulumu

Tek sunucu kullandığımız için biz direk “Wazuh Manager” kurulumu ile devam ediyoruz.

apt -y install wazuh-manager

Kurulum tamamlandıktan sonra, servislerimizi başlatalım.

systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager

Servisin durumunu kontrol edelim.

systemctl status wazuh-manager
● wazuh-manager.service - Wazuh manager
     Loaded: loaded (/lib/systemd/system/wazuh-manager.service; enabled; vendor>
     Active: active (running) since Thu 2024-04-04 10:59:58 UTC; 1min 11s ago
    Process: 46802 ExecStart=/usr/bin/env /var/ossec/bin/wazuh-control start (c>
      Tasks: 120 (limit: 4515)
     Memory: 499.5M
        CPU: 44.940s

Sevislerimiz aktif olmuş, şimdi Filebeat paketini kuralım.

apt -y install filebeat

Kurulum tamamlandıktan sonra, Filebeat Config dosyasını indirelim.

curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.7/tpl/wazuh/filebeat/filebeat.yml

İndirdiğimiz config dosyasını editleyelim.

vi /etc/filebeat/filebeat.yml

Dosya içerisindeki aşağıdaki alanları düzenleyelim

output.elasticsearch:
  hosts: ["172.15.1.30:9200"]
  protocol: https
  username: ${username}
  password: ${password}

Kimlik doğrulama bilgilerini güvenli bir şekilde saklamak için bir Filebeat anahtar deposu oluşturalım.

filebeat keystore create

Gizli anahtar deposuna varsayılan kullanıcı adını ve parolayı admin:admin ekleyelim.

echo admin | filebeat keystore add username --stdin --force
echo admin | filebeat keystore add password --stdin --force

Filebeat için Wazuh modul kurulumunu yapalım.

curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.3.tar.gz | tar -xvz -C /usr/share/filebeat/module

Sertifikaları Deploy edelim.

NODE_NAME=wazuhsrv
mkdir /etc/filebeat/certs
tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem
chmod 500 /etc/filebeat/certs
chmod 400 /etc/filebeat/certs/*
chown -R root:root /etc/filebeat/certs

Filebeat servislerini start edelim.

systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat

Servis durumunu kontrol edelim.

systemctl status filebeat

Servisimiz aktif olmuş.

● filebeat.service - Filebeat sends log files to Logstash or directly to Elasti>
     Loaded: loaded (/lib/systemd/system/filebeat.service; enabled; vendor pres>
     Active: active (running) since Thu 2024-04-04 12:00:41 UTC; 40s ago
       Docs: https://www.elastic.co/products/beats/filebeat
   Main PID: 48707 (filebeat)
      Tasks: 8 (limit: 4515)
     Memory: 11.6M
        CPU: 113ms

Bundan sonraki adımda Filebeat kurulumunun sorunsuz olup olmadığını kontrol edeceğiz ama öncelikle aşağıdaki komutu çalıştırmanızı öneririm.

/usr/share/wazuh-indexer/bin/indexer-security-init.sh

bu komut tamamlandıktan sonra kurulumumuz sorunsuz şekilde tamamlanmışmı kontrol edelim.

filebeat test output

Herhangi bir sorun yoksa komut çıktısı aşağıdaki gibi olmalı.

elasticsearch: https://172.15.1.30:9200...
  parse url... OK
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 172.15.1.30
    dial up... OK
  TLS...
    security: server's certificate chain verification is enabled
    handshake... OK
    TLS version: TLSv1.3
    dial up... OK
  talk to server... OK
  version: 7.10.2

Ve böylelikle “Wazuh Server” kurulumumuzunda sonuda geldik. Son adım olan Dashboard kısmına geçebiliriz.

Wazuh Dashboard Kurulumu

APT ile dashboard paketlerini kuralım.

apt -y install wazuh-dashboard

Kurulum tamamlandıktan sonra Konfigurasyon dosyamızı düzenleyelim.

vi /etc/wazuh-dashboard/opensearch_dashboards.yml

Dosya içerisindek aşağıdaki alanları düzenleyelim.

server.host: 0.0.0.0
server.port: 443
opensearch.hosts: https://172.15.1.30:9200
opensearch.ssl.verificationMode: certificate

Sertifika dağıtımlarını yapalım.

NODE_NAME=wazuhsrv
mkdir /etc/wazuh-dashboard/certs
tar -xf ./wazuh-certificates.tar -C /etc/wazuh-dashboard/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME.pem /etc/wazuh-dashboard/certs/dashboard.pem
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME-key.pem /etc/wazuh-dashboard/certs/dashboard-key.pem
chmod 500 /etc/wazuh-dashboard/certs
chmod 400 /etc/wazuh-dashboard/certs/*
chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs

Ve servslerimizi restart edelim.

systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard

Servis durumunu kontrol edelim.

systemctl status wazuh-dashboard

Servisimiz ayağa kalkmış.

● wazuh-dashboard.service - wazuh-dashboard
     Loaded: loaded (/etc/systemd/system/wazuh-dashboard.service; enabled; vend>
     Active: active (running) since Thu 2024-04-04 12:17:26 UTC; 1min 34s ago
   Main PID: 49201 (node)
      Tasks: 11 (limit: 4515)
     Memory: 161.5M
        CPU: 10.302s

Ve adres satırına https://172.15.1.30 yazarak wazuh dashboard login ekranına erişiyoruz.

Kullanıcı adı şifre kısmına admin:admin yazarak login oluyoruz.

Ve böylece Wazuh Server kurulum yazımızında sonuna geliyoruz.

Not:

“No template found for the selected index-pattern title [wazuh-alerts-*]” Hatası alırsanız aşağıdaki kumutu çalıştırarak sorunu düzeltebilirsiniz.

sudo curl https://raw.githubusercontent.com/wazuh/wazuh/v4.4.4/extensions/elasticsearch/7.x/wazuh-template.json | curl -X PUT "https://localhost:9200/_template/wazuh" -H 'Content-Type: application/json' -d @- -u admin:admin -k

Bir yanıt yazın