我们已经在我们的有线networking上正确configuration了LDAP + Kerberos。
现在我们希望我们的用户使用他们的正常凭证login到我们的WiFinetworking。 我发现很多关于LDAP + RADIUS的HOWTOS,但是没有一个提到Kerberos。 任何人都可以指向我一个很好的将RADIUS与Kerberos集成的HOWTO? 我在Usenet上只发现了这篇短文和一些非信息性文章。
编辑:系统是使用OpenLDAP和Heimdal(Kerberos)的Gentoo Linux。 WiFi硬件是几个带有OpenWRT的Linksys WRT54GL。
这可以使用802.1x – PEAP-MSCHAP与MIT的kerberos在KCRAP的帮助下完成 。 最初是为了允许Samba用户使用NTLM向kerberos进行身份validation而开发的,它可以在freeradius中使用库来执行所需的NTLM哈希validation。
这个解决scheme要求你很容易地运行和维护定制软件。 实施的粗略步骤是:
arcfour-hmac:normal密码哈希添加到您的KDB。 用户将不得不更新他们的密码来为NTLM创build所需的散列。 我们为整个园区运行该解决scheme,并使用其自身的AD凭证自动对我们的同步KDB进行身份validation。
下面是你如何让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 } }
这假设你已经在你的LDAP目录中添加了正确的半径模式(带有freeradius,IIRC),它应该指向你正确的方向—我不做802.1X,但是我使用这个configuration来处理其他kerberos-via-radius访问控制场景,现在已经在生产中运行了一段时间了。 显然,用户正在用他们全部的kerberos校长login(而不仅仅是用户名)。
如果微软那么有一些文章。 Technet和此处的文档TechNet Word文档