通过Azure Active Directory进行FreeRADIUS身份验证

ism*_*ael 6 azure freeradius

我刚刚配置了FreeRadius,但是我想对Azure AD中的用户进行身份验证。我知道可以将FreeRADIUS与Active Directory链接,但是找不到关于Azure AD的任何信息。
有谁知道这可能吗?可能的解决方案是在本地创建与Azure AD同步的AD,但我想直接这样做。

Ham*_*son 5

我有点困难地做到了。约翰·罗伯特·门多萨(John Robert Mendoza)是正确的,但也有一些问题。这是我的步骤:

\n\n
    \n
  1. 将 AADDS 和 LDAP 添加到 AAD\n https://learn.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap。(保护端口,因为您现在面临暴力攻击。)
  2. \n
  3. 创建一个 Linux 虚拟机(我使用 Ubuntu)以在与 AADDS 相同的 vnet 中托管 Freeradius
  4. \n
  5. 使用 ldap 安装 freeradius 3.x
    \nsudo apt install freeradius
    \nsudo apt install freeradius-ldap
  6. \n
  7. 配置 freeradius(我将仅概述 ldap 到 AAD 配置)
    \ni。编辑/etc/freeradius/3.0/mods-available/ldap
  8. \n
\n\n

这些是我改变的值

\n\n
    ldap {\n        server = \'yourAADDSdomain.onmicrosoft.com\'\n        #the identity user should be a member of you AADDS admin group\n        identity = \'user@yourAADDSdomain.onmicrosoft.com\' \n        password = \'yourpassword\'\n        basedn = \'OU=AADDC Users,dc=yourAADDSdomain,dc=onmicrosoft,dc=com\'\n        user {\n           filter = \xe2\x80\x9c(userPrincipalName=%{%{Stripped-User-Name}:-%{User-Name}})\xe2\x80\x9d\n        }\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

二. 编辑/etc/freeradius/3.0/sites-available/default

\n\n
server default {\n    listen {\n        type = auth\n        ipaddr = *\n        port = 0\n        limit {\n              max_connections = 16\n              lifetime = 0\n              idle_timeout = 30\n        }\n    }\n    listen {\n        ipaddr = *\n        port = 0\n        type = acct\n        limit {\n        }\n    }\n    authorize {\n         if (!control:Auth-Type) {\n              ldap\n              if (ok && User-Password) {\n                      update {\n                      control:Auth-Type := LDAP\n                      }\n              }\n        }\n        expiration\n        logintime\n    }\n    authenticate {\n        Auth-Type LDAP {\n               ldap\n        }\n    }\n    preacct {\n        preprocess\n        acct_unique\n    }\n    accounting {\n        detail\n        unix\n        radutmp\n        exec\n        attr_filter.accounting_response\n    }\n    session {\n        radutmp\n    }\n    post-auth {\n        exec\n        Post-Auth-Type REJECT {\n                attr_filter.access_reject\n        }\n    } \n    pre-proxy {\n    }\n    post-proxy {\n        eap\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

其他一些要点:
\n使用 radtest 来测试这一点
\n使用 Windows 计算机上的 ldp.exe 连接到您的 ldap 以检查它返回的内容

\n\n

链接:
\n https://learn.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap\n
https ://wiki .freeradius.org/guide/Getting-Started
\n https://medium.com/@georgijsr/freeradius-2-1-12-ubuntu-14-04-server-with-ldap-authentication-and-ldap-fail -over-6611624ff2c9
\n Freeradius + Openldap 错误:找不到请求的验证方法(Auth-Type):拒绝用户
\n http://freeradius.1045715.n5.nabble.com/guide-on-configuring-freeradius -3-LDAP-td5748776.html

\n


vch*_*izz 0

我发现,如果您的本地网络上启用了“azure ad”服务/主机,则对于azure,其工作方式与本地广告相同。需要了解的重要一点是,您需要启用所需的服务,以便 freeradius 可以连接到它。不建议仅在公共 IP 上启用它,最好创建一个到 Microsoft 的 (ipsec) 隧道并在本地 IP 上启用广告服务。