PostgreSQL için Varsayılan Parola Hakkında
PostgreSQL’i kurarken, yeni kullanıcıların sıklıkla merak ettiği ilk şeylerden biri şudur: “PostgreSQL için varsayılan parola nedir?” Cevap beklenenden biraz daha karmaşıktır, çünkü PostgreSQL varsayılan olarak varsayılan kullanıcı için önceden tanımlanmış bir parola belirlemez. Bunun yerine, sisteminize ve yapılandırmanıza bağlı olarak “peer” veya “ident” kimlik doğrulama gibi yerel kimlik doğrulama yöntemlerine güvenir. Kurulum sırasında oluşturulan varsayılan yönetici kullanıcı genellikle ###ATP_NOTR_7_CODE_TAG_NOTR_ATP## olarak adlandırılır. Ancak, bu kullanıcının varsayılan olarak belirlenmiş bir parolası yoktur ve oturum açma erişimi genellikle yerel makineyle sınırlıdır. Veritabanıyla ###ATP_NOTR_8_CODE_TAG_NOTR_ATP## kullanıcısı olarak etkileşim kurmak için genellikle ###ATP_NOTR_9_CODE_TAG_NOTR_ATP## gibi bir komut kullanarak ##ATP_NOTR_10_CODE_TAG_NOTR_ATP## sistem kullanıcı hesabına geçmeniz ve ardından ###ATP_NOTR_11_CODE_TAG_NOTR_ATP## aracılığıyla PostgreSQL kabuğuna erişmeniz gerekir.
Uzaktan erişime veya parola tabanlı oturum açmaya izin vermek için, SQL komutlarını kullanarak ###ATP_NOTR_12_CODE_TAG_NOTR_ATP## kullanıcısı için açıkça bir parola belirlemelisiniz (örn, ##ATP_NOTR_13_CODE_TAG_NOTR_ATP##) ve ##ATP_NOTR_14_CODE_TAG_NOTR_ATP## dosyasını parola kimlik doğrulamasına izin verecek şekilde değiştirin. PostgreSQL’i üretim ortamları için yapılandırırken bunlar önemli adımlardır. PostgreSQL’de kimlik doğrulamanın nasıl çalıştığını anlamak hem işlevsellik hem de güvenlik için çok önemlidir. Veritabanınızı yetkisiz erişime karşı korumak için güçlü parolalar belirleyerek, güvenlik duvarı kurallarıyla erişimi sınırlandırarak ve kimlik doğrulama ayarlarını düzenli olarak gözden geçirerek her zaman en iyi uygulamaları izleyin
PostgreSQL’de Varsayılan Parola Yok
Bazı veritabanı sistemlerinin aksine, PostgreSQL kurulum sırasında veritabanı süper kullanıcı hesabına(postgres) varsayılan bir parola atamaz. Bunun yerine, kullanıcının parolaları açıkça oluşturmasını ve yönetmesini gerektiren güvenli bir yaklaşım izler. İlk kurulumun nasıl çalıştığı ve veritabanına nasıl erişim sağlayabileceğiniz aşağıda açıklanmıştır
- İlk Süper Kullanıcı: PostgreSQL kurulduktan sonra, sistem postgres adında varsayılan bir süper kullanıcı hesabı oluşturur. Bu hesap veritabanı üzerinde tam kontrole sahiptir.
- Önceden Tanımlanmış Parola Yok: Kutudan çıktığı haliyle PostgreSQL’in postgres kullanıcısına atanmış bir parolası yoktur. İşletim sisteminize bağlı olarak, PostgreSQL’i yüklemek için kullanılan aynı işletim sistemi hesabını (genellikle postgres veya root) kullanıyorsanız PostgreSQL’de parola olmadan oturum açabilirsiniz.
PostgreSQL’e İlk Kez Erişme
Kurulumdan sonra PostgreSQL veritabanına erişmek için aşağıdaki adımları izleyin
- Linux: Birçok Linux sisteminde, komut satırı üzerinden postgres kullanıcısına geçebilir ve PostgreSQL’e parolaya ihtiyaç duymadan erişebilirsiniz###ATP_NOTR_1_CODE_TAG_NOTR_ATP##
PostgreSQL komut istemine girdikten sonra, postgres kullanıcısı için bir parola oluşturabilirsiniz
SQLALTER USER postgres PASSWORD 'yourpassword';
- Windows: Windows için, kurulum işlemi genellikle kurulum işlemi sırasında postgres kullanıcısı için bir parola ister. Parolayı unutur veya ayarlamayı atlarsanız, bir yönetici hesabı kullanarak parolayı sıfırlayabilirsiniz.
Parola Kimlik Doğrulamasını Yapılandırma
PostgreSQL’in kimlik doğrulaması pg_hba.conf dosyası tarafından yönetilir. Bu dosya, parola kullanmaları gerekip gerekmediği veya diğer yöntemlere (eş kimlik doğrulaması gibi) izin verilip verilmediği de dahil olmak üzere kullanıcıların kimlik doğrulamasını nasıl yapacaklarını tanımlar. Örneğin, parola kimlik doğrulaması kullanıyorsanız ve postgres kullanıcısı için bir parola ayarlamanız gerekiyorsa, pg_hba.conf dosyasında yerel bağlantılar için parolayla oturum açmayı zorunlu kılmak üzere aşağıdaki satırın bulunduğundan emin olun
local all postgres md5
Bu ayar, postgres kullanıcısının bağlanırken bir MD5 karma parolası sağlamasını gerektirir
Postgres Parolasını Sıfırlama
Postgres parolasını unuttuysanız, aşağıdaki adımları izleyerek parolayı sıfırlayabilirsiniz
- Güven kimlik doğrulamasına izin vermek için pg_hba.conf dosyasını değiştirin: Pg_hba.conf dosyanızda, postgres kullanıcısının yöntemini geçici olarak yerel bağlantılar için güven olarak değiştirin. Bu, parola olmadan oturum açmanıza olanak tanır
local all postgres trust
- PostgreSQL‘i yeniden başlatın: Dosyayı düzenledikten sonra PostgreSQL hizmetini yeniden başlatın###ATP_NOTR_5_CODE_TAG_NOTR_ATP##
- Parolayı Değiştirin: Artık PostgreSQL’e parolasız erişebilir ve postgres parolasını değiştirebilirsiniz
psql -U postgres
ALTER USER postgres PASSWORD 'newpassword';
- Pg_hba.conf Değişikliklerini Geri Döndürün: Parola belirlendikten sonra, pg_hba.conf dosyasındaki değişiklikleri geri alarak parola kimlik doğrulamasını tekrar uygulayın.
PostgreSQL Parolalarını Yönetmek için En İyi Uygulamalar
- Güçlü Parolalar: Veritabanınızın güvenliğini sağlamak için postgres kullanıcısı için her zaman güçlü bir parola oluşturun.
- Rol Yönetimi: Günlük işlemler için postgres süper kullanıcısını kullanmak yerine, sınırlı ayrıcalıklara sahip yeni roller oluşturun. Bu, kimlik bilgilerinin tehlikeye girmesi durumunda riski en aza indirir.
- Kimlik Doğrulama Yöntemlerini Güncelleyin: Güvenli kimlik doğrulama yöntemleri (scram-sha-256 gibi) kullandığınızdan emin olmak için pg_hba.conf dosyanızı düzenli olarak gözden geçirin ve güncelleyin.
- Düzenli Parola Rotasyonu: Özellikle süper kullanıcı hesapları için parolaları periyodik olarak değiştirin.
Sonuç
PostgreSQL, güvenlik nedenleriyle önceden tanımlanmış bir varsayılan parolaya sahip değildir. Kurulumdan sonra, postgres kullanıcısı için manuel olarak bir parola belirlemeniz gerekir. PostgreSQL’in kimlik doğrulama sistemini ve parola yönetimi için en iyi uygulamaları anlamak, veritabanınızı yetkisiz erişime karşı korumanıza yardımcı olacaktır



