【问题标题】:FreeRADIUS authentication through Azure Active Directory通过 Azure Active Directory 进行 FreeRADIUS 身份验证
【发布时间】:2017-04-06 11:42:43
【问题描述】:

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

【问题讨论】:

  • 我也在寻找带有 azure ad 的 freeradius 解决方案。阅读this thread我觉得应该可以...
  • Here 解释了如何使用典型的 Active Directory 进行操作,但这与 AzureAD 不同!

标签: azure freeradius


【解决方案1】:

您必须在 Azure AD 域服务 [1] 中为您的托管域启用 安全 LDAP,然后在 FreeRadius [2] 中配置 rlm_ldap 以使用 Azure AD作为 LDAP 身份验证源。您可能希望使用访问控制来限制与您的 Azure AD IP 地址的连接,以阻止未经授权的客户端向您的域服务发送未经请求的 LDAP 搜索查询并提取敏感的用户信息。

参考文献:

[1]https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap

[2]https://wiki.freeradius.org/protocol/LDAP

【讨论】:

    【解决方案2】:

    我做起来有点困难。约翰罗伯特门多萨是正确的,但有一些陷阱。这是我的步骤:

    1. 将 AADDS 和 LDAP 添加到 AAD https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap。 (保护端口,因为您现在对暴力攻击开放。)
    2. 创建一个 linux vm(我使用 Ubuntu)在与 AADDS 相同的 vnet 中托管 Freeradius
    3. 使用 ldap 安装 freeradius 3.x
      sudo apt install freeradius
      sudo apt install freeradius-ldap
    4. 配置 freeradius(我只会概述 ldap 到 AAD 的配置)
      一世。编辑 /etc/freeradius/3.0/mods-available/ldap

    这些是我更改的值

        ldap {
            server = 'yourAADDSdomain.onmicrosoft.com'
            #the identity user should be a member of you AADDS admin group
            identity = 'user@yourAADDSdomain.onmicrosoft.com' 
            password = 'yourpassword'
            basedn = 'OU=AADDC Users,dc=yourAADDSdomain,dc=onmicrosoft,dc=com'
            user {
               filter = “(userPrincipalName=%{%{Stripped-User-Name}:-%{User-Name}})”
            }
        }
    

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

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

    其他几点:
    使用 radtest 进行测试
    使用 Windows 机器上的 ldp.exe 连接到您的 ldap 以检查它返回的内容

    链接:
    https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap
    https://wiki.freeradius.org/guide/Getting-Started
    https://medium.com/@georgijsr/freeradius-2-1-12-ubuntu-14-04-server-with-ldap-authentication-and-ldap-fail-over-6611624ff2c9
    Freeradius + Openldap ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
    http://freeradius.1045715.n5.nabble.com/guide-on-configuring-freeradius-3-LDAP-td5748776.html

    【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      • 2020-02-11
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多