Postgresql Veri Tabanı pg_hba.conf Dosyası

Postgresql veri tabanına client erişimleri pg_hba.conf dosyası tarafından kontrol edilmektedir. Pg_hba.conf dosyası PGDATA dizininde yer alır. HBA’nın açılımı host-based-authentication’dur. Veri tabanı kurulumu sırasında initdb işlemi ile default kayıtları içeren bir pg_hba.conf dosyası oluşturulur. En çok kullanılan client tanımlamaları aşağıdaki gibidir.

local : Bu kayıt localhost’dan gelen kayıtlar için izinleri tanımlamaya yarar.

Host : TCP/IP protokolü ile veri tabanına bağlantı kurmak isteyen clientlar için kural tanımlamayı sağlar.

Host-ssl : TCP/IP protokolü kullanılarak sadece SSL bağlantı taleplerine karşılık vermek için kullanılan tanımlamadır.

Hostnossl : SSL kullanmadan sadece TCP/IP üzerinden gelen bağlantı taleplerini karşılamak için kullanılan tanımlamadır.

Database : Bağlantı izinlerinin hangi veri tabanı için geçerli olacağını tanımlar. Serverdaki bütün veri tabanlarına izin vermek için ‘all’ keywordü kullanılır.

User : Kullanıcı bazlı filtreleme yapmak için kullanılabilir. Belirli bir IP’den gelen belirli kullanıcılar için ayrı kurallar yazılabileceği gibi ‘all’ keywordü kullanılarak bütün kullanıcılar için kural tanımlaması da yapılabilir.

Address : Bağlantı talebinin geldiği adresi belirtir. Bir IP adresi belirtilebileceği gibi IP aralığı da belirtilebilir.

172.20.143.89/32 Tek bir IP için

172.20.143.0/24 son bloğa göre gelen bütün IP’lere izin vermek için

10.6.0.0/16 Son iki bloğa göre gelen bütün IP’lere izin vermek için.

auth-method : Kullanıcıdan gelen bağlantı isteği bütün krititerlere uyuyor ise en son gerçekleştirilecek doğrulama adımıdır.

Trust : Password sorulmaz. Gelen kullanıcı tanımlanan IP izinlerine uygunsa direkt bağlanabilir veri tabanına

Reject : Gelen bağlantı talebi ne olursa olsun reddedilir.

Scram-sha-256 : Kullanıcının şifre doğrulaması bu algoritma ile yapılır.

Password : Kullanıcının şifre doğrulaması şifrelenmemiş şekilde yapılır. Yani network üzerinde kullanıcının passwordu text halinde iletilir.

Md5 : Kullanıcının şifre doğrulaması MD5 algoritması ile yapılır.

Ldap : LDAP server kullanılarak işlem gerçekleştirilir.

Örnekler :

# psql ile bağlanırken testuser’ı engellemek için girilen hba kaydı

# TYPE  DATABASE        USER            ADDRESS                 METHOD

local      all                       postgres                                              trust

local      all                        testuser                                             reject

Şu şekilde test edilebilir : bash-4.2$ psql -d postgres -U testuser

bash-4.2$ psql -d postgres -U postgres

# localhost’an bağlanırken postgres user’ının testdb’ye bağlantısını kesmek için kullanılan kayıt

host    testdb          testuser 127.0.0.1/32            md5

host    testdb          postgres 127.0.0.1/32            reject

Şu şekilde test edilebilir : bash-4.2$ psql -h 127.0.0.1 -p 5432 -d testdb -U testuser

# 192.168.192.1 IP’sinden testdb veritabanına testuser ile bağlanabilmek için kullanılan kayıt

host    testdb          testuser        192.168.192.1/32        trust

host    testdb          postgres        192.168.192.1/32        reject

Belirli bir IP bloğundan gelen bütün bağlantılara şifre sorarak geçiş izni veren pg_hba.conf kaydı aşağıdaki gibi düzenlenir.

host    all             all             192.168.192.0/24               trust

Bütün IP’lerden gelen bütün bağlantılara izin veren pg_hba.conf kaydı bu şekilde düzenlenir. ( allow all IP in pg_hba.conf )

host    all             all             0.0.0.0/0               trust

Veysel YUKSEL
Latest posts by Veysel YUKSEL (see all)

Veysel YUKSEL

RDBMS ve NoSQL veri tabanı yönetimi ve Big Data teknolojileri.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir