Всем привет!В наследство от предыдущего системного администратора мне досталась связка 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.
Заранее спасибо тем, кто ответит.
PAP вообще зло, его надо явно запрещать, CHAP только v2. Запусти radius в дебаг режиме и смотри что там
> ... Запусти radius
> в дебаг режиме и смотри что тамALex_hha, помогло! По дебагу я довольно быстро все понял: надо было новым юзерам в LDAP включить расширения для Самбы, чтобы M$chap заработал :)
Спасибо!
Столкнулся с такой же проблемой. Подскажите пожалуйста что вы имели в виду под
> надо было новым юзерам в LDAP включить расширения для Самбы, чтобы M$chap заработал :)
> Столкнулся с такой же проблемой. Подскажите пожалуйста что вы имели в виду
> под
>> надо было новым юзерам в 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
>[оверквотинг удален]
> sambaBadPasswordCount
> sambaBadPasswordTime
> sambaDomainName
> sambaPrimaryGroupSID
> sambaLogonScript
> sambaLMPassword
> sambaAcctFlags
> sambaNTPassword
> sambaPwdLastSet
> sambaPwdMustChangeПчитал еще разного сегодня. Получается можно просто через /usr/local/etc/raddb/ldap.attrmap натравить радиус на нужные атрибуты. Но есть одно но похоже при MSCHAP аутентификации радиус хочет чтобы пароль открытым текстом лежал, чего не очень хочу я. Скажите пожалуйста у вас пароль в LDAP как-то шифруется?
>[оверквотинг удален]
>> sambaLMPassword
>> sambaAcctFlags
>> sambaNTPassword
>> sambaPwdLastSet
>> sambaPwdMustChange
> Пчитал еще разного сегодня. Получается можно просто через /usr/local/etc/raddb/ldap.attrmap
> натравить радиус на нужные атрибуты. Но есть одно но похоже при
> MSCHAP аутентификации радиус хочет чтобы пароль открытым текстом лежал, чего не
> очень хочу я. Скажите пожалуйста у вас пароль в LDAP как-то
> шифруется?естественно :)
>[оверквотинг удален]
>>> sambaAcctFlags
>>> sambaNTPassword
>>> sambaPwdLastSet
>>> sambaPwdMustChange
>> Пчитал еще разного сегодня. Получается можно просто через /usr/local/etc/raddb/ldap.attrmap
>> натравить радиус на нужные атрибуты. Но есть одно но похоже при
>> MSCHAP аутентификации радиус хочет чтобы пароль открытым текстом лежал, чего не
>> очень хочу я. Скажите пожалуйста у вас пароль в LDAP как-то
>> шифруется?
> естественно :)В смысле в LDAP у вас храниться хешь или пароль? Просто исходя из описания протокола CHAP http://ru.wikipedia.org/wiki/CHAP , хранить нужно именно пароли. Во всяком случаи я так понял. Поправьте если я не прав.
> В смысле в LDAP у вас храниться хешь или пароль? Просто исходя
> из описания протокола CHAP http://ru.wikipedia.org/wiki/CHAP , хранить нужно именно пароли.
> Во всяком случаи я так понял. Поправьте если я не прав.Хм оказалось что поля sambaNTPassword действительно хранят хешь, причем этот хешь подходит для CHAP авторизации в отличии от прочих. Спасибо за помощь.
> В смысле в LDAP у вас храниться хешь или пароль? Просто исходя
> из описания протокола CHAP http://ru.wikipedia.org/wiki/CHAP , хранить нужно именно пароли.
> Во всяком случаи я так понял. Поправьте если я не прав.хеш конечно