LINUX.ORG.RU
решено ФорумAdmin

Freeradius+ Win7. Проблема автоматической авторизации

 , ,


0

1

Добрый день.

Настроил однажды Freeradius 3 проверил, протестировал и оказалось, что все отлично работает и выполняет свои задачи. Внедрить в продакш по определенным причинам не получилось. Пока радиус работал периодически обновлялся итд.

Теперь настал его час. И вышла интересная оказия с которой вы, возможно, стакивались. Авторизация в ручном режиме проходит(пользователь руками вводит), а когда Win7 автоматически отправляет данные авторизации - нет.

Используется peap\mschapv2 ну и проверка по сертификату, но это значения не имеет, а может иметь то что клиенты в домене сервер freeradius заведен в домен через winbind. В логах выводит при ручном, что логин правильный, при автоматическом что не правильный. Причем явных ошибок нет.

Было ли такое?

Спасибо.

Логи и дебаг постараюсь выложить завтра.


Вот и логи. Пароль и имя пользователя при автоматической и ручной авторизации совпадают. Лог коннекта с автоматической авторизацией:

(55) eap: Peer sent code Response (2) ID 0 length 25
(55) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(55)     [eap] = ok
(55)   } # authorize = ok
(55) Found Auth-Type = EAP
(55) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(55)   authenticate {
(55) eap: Identity does not match User-Name, setting from EAP Identity
(55) eap: Failed in handler
(55)     [eap] = invalid
(55)   } # authenticate = invalid
(55) Failed to authenticate the user
(55) Login incorrect: [user_name/<via Auth-Type = EAP>] (from client 192.168.10.22 port 15 cli 8056f233f38f)
(55) Using Post-Auth-Type Reject

Лог коннекта без ошибки (ручная авторизация):

(56) eap: Peer sent code Response (2) ID 0 length 16
(56) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize
(56)     [eap] = ok
(56)   } # authorize = ok
(56) Found Auth-Type = EAP
(56) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(56)   authenticate {
(56) eap: Peer sent method Identity (1)
(56) eap: Calling eap_peap to process EAP data
(56) eap_peap: Initiate
(56) eap_peap: Start returned 1
(56) eap: EAP session adding &reply:State = 0xc350eadfc351f377
(56)     [eap] = handled
(56)   } # authenticate = handled
(56) Using Post-Auth-Type Challenge
(56) Post-Auth-Type sub-section not found.  Ignoring.
(56) # Executing group from file /usr/local/etc/raddb/sites-enabled/default
(56) Sent Access-Challenge Id 0 from 192.168.7.101:1812 to 192.168.10.22:56954 length 0
(56)   EAP-Message = 0x010100061920
(56)   Message-Authenticator = 0x00000000000000000000000000000000
(56)   State = 0xc350eadfc351f377d2e5da6899e877c7
(56) Finished request
Различия начинаются с этой строчки в логе с неправильной авторизацией:
(55) eap: Identity does not match User-Name, setting from EAP Identity
(55) eap: Failed in handler

Такое впечатление, что win7 в автоматическом режиме добавляет, что-то свое.

Нужны ваши мысли. :)

Спасибо!

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

Faildows авторизуется не с именем пользователя, а с именем компьютера, как вариант, приходящий на ум сразу же...

dhameoelin ★★★★★
()
Ответ на: комментарий от pic0

И что? Тебе ж в логе автоподключения английским по чёрному написано, что Identity не совпадает с именем. Увеличь подробность логов. И поснифай трафик. Второй раз вангую авторизацию от имени хоста.

dhameoelin ★★★★★
()
Ответ на: комментарий от dhameoelin
(55) Login incorrect: [user_name/<via Auth-Type = EAP>]

user_name - это логин Поснифал ничего не видно.

Глубже чем debug вроде нет.

pic0
() автор топика
Ответ на: комментарий от dhameoelin

Код события:36888

Возникло следующее неустранимое предупреждение: 48. Внутреннее состояние ошибки: 552.

Код события: 36882

Сертификат, полученный от удаленного сервера, был выдан ненадежным центром сертификации. Из-за этого данные сертификата нельзя проверить. Запрос на SSL-подключение не удалось выполнить. В прилагаемых данных содержится сертификат сервера.

Но фишка в том, что вручную проходит.

pic0
() автор топика
Ответ на: комментарий от dhameoelin

Неа. Оказалось владельцем сертификата был root. Нужно изменить на пользователя из под которого запускается freeradius.

Все равно проблема с коннектом осталась. Проблема: Когда коннектишься вручную т.е. без имени домена все проходит ок. в tcpdump пишет что приход запрос с именем без домена и коннект проходит. В автоматическом режиме лог пишет, что имя пользователя уже с доменом и дает отлуп.

Естественно использую with_ntdomain_hack=yes в @mschap. Тоже пробую ставить и в @preprocess такая же реакция.

Очевидно, что радиус выделывается. Но с какой стороны понять не могу.

pic0
() автор топика
Ответ на: комментарий от dhameoelin

Решилось Заменил строчку:

#ntlm_auth = "/usr/local/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}"
        
на
ntlm_auth = "/usr/local/bin/ntlm_auth --request-nt-key --username=%{mschap:User-Name:-None} --domain=%{%{mschap:NT-Domain}:-YOUR DOMAIN} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}"

Важно указывать домен. YOUR DOMAIN замените на ваш.

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