У нас есть правильно настроенный LDAP + Kerberos в нашей проводной сети.
Теперь мы хотим, чтобы наши пользователи входили в нашу сеть Wi-Fi, используя свои обычные учетные данные. Я нашел много HOWTOS о LDAP + RADIUS, но ни один из них не упоминает Kerberos в пакете. Может ли кто-нибудь указать мне хорошее HOWTO по интеграции RADIUS с Kerberos? Я нашел только эта короткая статья и несколько неинформативных сообщений в Usenet.
РЕДАКТИРОВАТЬ: Система - это Gentoo Linux с использованием OpenLDAP и Heimdal (Kerberos). Оборудование WiFi - это несколько Linksys WRT54GL с OpenWRT.
Вот как вы заставляете freeradius проверять комбинацию пользователя и пароля на сервере Kerberos и авторизоваться на вашем сервере LDAP - вставьте это в свой radius.conf:
modules {
krb5 {
keytab = ${confdir}/radius.keytab
service_principal = radius/radius.example.com
}
ldap {
cache = no
server = "ldap"
identity = "uid=freeradius,ou=Accounts,dc=example,dc=com"
password = secret
basedn = "dc=com"
filter = "(krbPrincipalName=%{User-Name})"
base_filter = "(objectClass=radiusprofile)"
tls {
start_tls = no
# tls_cacertfile = /path/to/cacert.pem
# tls_cacertdir = /path/to/ca/dir/
# tls_certfile = /path/to/radius.crt
# tls_keyfile = /path/to/radius.key
# tls_randfile = /path/to/rnd
# tls_require_cert = "demand"
}
default_profile = "uid=freeradius,ou=Accounts,dc=example,dc=com"
profile_attribute = "radiusProfileDn"
access_attr = "dialupAccess"
dictionary_mapping = ${raddbdir}/ldap.attrmap
ldap_connections_number = 5
groupname_attribute = cn
groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"
#groupmembership_attribute = radiusGroupName
timeout = 4
timelimit = 3
net_timeout = 1
# compare_check_items = yes
# do_xlat = yes
# access_attr_used_for_allow = yes
# set_auth_type = yes
}
}
Это предполагает, что вы добавили правильную схему радиуса (поставляется с freeradius, IIRC) в свой каталог LDAP, и она должна указать вам правильное направление --- я не использую 802.1X, но я использую эту конфигурацию для обработки другие сценарии управления доступом kerberos-via-radius, и он уже некоторое время работает в производственной среде. Очевидно, что пользователи входят в систему со своими полными участниками Kerberos (а не только с именами пользователей).
Это можно сделать с помощью 802.1x - PEAP-MSCHAP для Kerberos MIT с помощью KCRAP. Первоначально разработанные для того, чтобы позволить пользователям Samba аутентифицироваться в Kerberos с использованием NTLM, его библиотеки можно использовать в freeradius для выполнения необходимой проверки хэша NTLM.
Это решение требует, чтобы вам было удобно запускать и поддерживать индивидуальное программное обеспечение. Примерные шаги к реализации:
arcfour-hmac:normal
хеш пароля к вашему KDB. Пользователи должны будут обновить свои пароли, чтобы создать требуемый хеш для NTLM.Мы запускаем это решение для всего кампуса с устройствами Windows, которые автоматически проходят аутентификацию с использованием собственных учетных данных AD с нашими синхронизированными KDB.
Если Microsoft, то там пара статей. Технет и документ здесь Документ TechNet Word