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

问题描述 投票:5回答:3

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

azure freeradius
3个回答
1
投票

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

参考文献:

[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


1
投票

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

  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安装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 = '[email protected]' 
        password = 'yourpassword'
        basedn = 'OU=AADDC Users,dc=yourAADDSdomain,dc=onmicrosoft,dc=com'
        user {
           filter = “(userPrincipalName=%{%{Stripped-User-Name}:-%{User-Name}})”
        }
    }

II。编辑/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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.