2012-03-19 15 views
43

Sadece pg_hba.conf dosyasında birkaç ips ile bağlantı kısıtlamaları olan uzak bir postgresql sunucusuna bağlantı kurabilirim, ancak listen_addresses öğesi ayarlanmışsa bu yeterli olur. " * "postgresql.conf dosyasında?Birden çok ip adresi için postgresql postgresql.conf listen_addresses nasıl yapılandırılır

Bu dosyalar, söz konusu parametrenin virgülle ayrılmış bir ip adresleri listesi alabildiğini gösterir, ancak bunu yaparsam uzaktan bağlanma özelliğini kaybederim. Sunucu üzerinde cevap verecektir IP'leri değil

postgresql-8.4.9 RHEL

+0

Herhangi bir IPv4 adresinden bağlantı yapılmasına izin veren varsayılan kural '0.0.0.0'dır. Umarım bu sana yardımcı olur. – MrGomez

+2

Bağlantıların yalnızca yerel olarak mı yoksa iki uzak ips ile yapıldığından emin olmak istiyorum. Bunu pg_hba.conf dosyasında başarıyla yapılandırdım, ancak listen_addresses değeri – chrismarx

+0

olarak ayarlanmalı mı? 192.168.0.1,192.168.0.2,127.0.0.1 gibi bir CSV denediniz mi? Son durumda, '127.0.0.1', sisteminizin RFC uyumlu geri döngü adresidir. Daha fazla bilgi için bu belgeye bakın: http://www.rfc-editor.org/rfc/rfc3330.txt – MrGomez

cevap

59

listen_addresses kontrolleri sunucu gelen kimlik doğrulaması için bağlantılara izin verecektir IP'leri. listen_addresses '*''u kullanmak tamamen mantıklı ve normaldir, böylece sunucu, IP adresinin belirli bir noktadan oturum açmayı kabul ettiği daha ince bir düzeydeki erişimi denetlemek için pg_hba.conf kullanırken, postgresql sunucu ana bilgisayarında bir arabirime atanan herhangi bir ipte gelen bağlantıları kabul edecektir. veritabanları ve kullanıcılar.

+0

Tamam, bilmek istediğim şey, orada virgülle ayrılmış listeyi alma sorununu çözüyor. Teşekkürler! – chrismarx

+0

"pg_hba.conf" kontrolünün * daha açık olmasını sağlamak için düzenlenmiştir *. Sunucu hala herhangi bir dinleme arabirimindeki TCP/IP bağlantılarını kabul eder ve bağlantı istemcisiyle görüşür. Sadece istemcinin izin verilen bir IP aralığından olmadığını ve bağlantıyı kapattığını hızlı bir şekilde sonlandırır. Bu, diğer şeylerin yanı sıra, önyargılı istismarların 'pg_hba' hariç tutmayla çalışabileceği, fakat Pg'nin, istismarın geldiği arayüzde dinlemediği bir durum değil. Güvenlik duvarı kuralları değil, listen_addresses, bunun cevabıdır. –

+0

Bu çözüm benim için postgre 9.1'de çalıştı. Teşekkürler @CraigRinger –

2

Listen_address'leri '*' olarak ayarlamak normaldir, çünkü dbenhur dikkat çeker. Ayrıca bazı uzak IP'lerden ayrı olarak portlara erişimi engellemek için iptables gibi araçları kullanabilirsiniz. Her ikisini de yapabilirsiniz: güvenlikte artıklık mutlaka kötü bir şey değildir (IP adres güvenliğine güvenmek pek de iyi değildir).

+0

evet, zaten her şeyi en iyi şekilde yapılandırılmış olduğundan emin olmak için çalışıyor, zaten ip tabanlı güvenlik duvarları var. – chrismarx

İlgili konular