У меня нет доступа к установке Postgres, поэтому я не могу проверить.
Я - охранник, и я вижу незашифрованные пароли в журналах:
create user user1 with password 'PLAINTEXT PASSWORD'
Как администраторы могут изменять или создавать свои пароли без пароля в открытом виде в журналах?
Я видел это , в котором говорится, что вы можете использовать хэш-пароль md5, но затем этот хеш также в открытом виде. Есть ли способ лучше?
postgresql
postgresql-9.3
logs
password
Schroeder
источник
источник
\password
командуpsql
.Ответы:
Звучит как
log_statement
установленоall
.Если вы хотите, чтобы пароли не появлялись в журналах, в то время
log_statement
как установлено значение, которое захватываетALTER USER
/,ALTER ROLE
то вы захотите изменить это при смене паролей. напримерВы должны быть суперпользователем, чтобы сделать это. Обычные пользователи не могут переопределить правила ведения журнала.
Было бы хорошо , если PostgreSQL поддерживается маркировки некоторых параметров в операторы (или даже функцию) в качестве защиты чувствительных и позволил пользователям с просьбой , чтобы они были замаскированы в виде бревен,
pg_stat_statements
,pg_stat_activity
и т.д. Существует в настоящее время не любая такая особенность - но эй, патчи добро пожаловать. Если вы действительно заинтересованы, напишите на pgsql-hackers, прежде чем писать какой-либо реальный код, чтобы вы могли получить советы и комментарии. Кроме того, поговорите с кем-то, кто занимается контрактной разработкой.В общем, PostgreSQL ожидает, что вы будете рассматривать журналы как конфиденциальные.
Существуют и другие области, в которых ведение журнала является серьезной проблемой безопасности. Например, некоторые
pgcrypto
функции принимают в качестве параметров ключи шифрования.источник
В настоящее время принятый ответ не работает для меня на Postgres 9.4, так как пароль не отображается в журналах.
Вместо этого у меня сработало локальное создание хэша пароля:
Затем вставив это:
(Примечание по безопасности: в зависимости от того, где вы генерируете вышеупомянутое, вы можете запретить вашей оболочке регистрироваться в своей истории, или в общей системе вы можете использовать утилиту * nix, которая запрашивает пароль, а не фактически включает его в Я оказался не в общей системе, так что меня это не беспокоило.)
источник