PostgreSQL Password Policy
PostgreSQL Password Policy,Veritabanına erişirken bazen işin kolayına kaçarak şifrelerimizi kısa ve şifre politikalarına uygun olmayacak şekilde yapmak isteriz fakat postgresql veritabanlarında bunu zorlamak için bazı paketler bulunmaktadır. Bunlardan birisi de postgresqlcheck paketidir.
Postgresqlcheck ile belirlenen parametreler ile şifre politakamızı belirleyebiliriz.
Bu yazımda postgresql13 üzerinde postgresqlcheck kullanımından bahsedeceğim.
ilk olarak postgresql13-contrib paketini yüklememiz gerekiyor.
yum install postgresql13-contrib
PostgreSQL’in contrib paketini indirdikten sonra aşağıdaki şekilde postgresql contrib dizinine gidiyoruz.
cd /usr/pgsql-13/share/contrib
Yukarıdaki şekilde dizine gittikten sonra aşağıdaki komut ile postgresqlcheck paketinin ve diğer paketleri indiriyoruz.
git clone https://github.com/michaelpq/pg_plugins/
Dosyamız indikten pg_plugins içerisindeki passwordcheck_extra dizine içerisine giriyoruz.
cd pg_plugins/passwordcheck_extra
passwordcheck_extra dizinine girdikten sonra aşağıdaki komutu çalıştırarak passwordcheck_extra paketinin postgresqle yüklenmesini sağlıyoruz.
PATH=/usr/pgsql-13/bin:$PATH make install
Postgresql.conf içerisinde ki shared_preload_libraries parametresini aşağıdaki şekilde değiştiriyoruz.
shared_preload_libraries = 'passwordcheck_extra'
Bu işlem postgresqlde restart istediğinden dolayı servisimizi restart ediyoruz.
systemctl restart postgresql-13
Servis restart edildikten sonra postgresql e bağlanarak aşağıdaki load komutunu çalıştırıyoruz.
LOAD 'passwordcheck_extra';
Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki şekilde şifre politakamızı postgresql üzerinden belirliyoruz.
SET passwordcheck_extra.restrict_lower = false;
SET passwordcheck_extra.restrict_upper = false;
SET passwordcheck_extra.restrict_special = false;
SET passwordcheck_extra.minimum_length = 6;
SET passwordcheck_extra.maximum_length = 18;
Yukarıda şifre içersinde büyük küçük harf olmasını ,minimum 6 karakter oluşmasını ,maksimum 18 karakter uzunluğunda olması ve özel karakter kullanılması gerektiği ile ilgili parametreleri belirtiyoruz.
create user passwrdpoltikadeneme password 'farukerdem';
Yukarıda görüldüğü gibi belirttiğimiz kurallara göre oluşturmadığımız için bize hata mesajı verdi.
Yukarıda resimde görüldüğü üzere büyük küçük harf sayi ve özel karakter girilerek kullanıcı oluşturulmak istendiğinde kullanıcımızın oluştuğunu görüyoruz.