LINUX.ORG.RU
ФорумAdmin

механизмы аутентификации.


0

0

Товарищи, объясните мне пожалуйста одну вещь.

Я вот настраиваю почтовый сервер, pop3, для определённости - dovecot. Он поддерживает разные механизмы аутентификации - PLAIN, LOGIN, CRAM-MD5, DIGEST-MD5 и ещё парочку. Считается, что передавать пароль открытым текстом по сети - это плохо, а использовать ssl не всегда есть возможность. Поэтому очень хочется заставить работать метод CRAM-MD5 который, как я понял, обеспечивает то, что нужно, без использования SSL.

Однако, как оказывается, он может быть использован в двух случаях - если мы храним пароль пользователя открытым текстом (это, понятно, не вариант), или если мы храним его в виде чего-то, что называется HMAC-MD5 хеш. В криптографии я не силён, но думаю, что меня не обманули.

И ещё оказывается, что нет нормального способа класть этот HMAC-MD5 хеш в /etc/shadow или где там хранятся пароли (ldap, mysql, etc). Ну то есть, чтобы пользователь сказал passwd, ввёл новый пароль и в /etc/passwd уже лежал нужный хеш. Можно туда положить crypt от пароля, можно сделать md5 или sha хеш, если поприседать, можно положить пароль открытым текстом (что не есть гуд), а вот этот хитрый hmac-md5 не получается.

Расскажите мне пожалуйста, всё и правда так плохо или мне только кажется? или может я что-то неправильно понял?
anonymous

Прошу прощения, форматирование съехало. Повтор.

Я вот настраиваю почтовый сервер, pop3, для определённости - dovecot. Он поддерживает разные механизмы аутентификации - PLAIN, LOGIN, CRAM-MD5, DIGEST-MD5 и ещё парочку. Считается, что передавать пароль открытым текстом по сети - это плохо, а использовать ssl не всегда есть возможность. Поэтому очень хочется заставить работать метод CRAM-MD5 который, как я понял, обеспечивает то, что нужно, без использования SSL.

Однако, как оказывается, он может быть использован в двух случаях - если мы храним пароль пользователя открытым текстом (это, понятно, не вариант), или если мы храним его в виде чего-то, что называется HMAC-MD5 хеш. В криптографии я не силён, но думаю, что меня не обманули.

И ещё оказывается, что нет нормального способа класть этот HMAC-MD5 хеш в /etc/shadow или где там хранятся пароли (ldap, mysql, etc). Ну то есть, чтобы пользователь сказал passwd, ввёл новый пароль и в /etc/passwd уже лежал нужный хеш. Можно туда положить crypt от пароля, можно сделать md5 или sha хеш, если поприседать, можно положить пароль открытым текстом (что не есть гуд), а вот этот хитрый hmac-md5 не получается.

Расскажите мне пожалуйста, всё и правда так плохо или мне только кажется? или может я что-то неправильно понял?

anonymous
()
Ответ на: комментарий от anonymous

Не ясно, в чём состоит вопрос. Можно ли иметь единое хранилище паролей для всех служб и локального логина? Можно, ответ - Kerberos. Или как заставить Dovecot аутентифицировать пользователя по /etc/shadow? Ну, не уверен насчёт dovecot, но в Cyrus-SASL, есть демон saslauthd, который может читать /etc/shadow и выполнять проверку паролей для других сервисов. Dovecot использует свою реализацию SASL, есть ли там что-то подобное - не уверен. Кстати, они утверждают, что их реализация поддерживает GSSAPI (в сущности Kerberos5), так что есть повод задуматься.

geekkoo
()

Пофигу
ВСЕГДА использовать SSL и не мучится
Клиентов которые умеют CRAM-MD5, DIGEST-MD5 слишком мало чтобы ими пользоваться !

odip ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.