Методы аутентификации кратных чисел для Postgresql

Действительно ли возможно иметь машину позади брандмауэра И иметь общедоступный IP-адрес? Чем это называют или где я могу найти больше информации?

Конечно. Это зависит от Вас имеющий routeable пространство IP-адресов и брандмауэр ОС, которая может также действовать как маршрутизатор (Linux и другие).

Если у Вас есть пространство действительного адреса, которое можно разделить на подсети затем, это тривиально. Просто поместите подсеть на один из сетевых интерфейсов в брандмауэре.

Можно даже сделать это использование только единственная подсеть, если Вы делаете некоторое волшебство с прокси arp. Псевдомосты с ARP прокси.

6
задан 16 March 2012 в 21:53
2 ответа

Нет - Поскольку записи pg_hba.conf проверяются последовательно для каждой попытки подключения, порядок записей имеет значение. - Другими словами, «Первое совпадение - это метод, который я собираюсь использовать».
Вам нужно будет явно перечислить все локальные ( md5 ) учетные записи, прежде чем переходить к аутентификации LDAP «всех пользователей», чтобы это работало (и это начинает мешать поддержанию pg_hba. conf ).

В качестве обходного пути вы можете использовать метод аутентификации pam и настроить службу PAM «postgres» на использование любых методов, которые вы хотите (включая возврат к альтернативным методам), но это ограничивает вас любыми модулями PAM, установленными / настроенными в вашей системе.
(Для достаточно широких определений «ограничений» - например, вы можете использовать одноразовые пароли для учетных записей Postgres, если вы используете PAM в качестве метода аутентификации).

6
ответ дан 3 December 2019 в 00:29

Я столкнулся с той же проблемой; Я хотел использовать md5 для пользователя приложения и ldap для других пользователей в моей организации. Одно отличие состоит в том, что я использую официальный образ Docker Postgres, но мой метод должен работать для обычных пользователей Postgresql.

Образ Docker Postgres по умолчанию поставляется с пользователем postgres . Вы можете добавить конкретного пользователя в свой файл pg_hba.conf , предварительно поставив имя пользователя знаком плюса + .

Мой pg_hba.conf оказался следующим:

local all all                    trust
host  all all       127.0.0.1/32 trust
host  all all       ::1/128      trust
host  all +postgres all          md5
host  all all       all          ldap ldapurl="ldap://192.168.1.2:389/ou=People,dc=Company,dc=com?uid?one"

Вторая предпоследняя строка поддерживает пользователя приложения, postgres , а последняя строка поддерживает несколько учетных записей пользователей LDAP.

0
ответ дан 3 December 2019 в 00:29

Теги

Похожие вопросы