У меня есть PHP-скрипт на моем сервере, которому для правильной работы нужен доступ к пользователю базы данных. Человек, который программировал этот PHP-скрипт, сказал добавить следующее в pg_hba.conf:
host all all 127.0.0.1/32 trust
Может ли это вызвать у меня какие-либо проблемы, связанные с безопасностью? Исходя из моего понимания, эта строка позволяет скриптам, размещенным локально, подключаться к pgsql без пароля. Это правильно?
Может ли наличие этой строки привести к установлению удаленных подключений к моей базе данных без пароля базы данных?
решение1
Да, то есть конфигурация, котораявам следует избегать, за исключением очень ограниченных особых случаев:
доверять
Разрешить подключение безусловно. Этот метод позволяет любому, кто может подключиться к серверу базы данных PostgreSQL, войти в систему как любой пользователь PostgreSQL по своему желанию, без необходимости ввода пароля или какой-либо другой аутентификации.
[..]
Аутентификация доверия подходит только для соединений TCP/IP, если вы доверяете каждому пользователю на каждой машине, которой разрешено подключаться к серверу строками pg_hba.conf, которые указывают доверие. Редко бывает разумно использовать доверие для любых соединений TCP/IP, кроме тех, что с localhost (127.0.0.1).
Обратите внимание, что разрешение подключений без указания пароля может быть уже реализовано, так как многие дистрибутивы по умолчанию аутентифицируют подключения через сокеты unix в качестве подключающегося пользователя. Это обычно приводит к тому, что www-data
системный пользователь может использовать www-data
пользователя postgres без пароля. Проверьте остальную часть конфигурации аутентификации, чтобы узнать, так ли это.
Рекомендация:Предоставьте пароль или сертификат аутентификации, сделайтенетпродолжить с trust
опцией.
Обратите внимание также, что ограничение чего-либо только адресами обратной связи обычно не является достаточно надежной гарантией от внешнего доступа. Существует долгая история доступа к службам, связанным с обратной связью, через другое программное обеспечение, действующее как непреднамеренный прокси.