freeradius 3.0使用ldap bind windows ad 来认证用户

需求是要使用windows active directory上的现有账号来认证freeradius的客户端,freeradius使用ldap bind来连接windows ad, bind 成功则认证通过,过程中windows ad并不返回用户的密码给freeradius.

过程中碰到几处容易出问题的地方:

1.  为了启用ldap bind认证,需要编辑/usr/local/etc/raddb/sites-available/default文件。

Authorize部分添加如下配置:

ldap

if ((ok || updated) && User-Password) {

update {

control:Auth-Type := ldap

}

}

authenticate部分uncomment如下配置:

Auth-Type LDAP {

ldap

}

2. 对ldap module的配置:

将mods-available 目录下的ldap拷贝到mods-enabled目录下,修改如下内容:

ldap {

.....

server = ‘1.2.3.4‘      #此处是自己要使用的windows AD的域名或者ip

identity = "cn=zhangsan,ou=lab,dc=test,dc=com" #此处是查询windows ad时所用的账号名

password = zhangsan123         #此处是查询windows ad所用账号的密码

base_dn = ‘ou=lab,dc=test,dc=com‘  #此处是待认证账号在windows AD里面的base DN,就是父目录。

.......

}

user {

.....

filter = "(CN=%{%{Stripped-User-Name}:-%{User-Name}})" #修改查询用户时的filter,windows AD                                                                                                                       #一般改为CN=

......

}

3. 如果需要对windows AD 返回来的结果中的某些属性值进行修改然后再返回给认证客户端,可以在default文件的post-auth部分进行配置,如下的实例:

post-auth {

........

foreach reply:My-Local-String {

if("%{Foreach-Variable-0}" =~ /CN=[lab]-[0-9 a-z A-Z]+/) {

update reply {

NS-User-Group += "%{0}"

}

}

}

..........

}

ldap文件也需要稍作修改:

update {

......

reply:My-Local-String             += ‘memberOf‘

........

}

以上的例子把freeradius本来要返回的My-Local-String属性数组转换为NS-User-Group属性返回给radius client,条件是该属性是CN=lab-xxxxx的形式开头的。实际上是返回用户在windows AD里的组属性,但是不是所有的组都返回,只有那些以lab-xxxxxx形式命名的组才返回。

之所以要进行这种转换,是因为例子中的这种radius client设备能识别的组属性的名字是NS-User-Group,但windows AD里对应的组属性的名字是memberOf,所以要转换,否则client不认识。

=================================

contact author: [email protected]

时间: 2024-10-24 12:39:45

freeradius 3.0使用ldap bind windows ad 来认证用户的相关文章

CentOS7.4+FreeRadius+ldap(Windows AD)认证 搭建radius服务

(一)简介freeradius一般用来进行账户认证管理,记账管理,常见的电信运营商的宽带账户,上网账户管理,记账,都是使用的radius服务器进行鉴权记账的.Freeradius包含一个radius服务器和radius-client,可以对支持radius协议的网络设备进行鉴权记账. ------百度百科 (二)安装配置服务 [[email protected] ~]# yum install freeradius freeradius-ldap freeradius-utils -y [[em

jumpserver配置ldap集成windows AD认证

开源堡垒机jumpserver现在最新到1.3.3了:功能越来越强大了,支持windows和linux登录审计.录屏.操作记录等功能,推荐使用,安装步骤看以下官方链接.http://docs.jumpserver.org/zh/docs/step_by_step.html由于用户数较多,公司有AD环境,就想着直接集成AD做登录验证了.windows AD架构,AD活动目录域:test.com 用户test属于ou [TestOu] ad服务器:192.168.1.1注意LDAP属性映射这里修改成

获取windows AD用户

获取windows AD下所有用户信息 Get-ADUser -Filter * -Properties * -SearchBase "DC=staff,DC=azureyun,DC=com" |Select-Object name,SamAccountName,Givenname,surname,Displayname,title,mobile,CanonicalName,Created,Department,DistinguishedName,EmailAddress,homeMD

ArcGIS for Server使用AD中的用户配置

ArcGIS for Server使用AD中的用户配置 1.概述 默认情况下,ArcGIS Server使用内置存储模式来管理用户和角色.该模式使用基于文件格式来存储信息.当然,ArcGIS Server也支持将用户和角色信息由第三方接管,如使用企业系统中的用户和角色.目前支持的企业用户系统有LDAP和Windows AD.LDAP是一种标准的目录服务协议,有开源实现版本和商业版本可供选择.windows AD其实也是一种目录服务.如果使用第三方的用户体系,ArcGIS Server只能以只读模

netscreen webauth with windows ad account and group via freeradius

author contact: [email protected] I got a task to integrate our corp windows AD  with our netscreen firewall webauth function. before this our firewall supports only local users, that causes big work  load to create accounts especially when the user

FreeRadius+Cisco交换机+Windows AD实现802.1X认证

(一)概述本文档描述了如何设置FreeRadius服务器,以便对windows客户端网络用户透明的对ActiveDirectory进行身份验证. 1.1.原理:FrReRADIUS通过基于端口的访问控制提供身份验证.只有当认证服务器验证了证书时,用户才能连接到网络.用户证书通过使用802.1x标准的特殊认证协议来验证.(FreeRADIUS offers authentication via port based access control. A user can connect to the

Freeradius+Cisco2960S+windows AD实现有线802.1x认证

概述 feeradius是一个免费开源的 AAA服务器,更能强大,很多功能不输商业化软件.曾经试过很多类似的软件,如Cisco的ACS,微软的NAP等,思科的不错就是太贵,微软的感觉不好用.本例主要实现freeradius3版本通过windows AD 及证书验证,实现在Cisco系列交换机上基于端口的802.1x认证,只有加入域的计算机和用户并且开启了认证才可以联网,否则交换机端口将其划入guest Vlan进行隔离修补.这里借鉴了官方文档的部分图片和内容,但官网有些方面说的还是不够完整,有些

Centos7+Openvpn使用Windows AD验证登陆

我们上一篇你文章介绍了Centos7+openvpn使用本地用户和密码验证登陆的配置介绍,今天我们介绍Centos7+Openvpn使用Windows AD验证登陆,具体就不多介绍了,今天还是使用的是上一节安装的配置环境,对于今天的环境介绍,我们只是简单的修改即可 我们要使用Centos7+Openvpn使用Windows AD验证登陆,所以需要准备一条windows AD,其实说到windows AD,对于很多企业都在使用,看网上的很多文档都是使用的是openldap在做验证,但是对于大企业及

linux 加入到WINDOWS ad域

以下是从网上搜集到的内容 概念: 1. DC AND AD DC是Domain Controller的缩写,即域控制器,AD是active directory的缩写,即活动目录. Domain Controller是一台计算机,实现用户,计算机,目录的统一管理. AD(活动目录)是一种存储协议,基于LDAP. 两者完全是两种概念,DC也可以不基于AD实现,比如基于数据库或文件,当然目前微软还没有这样的实现. 在对等网模式下,任何一台电脑只要接入网络,其他机器就都可以访问共享资源,如共享上网等.尽