前言
本手册主要介绍Cisco Access Control Server(ACS)系统的建立与配置。由于整个ACS系统涉及到Windows域,DHCP服务器,802.1X协议等基础知识,本手册只作简单介绍。并且以本手册的实验环境为例。
一、802.1X协议
802.1x协议是基于Client/Server的访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。在获得交换机或LAN提供的各种业务之前,802.1x对连接到交换机端口上的用户/设备进行认证。在认证通过之前,802.1x只允许EAPoL(基于局域网的扩展认证协议)数据通过设备连接的交换机端口;认证通过以后,正常的数据可以顺利地通过以太网端口。网络访问技术的核心部分是EAP(端口访问实体)。访问控制流程中,端口访问实体包含3部分:认证者--对接入的用户/设备进行认证的端口;请求者--被认证的用户/设备;认证服务器--根据认证者的信息,对请求访问网络资源的用户/设备进行实际认证功能的设备。以太网的每个物理端口被分为受控和不受控的两个逻辑端口。
1.1 802.1X认证的特点
基于以太网端口认证的802.1x协议有如下特点:IEEE802.1x协议为二层协议,不需要到达三层,对设备的整体性能要求不高,可以有效降低建网成本;借用了在RAS系统中常用的EAP(扩展认证协议),可以提供良好的扩展性和适应性,实现对传统PPP认证架构的兼容;802.1x的认证体系结构中采用了"可控端口"和"不可控端口"的逻辑功能,从而可以实现业务与认证的分离,由RADIUS和交换机利用不可控的逻辑端口共同完成对用户的认证与控制,业务报文直接承载在正常的二层报文上通过可控端口进行交换,通过认证之后的数据包是无需封装的纯数据包;可以使用现有的后台认证系统降低部署的成本,并有丰富的业务支持;可以映射不同的用户认证等级到不同的VLAN;可以使交换端口和无线LAN具有安全的认证接入功能
1.2 802.1X认证的优势
简洁高效:纯以太网技术内核,保持了IP网络无连接特性,不需要进行协议间的多层封装,去除了不必要的开销和冗余;消除网络认证计费瓶颈和单点故障,易于支持多业务和新兴流媒体业务。
容易实现:可在普通L3、L2、IPDSLAM上实现,网络综合造价成本低,保留了传统AAA认证的网络架构,可以利用现有的RADIUS设备。
安全可靠:在二层网络上实现用户认证,结合MAC、端口、账户、VLAN和密码等;绑定技术具有很高的安全性。
行业标准:IEEE标准,和以太网标准同源,可以实现和以太网技术的无缝融合,几乎所有的主流数据设备厂商在其设备,包括路由器、交换机和无线AP上都提供对该协议的支持。在客户端方面微软操作系统内置支持,Linux也提供了对该协议的支持。
应用灵活:可以灵活控制认证的颗粒度,用于对单个用户连接、用户ID或者是对接入设备进行认证,认证的层次可以进行灵活的组合,满足特定的接入技术或者是业务的需要。
二、Cisco ACS和AAA简介
2.1 ACS简介
思科安全访问控制服务器(Cisco Secure Access Control Sever)是一个高度可扩展、高性能的访问控制服务器,提供了全面的身份识别网络解决方案,是思科基于身份的网络服务(IBNS)架构的重要组件。Cisco Secure ACS通过在一个集中身份识别联网框架中将身份验证、用户或管理员接入及策略控制相结合,强化了接入安全性。这使企业网络能具有更高灵活性和移动性,更为安全且提高用户生产率。Cisco Secure ACS 支持范围广泛的接入连接类型,包括有线和无线局域网、拨号、宽带、内容、存储、VoIP、防火墙和 VPN。Cisco Secure ACS 是思科网络准入控制的关键组件。
2.2 AAA简介
AAA系统的简称:
认证(Authentication):验证用户的身份与可使用的网络服务;
授权(Authorization):依据认证结果开放网络服务给用户;
计帐(Accounting):记录用户对各种网络服务的用量,并提供给计费系统。
AAA-----身份验证(Authentication)、授权(Authorization)和统计(Accounting)Cisco开发的一个提供网络安全的系统。奏见authentication。authorization和accounting常用的AAA协议是Radius,参见RFC2865,RFC2866。
三、802.1X协议终端用户接入过程
用以下图示,来说明ACS在认证过程中的工作流程:
步骤:当交换机收到用户的帐号密码,把该报文发向ACS服务器,ACS服务器对用户数据库进行查找。如图:
如果用户名密码正确,则ACS会查找自己本地的策略,看看该帐户是属于哪个安全组,然后告诉交换机,这个端口应该是多少VLAN,并且开放该端口。随后,客户机可以通过DHCP服务器,拿到IP地址。
如果用户名或密码错误,则ACS会告诉交换机,该端口的身份认证不通过,并且该端口处关闭状态。(这里的关闭状态是指,客户机可以继续发送认证信息,但是业务流量则不被允许)
一、ACS服务器端配置
4.1 实验环境配置概要
一台安装Windowsserver2003的服务器。该服务器角色为:域控制器,DHCP服务器,一套CiscoACS软件。
注意:在实际环境中,可能ACS服务器是单独的一台服务器,如果想用外部数据库,即WindowsAD目录数据库的话,这台单独的服务器,必须是该域的一个成员,且登陆域的帐号,必须具有对目录的读取权限。
建立DHCP服务器角色:
选择添加删除角色:
选择DHCP服务器。
在管理工具中,可以看到一个DHCP的快捷方式
打开以后可以看到如下界面:
第一件要做的事情:
右键,授权,意思很简单,就是这台DHCP服务器是一台合法的,可以对客户机提供服务的服务器。
然后新建一个地址池:
给这个地址池的名字:
如图,分别填入,这个地址池,你希望从哪个IP开始分配地址,并且在哪个IP结束,这里稍微注意一下掩码长度的控制。
一直下一步,到添加默认路由的时候,注意,要写网关的地址,本手册实验环境的网关,都是172.16.X.250,所以:
后面一路下一步即可。
在DHCP服务器上,建立了3个地址池,分别名称为vlan1、vlan10、vlan99。
本实验手册的拓扑如下:
4.2 软件安装
在安装Cisco ACS4.0之前,建议先安装JAVA,因为ACS控制平台用的WEB界面需要JAVA支持。
安装完成之后,可以看见如下图:4.3 ACS配置
4.3.1 建立管理员帐号
选择左侧这里可以新建ACS的管理员帐号,点击AddAdministrator里,可以进行详细设置,包括帐号,密码,对组的控制权限等等。一般情况下,Administrator帐号具有对所有组的权限。
4.3.2 新建证书
如果WINDOWS客户机使用微软集成的802.1X协议,且认证方式为:采用PEAP认证时必须安装证书,否则无法启用该认证。事实上该认证方式,也是当今应用非常普遍的认证方式。下面介绍下如何给ACS安装证书:
首先,进入控制面板—添加删除程序—添加删除windows组件中,可以看见:
安装证书服务过程中,会询问你,该证书的文件名,以及存放位置,下图为安装后所生成的文件:
然后进入ACS管理界面,点击:可以看见
选择ACS CertificateSetup:
把之前生成的证书路径,和文件名输入进去就可以了。安装好以后可以看见如下显示,则证书安装成功:
4.3.3 引用外部数据库目录
ACS可以自己内建用户数据库,也可以引用外部用户数据库,在本手册的实验环境中,引用Windows域的用户数据库。
建立方法:
在此界面中,选择数据库配置,再选择
使用Windows Database。此时会看见:
可以看见有个LAB名字的外部数据库,其实就是AD目录。有个滚动条,往下拉就能看见:
客户机是WINDOWS的情况下,要勾选认证机制,开启PEAP和EAP-TLS。(前提条件是,ACS服务器已经正确安装了证书)
4.3.4 建立组映射
通过上述步骤,ACS已经有了外部用户数据库,并且配置了客户端的认证方式,本小节主要说明,ACS是如何执行策略的。
首先,要弄明白两个组,windows组和ciscoSecure组。
从上图中,可以看出windows组,就是外部数据库中的组,下面的ciscoSecure组,就是ACS内建的组。所谓的组映射,简单点说,就是一个用户,你在域中是属于哪个组的,我把你绑定到我ACS本地的这个组中,然后,我对本地自己的组,编写一系列的策略。
举例:
在AD域中,有一个组,名字叫xxzx,我把这个组绑定到本地的组10中,ACS4.0版本,内建安全组总共有500个,并且可以给组命名。
4.3.5 制定组的策略
在完成组映射之后,接下要制定组策略。
选择,然后选择你所要修改的组,选择EditSettings进入。
里面有非常多的选项,本手册主要介绍VLAN推送这一功能,也是目前使用的主要功能。
可以看见图中有编号为:64,65,81的选项,这3个选项事实上决定了当该组通过认证后,ACS的行为。如图所示:该行为给通过认证的用户,执行推送,告诉交换机这个用户是VLAN的,并且走的是802的协议,标记是VLAN10,这里要注意,81选项中,是VLAN的名字而不是VLAN的ID号。
4.3.6 添加客户端交换机
选择你需要添加客户端--注意是交换机,而不是主机。
点击Add Entry:
这里的Hostname可以不写,但是IP地址一定要写。
Key的意思就是交换机和ACS用来通信的密码。
Authenticate 这里是约定该交换机和ACS之间的认证方式。
至此ACS服务器端配置完成。
总结:ACS整个过程,其实就是当收到一个认证请求的时候,发送到一个用
户数据库中查询,如果验证成功,则查看该用户属于哪个策略组,并执行该
策略。例如本手册中,执行的策略就是推送一个VLAN给交换机端口,当然还
可以执行很多其他的策略。ACS服务器其实主要的工作就是一台AAA服务器。
五、 802.1X交换机端配置
aaanew-model//开启AAA功能
aaa authentication dot1xdefault group radius//dot1x认证
aaa authorization networkdefault group radius//授权网络服务
radius-server host172.16.1.253 auth-port 1812 acct-port 1813
//指定ACS认证服务器,并且指定使用的端口号。
radius-server keycisco //设置和认证服务器之间的密码,ACS上的AAA Client密码要与此一致。
dot1xsystem-auth-control //开启802.1X认证控制
执行测试命令:
test aaa group radius chenqiAdmin123 new-code
用户名为chenqi密码为:Admin123,如果ACS通过该认证,则会返回:User successfully authenticated。否则会返回:User rejected。
其实在没有客户端的情况下,从交换机上就已经能测试出,和ACS以及域AD目录之间的联系是否正常。
Int gi0/38//进入交换机38号端口
dot1x paeauthenticator //设置该接口为802.1X类型
dot1x host-modemulti-host //设置为多用户接口
允许例如接口下接HUB,多用户共用此接口,否则选择
dot1x host-modesingle-host
dot1xreauthentication //开启接口重认证
这句话的意思,并不是一段时间内,要求用户重新输入密码,该过程对用户是透明的。
至此,整个ACS系统实验配置完成,校验结果,如图:
交换机:
接口0/38配置:
测试客户机网卡配置:
用网线,连入38号口。
交换机:
结果:客户机连入38号口,成功分得IP地址,并且38号端口被划分进VLAN10,配置与所得结果一致。
注意:WINDOWS系统开启802.1X,必须先在系统内打开服务:
开始---运行,输入services.msc,启动服务WiredAutoConfig。
QQ群:87145140,网络技术交流群,有不明白的可以群里问我。
--------------------------------------------------------------------------谢绝转载!