[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Проблема безопасности при аутенфикации через PAM в PostgreSQL



On Thu, 1 Oct 2009 11:13:58 +0800
Денис <feklushkin.denis@gmail.com> wrote:

> Не знаю, может я неправильно понимаю идею, но:

Люди, скажите хоть, это не выглядит как проблема, я что-то не понимаю,
есть другие пути? Не молчите только плиз :)

> 
> Если держать пользователей в SQL DB то нежелательно их
> аутентифицировать через NSS, так как это предполагает открытие доступа
> в таблицу с пользователями, включая их пароли для хоста. То есть,
> в настройках будет это:
> 
> # grep getpwuid /etc/nss-pgsql.conf 
> getpwuid        = SELECT username, passwd, gecos, homedir, shell, uid,
> gid FROM passwd_table WHERE uid = $1
> 
> В случае если на одном хосте, который берёт пользователей из базы,
> случится взлом с получением рутовых прав ничто не сможет помешать

украсть

> список пользователей и их парольных хэшей для всех обслуживаемых
> базой хостов. Значит, аутенфикация пользователей по NSS отменяется.
> 
> Но и PAM (по крайней мере, модуль pam_pgsql 0.6) требует настройки,
> содержащей команду, возвращающую пароль (или его хэш):
> 
> # auth_query          - authentication query
> #                       (should return one column - password)
> auth_query = select user_password from account where user_name = %u
> 
> То бишь, на взломанном хосте берём пароль к базе из настроек NSS,
> берём из базы все имена пользователей, потом пробегаемся по этим
> именам используя логин из настроек pam_pgsql и получаем хэши паролей.
> Заряжаем в перебералку парлей и вуаля - получаем (некоторые, конечно)
> пароли пользователей всей(!) системы, обслуживаемой данной SQL DB.

пароли пользователей ото всех систем из данной таблицы

> 
> Как бы перенести проверку пароля с клиентского хоста в саму базу
> данных или куда-нибудь ещё с потенциально уязывимых машин?

Kerberos тут не поможет?

Attachment: signature.asc
Description: PGP signature


Reply to: