Konuyu Açan
#1
Bir veritabanı yöneticisi olarak pg_hba.conf dosyasının güvenliği ve doğru yapılandırılması, erişim kontrolünün temel taşıdır. Aşağıda, güvenlik açısından dikkat edilmesi gereken başlıklar ve pratik ipuçları bulacaksınız.
Kurulum ve temel prensipler
İlk adımlar ve güvenli prensipler
[/list]
Sık karşılaşılan hatalar ve savunma stratejileri
İyi bir deneme planı
1) Mevcut pg_hba.conf’unuzu haritalayın ve güvenlik politikasıyla karşılaştırın.
2) Dış bağlantıları kısıtlayın ve only trusted networks için filtreleyin.
3) Kimlik doğrulama yöntemlerini güncelleyin (md5/scram).
4) Değişiklik sonrası reload ile bağlantı akışını gözlemleyin ve logları inceleyin.
5) Üretimde periyodik güvenlik denetimleri ve güncelleştirmeler ile sürdürün.
Kurulum ve temel prensipler
- pg_hba.conf, hangi istemcilerin hangi veritabanlarına, hangi kullanıcılar adına, hangi kimlik doğrulama yöntemleriyle bağlanabileceğini belirler. Yanlış yapılandırma, yetkisiz erişime yol açabilir.
- Dosya konumu PostgreSQL veri dizininde bulunur. Yetkilerin yalnızca postgres kullanıcılarına yazılabilir şekilde sınırlandırılması gerekir.
- Her değişiklikten sonra PostgreSQL’i reload etmek gerekir; tam yeniden başlatma gerekli değildir. Örneğin: veya servis komutu ile yeniden yükleyin.KOD
1
SELECT pg_reload_conf();
İlk adımlar ve güvenli prensipler
- Varsayılan tüm bağlantıları reddeden bir yaklaşım hedefleyin. Örneğin, dış dünyadan bağlantıları önce engelleyin ve yalnızca gerekli subnet’lere izin verin.
- Yerel bağlantılar için güvenli kimlik doğrulama yöntemi kullanın. peer veya trust yerine, üretimde daha güvenli olan md5 veya scram-sha-256 kullanın.
- Mümkün olduğunca kaynak bazlı kurallar uygulayın.
- host all all 192.168.1.0/24 md5
- hostssl veya hostnossl gibi protokol kısıtlamalarını kullanın.
[/list]
Sık karşılaşılan hatalar ve savunma stratejileri
- Uzak SSH üzerinden veritabanı erişimini açık bırakmak telafi edilmesi güç güvenlik açıklarına yol açabilir. Ağ güvenlik duvarı ile DB sunucusunu izole edin.
- Yetkisiz kullanıcı adları için bruce-like brute force riskine karşı hesap kilitleme veya başarısız oturum denemelerini sınırlayan politikalar düşünün.
- Log düzeyini dikkatli ayarlayın. Başlangıçta ayrıntılı loglar tutun, ardından gereksiz ayrıntıyı azaltın.
İyi bir deneme planı
1) Mevcut pg_hba.conf’unuzu haritalayın ve güvenlik politikasıyla karşılaştırın.
2) Dış bağlantıları kısıtlayın ve only trusted networks için filtreleyin.
3) Kimlik doğrulama yöntemlerini güncelleyin (md5/scram).
4) Değişiklik sonrası reload ile bağlantı akışını gözlemleyin ve logları inceleyin.
5) Üretimde periyodik güvenlik denetimleri ve güncelleştirmeler ile sürdürün.
Sizce mevcut ortamınızda hangi bölgelerde açık portlar veya gevşek kimlik doğrulama kuralları var? Deneyimlerinizi ve uyguladığınız güvenlik önlemlerini paylaşır mısınız?
