Как настроить postgresql postgresql.conf listen_addresses для нескольких IP-адресов

Я могу нормально подключиться к удаленному серверу postgresql, который имеет ограничения на подключение к нескольким IP-адресам в файле pg_hba.conf, но достаточно ли этого, если в файле postgresql.conf для listen_addresses установлено значение "*"?

Эти файлы указывают, что этот параметр может принимать разделенный запятыми список IP-адресов, но если я это сделаю, я потеряю возможность удаленного подключения.

postgresql-8.4.9 rhel

Ответ 1

listen_addresses контролирует, на какие IP-адреса будет отвечать сервер, а не на какие IP-адреса сервер будет разрешать подключения для аутентификации. Это вполне разумно и нормально использовать listen_addresses '*', чтобы сервер принимал входящие соединения на любом ip, назначенном интерфейсу на сервере postgresql, при использовании pg_hba.conf для контролировать доступ на более мелком уровне, для которого IP-адреса сервер будет принимать логины для конкретных баз данных и пользователей.

Ответ 2

Настройка listen_addresses на '*' нормальна, как указывает dbenhur. Также вы можете использовать такие инструменты, как iptables, чтобы запретить доступ к порту отдельно от некоторых удаленных IP-адресов. Вы можете сделать и то и другое: избыточность в безопасности не обязательно является плохим (хотя, полагаясь на безопасность IP-адреса, это не так хорошо).