
Wazuh 4.x sürümünde yapılan bir upgrade işlemi sonrasında dashboard arayüzüne erişilememe sorunu oldukça yaygındır. Bu makalede, upgrade sonrası karşılaşılan 5 farklı sorunu ve çözümlerini adım adım anlatıyorum.
Ortam: Wazuh 4.14.x — All-in-one kurulum (Manager + Indexer + Dashboard aynı sunucuda)
Upgrade sonrası ilk yapılması gereken şey, tüm Wazuh bileşenlerinin servis durumlarını kontrol etmektir.
systemctl status wazuh-dashboard wazuh-indexer wazuh-manager --no-pager
Bizim senaryomuzda:
| Bileşen | Durum |
|---|---|
wazuh-indexer | ✅ active (running) |
wazuh-manager | ❌ inactive (dead) |
wazuh-dashboard | ❌ inactive (dead) |
Neden: Upgrade sırasında servisler durdurulmuş ancak tekrar başlatılmamış.
sudo systemctl start wazuh-manager
sudo systemctl start wazuh-dashboard
Servisler başlatıldıktan sonra dashboard loglarında sürekli şu hata tekrarlanıyordu:
[ResponseError]: Response Error
Indexer’a doğrudan sorgu attığımızda kök neden ortaya çıktı:
curl -sk https://127.0.0.1:9200 -u admin:admin
Çıktı:
OpenSearch Security not initialized.
Upgrade sırasında OpenSearch security plugin’inin konfigürasyon dizini (securityconfig) silinmiş veya yolu değişmiş. securityadmin.sh aracının bu konfigürasyonu yeniden yüklemesi gerekiyor.
Önce konfigürasyon dosyalarının yerini buluyoruz:
# Eski yol (upgrade sonrası silinmiş olabilir):
ls /usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/
# Doğru yol (Wazuh 4.x paketinde):
ls /etc/wazuh-indexer/opensearch-security/
Eğer dosyalar /etc/wazuh-indexer/opensearch-security/ altında mevcutsa, securityadmin.sh‘ı bu dizinle çalıştırıyoruz:
export JAVA_HOME=/usr/share/wazuh-indexer/jdk
sudo /usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh \
-cd /etc/wazuh-indexer/opensearch-security/ \
-nhnv \
-cacert /etc/wazuh-indexer/certs/root-ca.pem \
-cert /etc/wazuh-indexer/certs/admin.pem \
-key /etc/wazuh-indexer/certs/admin-key.pem \
-icl \
-h 127.0.0.1
internal_users.ymlBazı durumlarda internal_users.yml dosyası da kaybolabilir. Bu durumda:
# Wazuh-indexer paketini indirip dosyayı çıkarın
wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-indexer/wazuh-indexer_4.14.2-1_amd64.deb -O /tmp/wazuh-indexer.deb
mkdir -p /tmp/wazuh-indexer-extract
dpkg-deb -x /tmp/wazuh-indexer.deb /tmp/wazuh-indexer-extract
# Eksik dosyayı geri yükleyin
sudo cp /tmp/wazuh-indexer-extract/etc/wazuh-indexer/opensearch-security/internal_users.yml \
/etc/wazuh-indexer/opensearch-security/internal_users.yml
sudo chown wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/opensearch-security/internal_users.yml
sudo chmod 640 /etc/wazuh-indexer/opensearch-security/internal_users.yml
Ardından securityadmin.sh‘ı tekrar çalıştırın.
Başarılı çıktı:
Done with success
Security initialize edildikten sonra dashboard hâlâ [ResponseError]: Response Error veriyorsa, dashboard konfigürasyonunu kontrol edin:
sudo cat /etc/wazuh-dashboard/opensearch_dashboards.yml
Eğer aşağıdaki satırlar yorum satırındaysa:
# opensearch.username: kibanaserver
# opensearch.password: kibanaserver
Yorum işaretlerini kaldırın:
sudo sed -i 's/^# opensearch.username: kibanaserver/opensearch.username: kibanaserver/' \
/etc/wazuh-dashboard/opensearch_dashboards.yml
sudo sed -i 's/^# opensearch.password: kibanaserver/opensearch.password: kibanaserver/' \
/etc/wazuh-dashboard/opensearch_dashboards.yml
Dashboard’u restart edin:
sudo systemctl restart wazuh-dashboard
Not:
kibanaserverkullanıcısı, dashboard’un indexer ile iletişim kurması için kullanılan internal servis hesabıdır. Login ekranındaki admin hesabı ile karıştırmayın.
Dashboard login ekranı açılıyor ama admin şifresiyle giriş yapılamıyorsa, bunun sebebi internal_users.yml dosyasının varsayılan (demo) hash’lerle geri yüklenmesidir. Eski şifreniz artık geçersizdir.
Adım 1: Yeni bcrypt hash oluşturun:
export JAVA_HOME=/usr/share/wazuh-indexer/jdk
sudo /usr/share/wazuh-indexer/plugins/opensearch-security/tools/hash.sh \
-p 'YeniGuvenliSifre123!'
Çıktı örneği:
$2y$12$AbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcdefghijklmn
Adım 2: internal_users.yml‘deki admin hash’ini güncelleyin:
sudo vi /etc/wazuh-indexer/opensearch-security/internal_users.yml
admin: bloğundaki hash: değerini yeni hash ile değiştirin:
admin:
hash: "$2y$12$AbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcdefghijklmn"
reserved: true
backend_roles:
- "admin"
description: "Demo admin user"
Adım 3: Değişikliği indexer’a yükleyin:
sudo JAVA_HOME=/usr/share/wazuh-indexer/jdk \
/usr/share/wazuh-indexer/plugins/opensearch-security/tools/securityadmin.sh \
-cd /etc/wazuh-indexer/opensearch-security/ \
-nhnv \
-cacert /etc/wazuh-indexer/certs/root-ca.pem \
-cert /etc/wazuh-indexer/certs/admin.pem \
-key /etc/wazuh-indexer/certs/admin-key.pem \
-icl \
-h 127.0.0.1
Adım 4: Doğrulama:
curl -sk https://127.0.0.1:9200 -u 'admin:YeniGuvenliSifre123!'
Cluster bilgileri dönüyorsa şifre başarıyla güncellendi.
Dashboard’a giriş yaptıktan sonra health check ekranında şu hata görülebilir:
[Alerts index pattern] No template found for the selected index-pattern title [wazuh-alerts-*]
wazuh-alerts index template’ini Filebeat yükler. Upgrade sonrası Filebeat’in indexer’a bağlantısı kopmuş olabilir (şifre değişikliği nedeniyle).
Adım 1: Filebeat bağlantısını test edin:
sudo filebeat test output
Eğer 401 Unauthorized dönüyorsa:
Adım 2: Filebeat keystore’daki şifreyi güncelleyin:
echo 'YeniGuvenliSifre123!' | sudo filebeat keystore add password --stdin --force
Adım 3: Filebeat’i restart edin:
sudo systemctl restart filebeat
Adım 4: Bağlantıyı doğrulayın:
sudo filebeat test output
Beklenen çıktı:
elasticsearch: https://127.0.0.1:9200...
...
talk to server... OK
version: 7.10.2
Adım 5: Template’in yüklendiğini kontrol edin:
curl -sk https://127.0.0.1:9200/_cat/templates?v \
-u 'admin:YeniGuvenliSifre123!' | grep wazuh
Beklenen çıktı:
wazuh [wazuh-alerts-4.x-*, wazuh-archives-4.x-*] 0 1
wazuh-agent [wazuh-monitoring-*] 0
wazuh-statistics [wazuh-statistics-*] 0
Wazuh upgrade sonrası sorun yaşıyorsanız aşağıdaki kontrol listesini sırasıyla takip edin:
| # | Kontrol | Komut |
|---|---|---|
| 1 | Tüm servislerin durumu | systemctl status wazuh-indexer wazuh-manager wazuh-dashboard |
| 2 | OpenSearch Security initialized mı? | curl -sk https://127.0.0.1:9200 -u admin:SIFRE |
| 3 | securityconfig dosyaları yerinde mi? | ls /etc/wazuh-indexer/opensearch-security/ |
| 4 | Dashboard config’te username/password açık mı? | cat /etc/wazuh-dashboard/opensearch_dashboards.yml |
| 5 | Admin hash güncel mi? | Dashboard login testi |
| 6 | Filebeat indexer’a bağlanabiliyor mu? | filebeat test output |
| 7 | Alerts template yüklü mü? | curl ... /_cat/templates?v | grep wazuh |
admin/admin, kibanaserver/kibanaserver) mutlaka değiştirininternal_users.yml‘deki tüm kullanıcıların hash’lerini güncelleyin/etc/wazuh-indexer/opensearch-security/ dizininin yedeğini alınBu makale gerçek bir upgrade sorun giderme sürecinden derlenmiştir.






