Кириллица в паролях mod_auth_kerb

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

temp00ff
Сообщения: 3

Кириллица в паролях mod_auth_kerb

Сообщение temp00ff »

Уж сколько мучался с кодировками и вот опять.
На apache 2.2 для доступа к определенной странице используется аутентификация через контроллер домена посредством mod_auth_kerb. все прекрасно работает за исключением кириллицы в паролях пользователей. удалось выяснить только то, что клиент (браузер) при запросе аутентификации отсылает на сервер русские символы в utf8 кодировке, но аутентификация не проходит. видимо, utf8 кому-то (apach'у, mod_auth_kerb'у или контроллеру домена) не понятна.
Отмечу, что теже логины и пароли также используются и для доступа в домен при входе в Windows, здесь с кириллицей проблем никаких нет.
Даже не знаю с какой стороны подойти.

Узнал одну вещь. попроверял какую кодировку сможет принять kerberos и выяснилось, что это
досовская cp866. вот такой командой тикет успешно выдается (у терминала ssh кодировка koi8-r):
echo пароль_на_кириллице | iconv -fkoi8-r -tcp866 | kinit my_domain_login@MYDOMAIN.RU

как теперь заставить kerberos понимать utf8, в которой шлет ему пароль браузер, или на лету где-то конвертировать в cp866, ну или на худой конец заставить браузер отправлять в cp866 даж не знаю.

конфиги типичные, но на всякий случай:

Код: Выделить всё

---- start httpd.conf auth_kerb_module -----
<IfModule auth_kerb_module>
    Krb5Keytab      conf/apache.keytab
    KrbAuthRealms   MYDOMAIN.RU
    KrbMethodNegotiate off
    KrbSaveCredentials off
    KrbVerifyKDC off

    <Directory "/www/auth.php">
        AuthType Kerberos
        AuthName "Enter Login and Password"
        Require valid-user
        ErrorDocument 401 "/error/401.html"
    </Directory>
</IfModule>
---- end httpd.conf auth_kerb_module -----

Код: Выделить всё

---- start krb5.conf ----
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = MYDOMAIN.RU
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 600
 forwardable = yes
 default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
 default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc

[realms]
 MYDOMAIN.RU = {
  kdc = logonserver:88
  kdc = logonserver:88
 }

[domain_realm]
 .mydomain.ru = MYDOMAIN.RU
 mydomain.ru = MYDOMAIN.RU
---- end krb5.conf ----
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Кириллица в паролях mod_auth_kerb

Сообщение allez »

temp00ff писал(а):
21.07.2009 08:00
все прекрасно работает за исключением кириллицы в паролях пользователей.
Зачем нужна кириллица в паролях пользователей? Избавьтесь от нее и забудьте как страшный сон.
Спасибо сказали:
temp00ff
Сообщения: 3

Re: Кириллица в паролях mod_auth_kerb

Сообщение temp00ff »

allez писал(а):
21.07.2009 08:28
Зачем нужна кириллица в паролях пользователей? Избавьтесь от нее и забудьте как страшный сон.

Система kerberos аутентификации на веб-сервере строилась поверх давно существующей windows сети. узлов более тысячи и, к сожалению, пользователям никто не запрещал использовать пароли на кириллице. думаю, процентов 20-30 таких наберется.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Кириллица в паролях mod_auth_kerb

Сообщение Poor Fred »

temp00ff писал(а):
21.07.2009 08:46
Система kerberos аутентификации на веб-сервере строилась поверх давно существующей windows сети. узлов более тысячи и, к сожалению, пользователям никто не запрещал использовать пароли на кириллице. думаю, процентов 20-30 таких наберется.

Это даже сама Микрософт не рекомендует. Думаю, проще все-таки заставить юзеров пароли сменить. Перед этим оповестить их о требованиях к паролям.
Убить всех человеков!
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Кириллица в паролях mod_auth_kerb

Сообщение allez »

temp00ff писал(а):
21.07.2009 08:46
Система kerberos аутентификации на веб-сервере строилась поверх давно существующей windows сети. узлов более тысячи и, к сожалению, пользователям никто не запрещал использовать пароли на кириллице. думаю, процентов 20-30 таких наберется.

М-да, вот уж не повезло, так не повезло...
Kerberos: получение билета от Win2003 PDC
non-ascii password in kerberos authentication
kerberos non-ascii characters in password
Спасибо сказали:
temp00ff
Сообщения: 3

Re: Кириллица в паролях mod_auth_kerb

Сообщение temp00ff »

allez, за non-ascii password in kerberos спасибо, не догадался так у гугла спросить, ток сyrillic вбивал =)

Это даже сама Микрософт не рекомендует. Думаю, проще все-таки заставить юзеров пароли сменить. Перед этим оповестить их о требованиях к паролям.

Если технически по-быстрому не получится, то действительно проще так и сделать.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Кириллица в паролях mod_auth_kerb

Сообщение drBatty »

temp00ff писал(а):
21.07.2009 11:11
Если технически по-быстрому не получится, то действительно проще так и сделать.

если есть такая проблема - запретите пользователям вводить такой пароль...
на самом деле,это ведь и для юзера - зло.
у всех в виндовс стоит кодировка в новом окне EN, и вводят они латиницей.
что-то dhjlt 'njuj
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: