精灵巫婆 发表于 2015-1-18 11:28:01

Linux制作之在 Linux 上构建一个 RADIUS 服务器仓酷云

在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。
简介:作为一位收集办理员,您必要为您所需办理的每一个收集设备寄存用于办理的用户信息。可是收集设备一般只撑持无限的用户办理功效。进修怎样利用Linux™上的一个内部RADIUS服务器来考证用户,详细来讲是经由过程一个LDAP服务器举行考证,能够会合安排存储在LDAP服务器上而且由RADIUS服务器举行考证的用户信息,从而既能够削减用户办理上的办理开支,又可使远程登录历程加倍平安。
数据平安作为古代体系中收集平安的一部分,与体系平安一样的主要,以是回护数据——确保供应秘密性、完全性和可用性——对办理员来讲相当主要。
在本文中,我将谈到数据平安性的秘密性方面:确保受回护的数据只能被受权用户或体系会见。您将进修怎样在Linux体系上创建和设置一个RemoteAuthenticationDial-InUserService服务器(RADIUS),以实行对用户的考证、受权和记帐(AAA)。
各构成元素先容
起首让我们谈一谈RADIUS协定、AAA组件和它们怎样事情,别的另有LDAP协定。
RemoteAuthenticationDial-InUserService协定是在IETF的RFC2865中界说的(请参阅参考材料取得相干链接)。它同意收集会见服务器(NAS)实行对用户的考证、受权和记帐。RADIUS是基于UDP的一种客户机/服务器协定。RADIUS客户机是收集会见服务器,它一般是一个路由器、互换机或无线会见点(会见点是收集上专门设置的节点;WAP是无线版本)。RADIUS服务器一般是在UNIX或Windows2000服务器上运转的一个监护程序。
RADIUS和AAA
假如NAS收到用户毗连哀求,它会将它们传送到指定的RADIUS服务器,后者对用户举行考证,并将用户的设置信息前往给NAS。然后,NAS承受或回绝毗连哀求。
功效完全的RADIUS服务器能够撑持良多分歧的用户考证机制,除LDAP之外,还包含:


[*]PAP(PasswordAuthenticationProtocol,暗码考证协定,与PPP一同利用,在此机制下,暗码以明文情势被发送到客户机举行对照);
[*]CHAP(ChallengeHandshakeAuthenticationProtocol,应战握手考证协定,比PAP更平安,它同时利用用户名和暗码);
[*]当地UNIX/Linux体系暗码数据库(/etc/passwd);
[*]其他当地数据库。
在RADIUS中,考证和受权是组合在一同的。假如发明了用户名,而且暗码准确,那末RADIUS服务器将前往一个Access-Accept呼应,个中包含一些参数(属性-值对),以包管对该用户的会见。这些参数是在RADIUS中设置的,包含会见范例、协定范例、用户指定该用户的IP地点和一个会见把持列表(ACL)或要在NAS上使用的静态路由,别的另有其他一些值。
RADIUS记帐特征(在RFC2866中界说;请参阅参考材料取得相干链接)同意在毗连会话的入手下手和停止发送数据,标明在会话时代利用的大概用于平安或开单(billing)必要的大批资本——比方工夫、包和字节。
轻量级目次会见协定
轻量级目次会见协定(LightweightDirectoryAccessProtocol,LDAP)是一种开放尺度,它界说了用于会见和更新类X.500目次中信息的一种办法。LDAP可用于将用户信息保留在一其中央场合,从而不用将不异的信息存储在每一个体系上。它还能够用于以一种分歧的、可把持的体例保护和会见信息。
LDAP在一个会合的目次中办理用户,从而简化了用户办理事情。除存储用户信息外,在LDAP中界说用户还可使一些可选特征失掉启用,比方限定登录的数目。在本文中,您将进修怎样设置RADIUS服务器,以便基于LDAP考证用户——因为本文的重点在于RADIUS,我不会形貌关于LDAP服务器的安装和设置的细节。
OpenLDAP是LDAP的一种开放源码完成。在OpenLDAP.org上能够找到关于它的具体信息(请参阅参考材料取得相干链接)。
场景
想像以了局景:


[*]用户在家里能够经由过程拨号考证会见他公司的外部网。
[*]带无线撑持的条记本电脑能够经由过程无线考证毗连到一个校园网。
[*]办理员利用他们的事情站经由过程办理用户考证以telnet或HTTP登录到收集设备。
一切这些考证义务都能够经由过程一个RADIUS服务器基于一其中央LDAP服务器来完成(见)。
.经由过程RADIUS和LDAP举行考证

<br>
在本文中,我将重点形貌对最初一种选项的完成,作为对该办理计划的一个先容。起首安装RADIUS服务器。

回页首
安装RADIUS
RADIUS服务器软件能够从多个中央取得。在本文中,我将利用FreeRADIUS(请参阅参考材料取得相干链接),但CiscoSecureAccessControlServer(ACS)是一种会合式用户会见把持框架,可用于跨UNIX和Windows上多个Cisco设备的用户办理,并撑持Cisco独有的协定TACACS+(听说在撑持TACACS+的设备上可具有更多的特征)。
FreeRADIUS是来自开放源码社区的一种壮大的Linux上的RADIUS服务器,可用于现在的散布式和异构盘算情况。FreeRADIUS1.0.2撑持LDAP、MySQL、PostgreSQL和Oracle数据库,并与诸如EAP和CiscoLEAP之类的收集协定兼容。FreeRADIUS今朝被部署在良多年夜型临盆收集体系中。
上面的步骤演示怎样在RedHatEnterpriseLinuxAdvancedServer3.0上安装和测试FreeRADIUS1.0.2:
清单1.安装和测试FreeRADIUS
tar-zxvffreeradius-1.0.2.tar.gz-extractitwithgunzipandtar./configuremakemakeinstall-runthiscommandasrootradiusdor-startRADIUSserverradiusd-X-startRADIUSserverindebugmoderadtesttesttestlocalhost0testing123-testRADIUSserver
假如radtest收到一个呼应,则标明FreeRADIUS服务器事情一般。
同时我还保举另外一种收费工具,那就是NTRadPing(请参阅参考材料取得相干链接),它可用于测试来自Windows客户机的考证和受权哀求。它能够显现从RADIUS服务器发还的具体的呼应,比方属性值。
如今让我们来设置FreeRADIUS。

回页首
设置FreeRADIUS
RADIUS服务器的设置包含对服务器、客户机和用户的设置(都是用于考证和受权)。出于分歧的必要,对RADIUS服务器能够有分歧的设置。侥幸的是,年夜多半设置都是相似的。
设置服务器
FreeRADIUS设置文件一般位于/etc/raddb文件夹下。起首,我们必要像上面如许修正radiusd.conf文件。
清单2.修正radiusd.conf
1)Globalsettings:log_auth=yes-logauthenticationrequeststothelogfilelog_auth_badpass=no-dontlogpasswordsifrequestrejectedlog_auth_goodpass=no-dontlogpasswordsifrequestaccepted2)LDAPSettings:modules{ldap{server="bluepages.ibm.com"-thehostnameorIPaddressoftheLDAPserverport=636-encryptedcommunicationsbasedn="ou=bluepages,o=ibm.com"-definethebaseDistinguishedNames(DN),-undertheOrganization(O)"ibm.com",-intheOrganizationUnit(OU)"bluepages"filter="(mail=%u)"-specifysearchcriteriabase_filter="(objectclass=person)"-specifybasesearchcriteria}authenticate{-enableauthenticationagainstLDAPAuth-TypeLDAP{ldap}
参数被设为利用IBMBluePages,这是LDAP服务的一个实例。关于其他LDAP服务器,参数大概有所分歧。
设置客户机
客户机是在/etc/raddb/clients.conf文件中设置的。有两种体例可用于设置RADIUS客户机。您能够按IPsubnet将NAS分组(清单3),大概能够按主机名或IP地点列出NAS(清单4)。假如依照第二种办法,能够界说shortname和nastype。
清单3.按IPsubnet将NAS分组
client192.168.0.0/24{secret=mysecret1-the"secret"shouldbethesameasconfiguredonNASshortname=mylan-the"shortname"canbeusedforloggingnastype=cisco-the"nastype"isusedforcheckradandisoptional}

清单4.按主机名或IP地点列出NAS
client192.168.0.1{secret=mysecret1shortname=myservernastype=other}
为考证而设置用户
文件/etc/raddb/user包括每一个用户的考证和设置信息。
清单5./etc/raddb/user文件
1)Authenticationtype:Auth-Type:=LDAP-authenticateagainstLDAPAuth-Type:=Local,User-Password=="mypasswd"-authenticateagainstthe-passwordsetin/etc/raddb/userAuth-Type:=System-authenticateagainstthesystempasswordfile-/etc/passwdor/etc/shadow2)Servicetype:Service-Type=Login,-foradministrativelogin
为受权而设置用户
上面的考证服务器属性-值对(AV)应当为用户受权而举行设置。在考证被承受后,这个属性-值对被前往给NAS,作为对办理员登录哀求的呼应。
关于Cisco路由器,有分歧的权限级别:


[*]级别1是无特权(non-privileged)。提醒符是router>,这是用于登录的默许级别。
[*]级别15是特权(privileged)。提醒符是router#,这是进进enable形式后的级别。
[*]级别2到14在默许设置中不利用。
上面的命令可使一个用户从收集会见服务器登录,并取得对EXEC命令的当即会见:
cisco-avpair="shell:priv-lvl=15"
上面的代码处置不异的义务,这一次是关于Cisco无线会见点:
Cisco:Avpair="aironet:admin-capability=write+snmp+ident+firmware+admin"
任何功效组合都和这个属性一同前往:
Cisco:Avpair="aironet:admin-capability=ident+admin"
Cisco:Avpair="aironet:admin-capability=admin"
请与Cisco接洽,以取得关于这些命令的更多信息。

回页首
设置收集会见服务器
接上去我们将设置NAS,起首是设置一个Cisco路由器,然后轮到一个CiscoWAP。
关于CiscoIOS12.1路由器,我们将启用AAA,然后设置考证、受权和记帐。
清单6.启用AAA
aaanew-modelradius-serverhost192.168.0.100radius-serverkeymysecret1
AAA在路由器上应当被启用。然后,指定能为NAS供应AAA服务的RADIUS服务器的列表。加密密钥用于加密NAS和RADIUS服务器之间的数据传输。它必需与FreeRADIUS上设置的一样。
清单7.设置考证
aaaauthenticationlogindefaultgroupradiuslocallinevty04loginauthenticationdefault
在这个例子中,收集办理员利用RADIUS考证。假如RADIUS服务器不成用,则利用NAS的当地用户数据库暗码。
清单8.设置受权
aaaauthorizationexecdefaultgroupradiusif-authenticated
同意用户在登录到NAS中时运转EXECshell。
清单9.设置记帐
aaaaccountingsystemdefaultstart-stopgroupradiusaaaaccountingnetworkdefaultstart-stopgroupradiusaaaaccountingconnectiondefaultstart-stopgroupradiusaaaaccountingexecdefaultstop-onlygroupradiusaaaaccountingcommands1defaultstop-onlygroupradiusaaaaccountingcommands15defaultwait-startgroupradius
必需对路由器举行出格的设置,以使之发送记帐纪录到RADIUS服务器。利用清单9中的命令纪录关于NAS体系事务、收集毗连、输入毗连、EXEC操纵和级别1和级别15上的命令的记帐信息。
如许就行了。如今让我们看看为Cisco无线会见点而举行的设置。上面的设置合用于带有Firmware12.01T1的Cisco1200SeriesAP。如中的屏幕快照所示,您:


[*]输出服务器名或IP地点和共享的奥密。
[*]选择“Radius”作为范例,并选中“UserAuthentication”。
.为WAP设置NAS

<br>
实践上,在这里您还能够设置EAPAuthentication,使FreeRADIUS可用于考证无线LAN的一样平常用户。

回页首
记帐:事情中的RADIUS
如今一切设置都已完成,FreeRADIUS服务器能够入手下手纪录NAS发送的一切信息,将该信息存储在/var/log/radius/radius.log文件中,就像如许:
清单10./var/log/radius/radius.log文件
ThuMar321:37:322005:Auth:LoginOK:(fromclientmylanport1cli192.168.0.94)MonMar723:39:532005:Auth:Loginincorrect:(fromclientmylanport1cli192.168.0.94)
具体的记帐信息被寄存在/var/log/radius/radacct目次中。清单11标明,David在2005年3月4日19:40到19:51这段工夫里从192.168.0.94登录到了路由器192.168.0.1。这么具体的信息关于正在查询拜访平安变乱和试图保护易于审计的纪录的办理员来讲无疑是一年夜匡助。
清单11.RADIUS供应的记帐细节示例
1)Globalsettings:log_auth=yes-logauthenticationrequeststothelogfilelog_auth_badpass=no-dontlogpasswordsifrequestrejectedlog_auth_goodpass=no-dontlogpasswordsifrequestaccepted2)LDAPSettings:modules{ldap{server="bluepages.ibm.com"-thehostnameorIPaddressoftheLDAPserverport=636-encryptedcommunicationsbasedn="ou=bluepages,o=ibm.com"-definethebaseDistinguishedNames(DN),-undertheOrganization(O)"ibm.com",-intheOrganizationUnit(OU)"bluepages"filter="(mail=%u)"-specifysearchcriteriabase_filter="(objectclass=person)"-specifybasesearchcriteria}authenticate{-enableauthenticationagainstLDAPAuth-TypeLDAP{ldap}0

回页首
停止语
经由过程遵守本文中列出的复杂步骤,您能够创建一个RemoteAuthenticationDial-InUserService服务器,该服务器利用一个内部的LDAP服务器来处置为收集平安成绩而举行的考证、受权和记帐。本文供应了以下内容来匡助您完成此义务:


[*]对RADIUS和LDAP服务器和AAA观点的先容。
[*]一个融进了安装和设置义务的场景。
[*]关于安装和设置RADIUS服务器的申明。
[*]关于设置收集会见服务器的细节。
[*]RADIUS将供应和办理的具体信息的一个示例。
这些唆使能够疾速确保受回护的数据只能由Linux体系上已受权的实体会见。
参考材料


[*]您能够参阅本文在developerWorks环球站点上的英文原文。


[*]InternetEngineeringTaskForce的RFC2865对RADIUS作了形貌。RFC2866形貌了用于指定记帐信息的一个协定。


[*]ConfiguringRADIUS形貌了RADIUS平安体系,界说了它的操纵,并指出了合适与不合适利用RADIUS的收集情况。


[*]经由过程会见OpenLDAP.org取得关于OpenLDAP的更多信息。


[*]UnderstandingLDAP-DesignandImplementation(IBMRedbooks,2004年6月)先容了LDAP观点和架构和IBMTivoliDirectoryServer。


[*]这篇LDAPLinuxHOWTO含有关于在Linux体系上安装、设置、运转和保护LDAP服务器的完全信息。


[*]AuthenticatingLinuxuserswithIBMDirectoryServer(developerWorks,2003年9月)形貌了怎样利用IBMDirectoryServer来考证Linux用户。


[*]让Linux更平安,第1部分:先容(developerWorks,2004年7月)展现了怎样将LDAP服务器用于用户信息和考证。


[*]从OpenLDAP网站取得最新版本的OpenLDAP。


[*]从FreeRADIUS网站取得FreeRADIUS。


[*]NTRadPing让您能够测试来自Windows客户的考证和受权哀求。


[*]为懂得更多关于CiscoSecureAccessControlServer(ACS)和收集设备上的AAA完成的信息,请会见CiscoSystems。


[*]经由过程会见IETF,懂得更多关于RADIUS、RADIUSaccounting和LDAP考证办法的信息。


[*]PADLSoftware供应了大批Linux/LDAP文档和参考材料。


[*]在developerWorksLinux专区能够找到为Linux开辟职员筹办的更多有效信息。


[*]经由过程介入developerWorksblogs到场developerWorks社区。


[*]购置DeveloperBookstore的Lotus专区中打折出卖的Lotus书本。


[*]在您的下一个Linux开辟项目中利用IBM试用软件,它们能够从developerWorks的下载目次中取得。


关于作者
WeiZhang是一位收集和信息平安专家。在已往六年里,他计划和完成了分歧范例的年夜范围收集体系,涵盖了良多种手艺,从SNA、VoIP、IDS、VPN和防火墙到无线LAN。他于2003年到场IBM,担当一位IT专家。今朝,他的事情重点是信息平安手艺和办理。您能够经由过程zhangwd@cn.ibm.com与他接洽。

由于在linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么。

小魔女 发表于 2015-1-21 07:24:07

Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。

分手快乐 发表于 2015-1-27 07:32:23

这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。

飘飘悠悠 发表于 2015-2-5 02:14:14

如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。

飘灵儿 发表于 2015-2-9 20:25:03

其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。

admin 发表于 2015-2-27 21:01:17

再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?

小女巫 发表于 2015-3-7 20:03:26

熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:

精灵巫婆 发表于 2015-3-10 04:05:40

首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。

蒙在股里 发表于 2015-3-11 09:39:32

清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。

乐观 发表于 2015-3-11 15:45:56

不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。

莫相离 发表于 2015-3-12 23:36:24

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。

第二个灵魂 发表于 2015-3-20 05:23:44

对我们学习操作系统有很大的帮助,加深我们对OS的理解。?

若天明 发表于 2015-4-6 23:09:48

其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
页: [1]
查看完整版本: Linux制作之在 Linux 上构建一个 RADIUS 服务器仓酷云