URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94109
[ Назад ]

Исходное сообщение
"OpenLDAP+FreeRADIUS. PAP vs. CHAP"

Отправлено Martes , 03-Дек-12 17:46 
Всем привет!

В наследство от предыдущего системного администратора мне досталась связка OpenLDAP+FreeRADIUS (slapd+radiusd). Используется, в частности, для аутентификации пользователей VPN (MPD5).

Проблема в том, что для некоторых LDAP-пользователей (в основном - новых) аутентификация для VPN не работает и есть несколько признаков, что проблему создает FreeRADIUS или связка OpenLDAP+FreeRADIUS.

Для одного из таких пользователей я обнаружил, что он может или не может аутентифицироваться через radtest в зависимости от метода аутентификации (PAP или CHAP):


# radtest -t mschap atest qwerty7 127.0.0.1:1812 0 testing123
Sending Access-Request of id 236 to 127.0.0.1 port 1812
User-Name = "atest"
NAS-IP-Address = 10.10.10.10
NAS-Port = 0
MS-CHAP-Challenge = 0xb4e58ba4a910afba
MS-CHAP-Response = 0x000100000000000000000000000000000000000000000000000051162f3f96df8e7e42da05029a7c1a501d16a2ba0faae307
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=236, length=20
# radtest -t pap atest qwerty7 127.0.0.1:1812 0 testing123
Sending Access-Request of id 187 to 127.0.0.1 port 1812
User-Name = "atest"
User-Password = "qwerty7"
NAS-IP-Address = 10.10.10.10
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=187, length=20

При этом в логах OpenLDAP в нескольких вариантах логирования для PAP и CHAP все выглядит одинаково. Есть старые пользователи, для которых аутентифакация в radtest проходит нормально независимо от PAP и CHAP. Естественно, что по всем параметрам, которые я мог вообразить, постарался сделать пользователя atest максимально одинаковым с пользователями, у которых все работает.

Прошу подсказать, куда можно копать, чтобы atest мог нормально аутентифицироваться независимо от PAP и CHAP.

Заранее спасибо тем, кто ответит.


Содержание

Сообщения в этом обсуждении
"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ALex_hha , 03-Дек-12 19:01 
PAP вообще зло, его надо явно запрещать, CHAP только v2. Запусти radius в дебаг режиме и смотри что там

"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено Martes , 04-Дек-12 13:06 
> ... Запусти radius
> в дебаг режиме и смотри что там

ALex_hha, помогло! По дебагу я довольно быстро все понял: надо было новым юзерам в LDAP включить расширения для Самбы, чтобы M$chap заработал :)

Спасибо!


"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ComBin , 23-Янв-13 01:25 
Столкнулся с такой же проблемой. Подскажите пожалуйста что вы имели в виду под
> надо было новым юзерам в LDAP включить расширения для Самбы, чтобы M$chap заработал :)

"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ALex_hha , 23-Янв-13 12:30 
> Столкнулся с такой же проблемой. Подскажите пожалуйста что вы имели в виду
> под
>> надо было новым юзерам в LDAP включить расширения для Самбы, чтобы M$chap заработал :)

# cat /etc/openldap/slapd.conf | grep samba
include    /etc/openldap/schema/samba.schema

ну и у пользователя должны быть соотв атрибуты


# smbldap-usershow ldap_user | grep -i samba | cut -d ':' -f 1
sambaLogonTime
sambaLogoffTime
sambaPwdCanChange
sambaSID
sambaHomeDrive
sambaHomePath
sambaKickoffTime
sambaBadPasswordCount
sambaBadPasswordTime
sambaDomainName
sambaPrimaryGroupSID
sambaLogonScript
sambaLMPassword
sambaAcctFlags
sambaNTPassword
sambaPwdLastSet
sambaPwdMustChange


"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ComBin , 23-Янв-13 12:46 
>[оверквотинг удален]
> sambaBadPasswordCount
> sambaBadPasswordTime
> sambaDomainName
> sambaPrimaryGroupSID
> sambaLogonScript
> sambaLMPassword
> sambaAcctFlags
> sambaNTPassword
> sambaPwdLastSet
> sambaPwdMustChange

Пчитал еще разного сегодня. Получается можно просто через /usr/local/etc/raddb/ldap.attrmap натравить радиус на нужные атрибуты. Но есть одно но похоже при MSCHAP аутентификации радиус хочет чтобы пароль открытым текстом лежал, чего не очень хочу я. Скажите пожалуйста у вас пароль в LDAP как-то шифруется?


"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ALex_hha , 23-Янв-13 13:15 
>[оверквотинг удален]
>> sambaLMPassword
>> sambaAcctFlags
>> sambaNTPassword
>> sambaPwdLastSet
>> sambaPwdMustChange
> Пчитал еще разного сегодня. Получается можно просто через /usr/local/etc/raddb/ldap.attrmap
> натравить радиус на нужные атрибуты. Но есть одно но похоже при
> MSCHAP аутентификации радиус хочет чтобы пароль открытым текстом лежал, чего не
> очень хочу я. Скажите пожалуйста у вас пароль в LDAP как-то
> шифруется?

естественно :)


"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ComBin , 23-Янв-13 13:20 
>[оверквотинг удален]
>>> sambaAcctFlags
>>> sambaNTPassword
>>> sambaPwdLastSet
>>> sambaPwdMustChange
>> Пчитал еще разного сегодня. Получается можно просто через /usr/local/etc/raddb/ldap.attrmap
>> натравить радиус на нужные атрибуты. Но есть одно но похоже при
>> MSCHAP аутентификации радиус хочет чтобы пароль открытым текстом лежал, чего не
>> очень хочу я. Скажите пожалуйста у вас пароль в LDAP как-то
>> шифруется?
> естественно :)

В смысле в LDAP у вас храниться хешь или пароль? Просто исходя из описания протокола CHAP http://ru.wikipedia.org/wiki/CHAP , хранить нужно именно пароли. Во всяком случаи я так понял. Поправьте если я не прав.


"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ComBin , 24-Янв-13 10:32 
> В смысле в LDAP у вас храниться хешь или пароль? Просто исходя
> из описания протокола CHAP http://ru.wikipedia.org/wiki/CHAP , хранить нужно именно пароли.
> Во всяком случаи я так понял. Поправьте если я не прав.

Хм оказалось что поля sambaNTPassword действительно хранят хешь, причем этот хешь подходит для CHAP авторизации в отличии от прочих. Спасибо за помощь.


"OpenLDAP+FreeRADIUS. PAP vs. CHAP"
Отправлено ALex_hha , 24-Янв-13 11:13 
> В смысле в LDAP у вас храниться хешь или пароль? Просто исходя
> из описания протокола CHAP http://ru.wikipedia.org/wiki/CHAP , хранить нужно именно пароли.
> Во всяком случаи я так понял. Поправьте если я не прав.

хеш конечно