GVM (Greenbone Vulnerability Management) Kurulumu Sırasında PostgreSQL Hatası ve Çözümü
Zafiyet taramaları için tercih edilen en önemli kaynaklardan biri GVM. Özellikle geniş veritabanı, tarama altyapısı ve açık kaynaklı olması sebebiyle bir güvenlik uzmanının olmazsa olmazı.
Ancak belirli sistemlerde, özellikle sürüm uyuşmazlıkları yaşanan -outdated- sistemlerde zaman zaman hatalar ile karşılaşılabiliyor. Bugün de bunlardan birinin çözümünü sizlerle paylaşacağım. Aynı hatayı aldım ve belirli adımlarla çözüme ulaştım. Hızlıca çözüme geçelim.

GVM Kurulumu
Bu aşamada doğrudan apt install gvm komutunu çalıştırdığınızı varsayıyorum:
apt install gvm
Kurulumun ardından yetki hatalarına takılmamak için aşağıdaki konuma gidin, setup komutunu burada çalıştırın:
cd /usr/bin/
gvm-setup
Bu aşamanın ardından eğer sisteminizde GVM tarafından desteklenen minimum PostgreSQL versiyonu yüklü değilse, veya yüklü ancak varsayılan değilse aşağıdaki PostgreSQL hatasını almanız muhtemel.
└─# gvm-setup [>] Starting PostgreSQL service [-] ERROR: The default PostgreSQL version (15) is not 17 that is required by libgvmd [-] ERROR: libgvmd needs PostgreSQL 17 to use the port 5432 [-] ERROR: Use pg_upgradecluster to update your PostgreSQL cluster
Bu durumun önüne geçmek amacıyla sırasıyla aşağıdakileri uygulayın.
Mevcut PostgreSQL sürümlerini kontrol edin:
pg_lsclusters
Listede ihtiyacınız olan sürüm olup olmadığını bulun. Eğer yoksa;
sudo apt update
sudo apt install postgresql-17
komutlarını kullanarak güncel versiyonu yükleyin (17 mevcut en güncel sürüm, bu tutorial sonrası güncel sürümleri internetten bulun).
Kurulum sonrası eski PostgreSQL servisini durdurun.
sudo systemctl stop postgresql
Yeni sürüm PostgreSQL 17'yi doğru porta yönlendirmemiz gerek, bunun için;
sudo nano /etc/postgresql/17/main/postgresql.conf
komutu ile nano içinde postgresql.conf dosyasını açın, ardından içeriğinde port numarasının tanımlı olduğu satırı bulup aşağıdaki gibi değiştirin:
port = 5432
Kaydedin ve kapatın.
Yeni sürümün servisini aktif edin:
sudo systemctl start postgresql
İşlem sonunda varsayılan olduğundan emin olmak adına sürümleri tekrar kontrol edin:
pg_lsclusters
Eğer bu listede 17 varsayılan ve aktif ise sorununuz çözülecektir.
Güncelleme başarıyla sonuçlandığı taktirde eski sürümü kaldırın:
sudo pg_dropcluster 15 main — stop
sudo apt remove postgresql-15
Şimdi tekrardan GVM kurulumuna devam edin:
gvm-setup
Kurulumun ardından sisteme reboot atın, tekrar login olun ve kurulumu doğrulayın:
gvm-check-setup
GVM kurulumu başarıyla sonlanacaktır.
Peki neden pg_upgradecluster kullanmak yerine manuel olarak kurulum yaptık?
pg_upgradecluster komutu mevcut paketi güncelleyecek fakat GVM için gerekli 5432 portunda yine PostgreSQL 15'i bırakacaktı. Bu porta 17'yi yönlendirmemiz ve çakışma olmaması için 15'i silmemiz gerekiyordu. Ayrıca doğrudan upgrade yapmak başlangıçta varsa açılacak servislerin çakışmasına yol açarak GVM veritabanının kullanılamaz/erişilemez bir hale gelmesine sebep olabilirdi. Bu sebeple elle düzelttik.
Keyifli, güvenli günler dilerim…