Freeradius+OpenLDAP+PEAP认证.docx

上传人:b****6 文档编号:6818074 上传时间:2023-01-10 格式:DOCX 页数:15 大小:23.23KB
下载 相关 举报
Freeradius+OpenLDAP+PEAP认证.docx_第1页
第1页 / 共15页
Freeradius+OpenLDAP+PEAP认证.docx_第2页
第2页 / 共15页
Freeradius+OpenLDAP+PEAP认证.docx_第3页
第3页 / 共15页
Freeradius+OpenLDAP+PEAP认证.docx_第4页
第4页 / 共15页
Freeradius+OpenLDAP+PEAP认证.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Freeradius+OpenLDAP+PEAP认证.docx

《Freeradius+OpenLDAP+PEAP认证.docx》由会员分享,可在线阅读,更多相关《Freeradius+OpenLDAP+PEAP认证.docx(15页珍藏版)》请在冰豆网上搜索。

Freeradius+OpenLDAP+PEAP认证.docx

Freeradius+OpenLDAP+PEAP认证

[原创]Freeradius+OpenLDAP+PEAP认证

作者:

gavinzhm发表于:

2009-01-2100:

03:

31

【发表评论】【查看原文】【LDAP讨论区】【关闭】

文档介绍:

[list]

[*]作者:

gavin

[*]电子邮箱:

[email]gavin.zhou@[/email]

[*]MSN:

[email]gavin_zhm@[/email]

[*]博客地址:

[*]Wiki地址:

[*]建立日期:

2008年07月15日

[*]版本:

0.1

[*]版权说明:

本文基于创作共用约定,内容归作者版权所有,欢迎大家转载,但要请保留作者的完整信息和出处,谢谢!

[/list]

本文参考:

ExtremeNetworksTechnicalBrief文档号:

TBLDAPEnviron_1370

讨论列表也给了我很大的帮助,很多关于Freeradius和OpenLDAP保存数据的概念都在此讨论区中弄明白的。

对于文中所涉及的radius概念或是一些名词请借助google帮助学习,文中没有更详细的解释。

关于:

公司原用认证服务器为SolitonNet'AttestEPS,知道为什么EPS证书一直不能正确导入到VISTA中,这点是从厂商方面得到的证明,不知道是什么特别的原因。

再加上EPS更换产品的空白服务器,让我感觉有些郁闷,所以公司决定更换现在公司的认证系统,包括DHCP服务器。

这是到公司后第二个自己独立完成的比较完整的公司网络改造过程,记录一下方便自己以后查阅,也希望能为准备用Freeradius认证和OpenLDAP的朋友提供一些有用的信息。

介于网络上流行的一些关于Freeradius+OpenLDAP+PEAP认证的一些资料都比较旧,所以在测试的时候Freeradius采用最新的Freeradius2.0.5版本。

由于2.0以前的版本配置文件格式和文件出入比较大,所以使用Freeradius2.0以前版本的朋友在配置的时候需要特别注意。

CentOS下用yum安装后为1.1.7版。

目的:

Freeradius在公司使用不是做为WLAN接认证,而是做为LAN接入认证用。

先要通过认证后才能通论DHCP获得IP,而且会因为Freeradius返回的信息为Client划分VLANID以及访问控制。

感谢:

首先是老婆对我生活上的细心照顾,才能让我有更多的时间学习和测试来完成这份文档。

Freeradius的测试大部分在下班之后才能进行,所以每天晚上回家都很晚,老婆也一直等到我回家后才吃晚饭,另外要感谢远在国内的父母,生活在异乡的我们正因为有你们的牵挂,我们会更加努力。

===========================分割线==========================

服务器环境:

CentOS5.1Linuxblackduck2.6.18-53.el5

#安装时不含任何安装包

yum–yupdate

#全部更新升级

openssl.i6860.9.8b-10.el5

openssl-devel.i3860.9.8b-10.el5

openldap.i3862.3.27-8.el5_2.4

openldap-clients.i3862.3.27-8.el5_2.4

openldap-devel.i3862.3.27-8.el5_2.4

openldap-servers.i3862.3.27-8.el5_2.4

对于OpenLDAP的配置可以参看我以前的文档《Samba+LDAP+LAM管理工具应用》一文件中OpenLDAP的配置

Freeradius安装:

下载源码包

#wgetftp:

//ftp.freeradius.org/pub/freeradius/freeradius-server-2.0.5.tar.bz2

#tar–jxvffreeradius-server-2.0.5.tar.bz2

#cdfreeradius-server-2.0.5

#./configure--with-openssl--with-openssl-includes=/usr/include/openssl/\

--with-openssl-libraries=/usr/lib/openssl/

#configure文件中说明配置支持OpenSSL但是装完后运行EAP支持的时候会报错。

说手动没有支持OpenSSL,所以此处给出OpenSSL的路径。

#make&&makeinstall

安装后可以直接执行进行测试

#radiusd–Xf(2.0以前版本为-AXfX为Debug模式f为不运行在deamon状态下)

===========================分割线==========================

安装后可以通过radtest测试

#radtestadminpasswordlocalhost0testing123

返回信息如下说明测试成功,此步很重要,安装后第一步应该测试一下Freeradius是不是可以正常运行,再进行下面的配置。

SendingAccess-Requestofid85to127.0.0.1port1812

User-Name="admin"

User-Password="password"

NAS-IP-Address=127.0.0.1

NAS-Port=0

rad_recv:

Access-Acceptpacketfromhost127.0.0.1port1812,id=85,length=20

测试通过后配置Freeradius,配置文件在/usr/local/etc/raddb下,2.0之后的配置对于对认证的支持方式采用模块化,所以修改起来也很方便。

配置文件忽略注释项

主配置文件radiusd.conf:

#viradiusd.conf

此文件只是把log选项中的认证log信息打开了其他部分没有做任何修改

log{

destination=files

file=${logdir}/radius.log

syslog_facility=daemon

stripped_names=no

auth=yes

auth_badpass=no

auth_goodpass=no

}

2.0以后的版本,所以有的认证模块都保存在/usr/local/etc/raddb/modules目录下

用户认证配置文件

===========================分割线==========================

ldap认证模块修改:

#vildap

比较重要的为前四行,设置你LDAP服务器的配置,如何过虑User-Name的字段,以前你LDAP的搜索域,如果你的LDAP需要权限控制才能访问,请修改配置文件中被注释的两行。

ldap{

server="localhost"

#identity="cn=admin,o=MyOrg,c=UA"

#password=mypass

basedn="dc=yepn,dc=net"

filter="(uid=%{Stripped-User-Name:

-%{User-Name}})"

base_filter="(objectclass=radiusprofile)"

ldap_connections_number=15

timeout=4

timelimit=3

net_timeout=1

tls{

start_tls=no

}

dictionary_mapping=${confdir}/ldap.attrmap

}

红色文件比较重要,这个表示在检索LDAP时查找的字段和返回的信息值,对于Client的网络配置部分都在这文件中表明,后文会详细说明。

===========================分割线==========================

Freeradius字典文件修改:

通过LDAP认证时的返回值全部都要在FreeradiusDictionary中说明,否侧不能被Freeradius识别。

Dictionary配置文件保存在/usr/local/etc/raddb目录下

#catdictionary|grep-v“#”

$INCLUDE/usr/local/share/freeradius/dictionary

Dictionary文件分部保存在/usr/local/share/freeradius/文件中

#catdictionary|grep-v“#”

$INCLUDEpat

$INCLUDEdictionary.rfc2865

$INCLUDEdictionary.rfc2866

$INCLUDEdictionary.rfc2867

$INCLUDEdictionary.rfc2868

$INCLUDEdictionary.rfc2869

$INCLUDEdictionary.rfc3162

$INCLUDEdictionary.rfc3576

$INCLUDEdictionary.rfc3580

以下略

我的NAS用的是ExtremenetworksummitX450交换机,需要修改的字典文件为dictionary.extreme,如果你使用的是其他NAS可以修改相应的字典文件,或是自己创建一个字典文件也可以。

加入下面两行定义

ATTRIBUTEExtreme-Netlogin-Extended-Vlan211string

ATTRIBUTEExtreme-Security-Profile212string

字典修改后,修改ldap.attrmap让LDAP可以返回extreme认证用的字段。

配置文件保存在/usr/local/etc/raddb/下

添加以下属性

replyItemTunnel-TyperadiusTunnelType

replyItemTunnel-Medium-TyperadiusTunnelMediumType

replyItemTunnel-Private-Group-IdradiusTunnelPrivateGroupId

replyItemExtreme-Security-ProfileradiusExtremeSecurityProfile

replyItemExtreme-Netlogin-Vlan-TagradiusExtremeNetloginVlanTag

replyItemExtreme-Netlogin-Extended-VlanradiusExtremeNetloginExtendedVlan

另外需要把NT-Password字段修改如下,如果你希望radius用户使用samba的密码,可以不用修改这部分,因为我希望密码分开管理,而且网络认证的密码不会发给用户,所以我用了其他的字段做为Freeradius的认证密码。

checkItemNT-PasswordradiusUserPassword

这部分再次说明一下,如果是用Winxp客户端认证的话,一定要用MD4(WinNT)方式加密后再放到radiusUserPassword中

另外Windows通过Freeradius认证时,密码通过MD4(WinNT)的方式加密,所以需要储存在LDAP中的radiusUserPassword也通过MD4的加密方式保存,这样才能通过认证。

另外,通过ntradping验证工具是不能验证MD4是否成功的需要,通过WinXP客户端进行验证。

===========================分割线==========================

配置可使用的认证方式:

修改认证方式配置文件,目录为/usr/local/etc/raddb/sites-available

两个比较重要的文件

default#默认配置文件

inner-tunnel#认证虚拟机配置文件,这个文件我没做仔细研究,如果有了解的朋友希望能交流一下

#videfault

用户认证部分只保留了ldap和eap部分,其他的认证用不到我注释掉了,如果你需要其他的认证去掉相应的注释部分。

authorize{

ldap

eap

}

验证部分保留了下面的选项,支持MS-CHAP验证方式,LDAP验证和EAP验证

authenticate{

Auth-TypeMS-CHAP{

mschap

}

ldap

eap

}

authorize配置用户信息通过那种方式获得,LDAP服务器、Mysql服务器、Unix系统帐号还是files文件。

authenticate配置验证方式,密码的格式等等

除上述部分外未作任何修改。

===========================分割线==========================

配置eap认证方式:

修改内容如下

#cateap.conf|grep-v“#”

eap{

default_eap_type=peap

timer_expire=60

ignore_unknown_eap_types=no

tls{

certdir=${confdir}/certs

cadir=${confdir}/certs

private_key_password=cyberstep

private_key_file=${certdir}/server.pem

certificate_file=${certdir}/server.pem

CA_file=${cadir}/ca.pem

dh_file=${certdir}/dh

random_file=${certdir}/random

fragment_size=1024

include_length=yes

make_cert_command="${certdir}/bootstrap"

}

peap{

default_eap_type=mschapv2

}

mschapv2{

}

}

主要修改部分为交eap的默认认证方式改为peap,原为MD5,另外添加对tls的支持,希望客户端和Freeradius通信时采用证书加密。

另外将peap默认认证方式改为mschapv2。

Freeradius生成证书

Freeradius2.0.5含有证书制作脚本,只要OpenSSL的路径正确,Freeradius可以自己制作证书,不过需要修改一下相关的信息,文件在/usr/local/etc/raddb/certs目录下,需要修改的文件为fff

#moref

default_days=3650

default_crl_days=3650

[certificate_authority]

countryName=JP

stateOrProvinceName=Tokyo

localityName=Shibuya

organizationName=YepnInc.

emailAddress=[email]zhou@[/email]

commonName="yepnCertificateAuthority"

其中比较重要的是这几部分,days问题你也希望你的证书只能用一个月,或是一年的时间,相信网管都不喜欢这样,所以我把时间设的长一点改成了10年。

下面的certificate_authority是你证书的相关信息这个是方便查询证书的出处,不清楚的地方请找OpenSSL的资料看一下,另外在cert文件夹中有Makefile文件,我也小修改了一下,不知道为什么前面对于f日期的修改在f中不生效,所以我只好把命令行那边加上一个-days3650

修改后如下

#moreMakefile

opensslreq-new-x509-days3650-keyoutca.key-outca.pem-config./f

因为OpenSSL自己也不是特别明白,所以没办法讲的更细了,希望明白的朋友指点一下。

这样生成后的ca.der证书可以导入到Winxp中。

到此为止Freeradius的配置就完成了,可以通过radiusd–Xf测试一下radius的配置是否正确。

可以通过radtest命令来验证一下Freeradius能验证。

===========================分割线==========================

OpenLDAP配置:

因为LDAP中加入了对radius属性的支持,所以需要修改OpenLDAP配置文件。

复制raiuds.schema文件到openLDAP的schema目录下

#cp/usr/local/share/doc/freeradius/examples/openldap.schema/etc/openldap/schema/radius.schema

因为上面刚刚新加的几个attribute的值在这个标准的radius.schema文件中没有,所以需要自己定义几个新的attribute的值

添加内容如下:

attributetype

(1.3.6.1.4.1.3317.4.3.1.61

NAME‘radiusExtremeSecurityProfile’

DESC‘’

EQUALITYcaseIgnoreIA5Match

SYNTAX1.3.6.1.4.1.1466.115.121.1.26

attributetype

(1.3.6.1.4.1.3317.4.3.1.62

NAME‘radiusExtremeNetloginVlanTag’

DESC‘’

EQUALITYcaseIgnoreIA5Match

SYNTAX1.3.6.1.4.1.1466.115.121.1.26

attributetype

(1.3.6.1.4.1.3317.4.3.1.63

NAME‘radiusExtremeNetloginExtendedVlan’

DESC‘’

EQUALITYcaseIgnoreIA5Match

SYNTAX1.3.6.1.4.1.1466.115.121.1.26

attributetype

(1.3.6.1.4.1.3317.4.3.1.66

NAME'radiusUserPassword'

DESC'radiusUserPassword'

SUPuserPassword

OpenLDAPschema修改:

对于OpenLDAPschema的格式问题不在这里作更多说明,有很多文章解决如果编写自己的schema文件请参阅。

只在这里说明一点对于radiusUserPassword部分的定义,我让radiusUserPassword继承userPassword的特性,如果需要修改的朋友可以自己改成其他属性。

最后,别忘记在你的objectclass里添加刚刚加的属性

objectclass

(1.3.6.1.4.1.3317.4.3.2.1

NAME'radiusprofile'

SUPtopAUXILIARY

DESC''

MUSTcn

MAY(radiusArapFeatures$radiusArapSecurity$radiusArapZoneAccess$

radiusAuthType$radiusCallbackId$radiusCallbackNumber$

radiusCalledStationId$radiusCallingStationId$radiusClass$

radiusClientIPAddress$radiusFilterId$radiusFramedAppleTalkLink$

radiusFramedAppleTalkNetwork$radiusFramedAppleTalkZone$

radiusFramedCompression$radiusFramedIPAddress$

radiusFramedIPNetmask$radiusFramedIPXNetwork$

radiusFramedMTU$radiusFramedProtocol$

radiusCheckItem$radiusReplyItem$

radiusFramedRoute$radiusFramedRouting$radiusIdleTimeout$

radiusGroupName$radiusHint$radiusHuntgroupName$

radiusLoginIPHost$radiusLoginLATGroup$radiusLoginLATNode$

radiusLoginLATPort$radiusLoginLATService$radiusLoginService$

radiusLoginTCPPort$radiusLoginTime$radiusPasswordRetry$

radiusPortLimit$radiusPrompt$radiusProxyToRealm$

radiusRealm$radiusReplicateToRealm$radiusServiceType$

radiusSessionTimeout$radiusStripUserName$

radiusTerminationAction$radiusTunnelClientEndpoint$

radiusProfileDn$

radiusSimultaneousUse$radiusTunnelAssignmentId$

radiusTunnelMediumType$radiusTunnelPassword$

radiusTunnelPreference$

radiusTunnelPrivateGroupId$radiusTunnelServerEndpoint$

radiusTunnelType$radiusUserCategory$radiusVSA$

radiusExp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1