ACS5.2上的MAC地址旁路技术,已经有连续两个学员问到我这里了,这次我把这个任务交给了参加教徒计划的学员们,下面就是他们做的关于在一个端口上同时启用PEAP和MAC地址旁路的试验报告,这个技术主要适用于IPPhone串接PC的网络环境。最近我们还接了一个NAC Appliance的“项目”(依然是学员要求研究的),近期也会出相关的资料。安全CCIE8月15日之后,已经连续一次PASS 13人了!再次祝贺他们!
新一轮CCSP课程将于10月17日开始,希望大家的参加
实验目的:
在交换机上的同一端口,插入不同设备,可以自动的选择不同的服务,既可以对PC做PEAP认证,也可以对IPphone等设备基于MAC地址做bypass。
配置步骤:
首先,我们先把switch 做成client,很简单的两条命令。
aaa new-model
radius-server host 202.100.1.241 key cisco
然后再 ACS 5.2 上面定义client,如下图。
在identity Group 下面建三个组,分别是Test(测试client用)、PEAP(用于PEAP认证用)、MAC(用于MAC地址Bypass用)。
在Internal Identity Stores下面的User 下面建两个user
Cisco(用于client测试)、Peapuser((PEAP认证用)
分别关联到不同的Identity Group中去。
在Host下面 添加主机的MAC地址。
把地址放在MAC 组里面。
在交换机上做一下测试
test aaa group radius cisco cisco new-code
确认测试成功,才可以进行下一步。
在Access Policies 下面的Access Services中创建新的services,首先,先创建一个PEAP用的Access Services。输入的名字。选择User Selected Service Type类型为Network Access,点下一步。
在Authentication Protocols 下勾选 PAP/ASCII 和 PEAP,PEAP使用MS-CHAPv2。
下面再做一个MAC Bypass的Access Service
Name 随便,在Based on Service template 中选择 Network Access – MAC Authentication Bypass
如下图:
第二步,服务只要默认的Process Host Lookup就好,其他什么都不用选了。
下面就是关键所在了。
点击 Service Selection Rules 进入,选择右下角的Customize,把Compound Condition 选中点击向右的箭头,把他选到右边的Selected框中。
点击左下角的Create 创建一个新的Rules。
注意这里的Rules匹配条件,Protocol 匹配 Radius
然后,选择RADIUS-IETF中的Service-Type参数匹配上Framed。
使用PEAP Service 做认证和授权。
在做一条Rules,匹配Service-type中的Call Check,使用MAC做认证和授权。
把新建的两条Rules移到上面去,这样保证不会匹配上默认Rules。
Network Access 类型的 service Type 默认的Identity Source是DenyAccess,我们需要把他改成 Internal Users。如果有域数据库的话,这里也可以指向AD,使用外面AD做认证,请参考教主的ACS 5.2 研究报告,这里就不搞这么麻烦了。
授权这里就直接使用默认的授权:Permit access,详细的授权,在ACS 5.2 研究报告里也有提到。
MAC-authentication-Bypass 默认的就是Internal Host,这里就不需要改了。
到交换机上把Dot1x的命令都敲上吧。
先做好安全防护措施,先把线下保护做好,要是被锁外面,哭都来不及了。
aaa authentication login noacs line none
line con 0
login authentication noacs
下面是802.1x的命令
aaa authentication dot1x default group radius
aaa authorization network default group radius
dot1x system-auth-control
interface FastEthernet0/45
dot1x mac-auth-bypass
dot1x port-control auto
交换机做完之后,我们去PC上把802.1x的有线认证开起来。
在本地连接的属性的身份验证选项卡中设置一下。
把 网络身份验证方法选择为 微软的PEAP。
我们要做测试,所以把记录凭据也取消掉。
点击网络身份验证方法后面的设置,可以看到下面的图。
因为这次主要是为了测试PEAP,所以这里,我把验证服务器证书也取消了。
把身份验证方法选择为EAP-MSCHAP v2,就OK了。
回到身份验证的选项卡中,点击其他设置,取消掉自动使用Windows登录名和密码。
一切就绪,下面就是测试了。插上网线,电脑右下角会弹出下面的提示框,单击他。
身份认证来了,要输入用户名和密码。
看,速度很快,输完用户名和密码,立刻就up了。
现在,关掉802.1x的认证服务。
把网线拔下来重新插入。也通过了。时间有点长,要两分半钟,可以做适当的优化。把timeout的值做修改,还可以把最大重认证次数和最大请求次数的值改小。
到ACS 上看一下报告吧:报告太长我分两段截的图,可以对比着看。
还有更详细的报告:
下面是PEAP的详细的报告:
注意看Authentication Details中的Other选项:
Service-type=Framed
下面还有两张MAC-authentication Bypass的图片。
留意一下service-type=Call Check
最后附上对service-type的详细说明:
当服务类型出现在Access-Accept报文中时,定义如下文所示。当在
Access-Request报文中出现时,应该当作NAS暗示RADIUS服务器认为用户
应该使用的服务,但服务器不一定要满足提示中的要求。
1.Login:用户应该连接到主机。
2.Framed:用户使用帧协议例如PPP或SLIP。
3.Callback Login:用户应该先断开再连接。
4.Callback Framed:用户需要受限端口连接,然后使用帧协议进行连接
,例如PPP或SLIP。
5.OutBond:用户可以访问外部设备。
6.Administrative:用户授权访问NAS的管理接口,可以执行特权命令。
7.Nas Promt:NAS为用户提供输入提示允许运行非特权命令。
8.Authenticate Only:只返回认证信息,Access-Accept报文中不返回
授权信息(通常在代理服务器中使用)。
9.Callback NAS Prompt:用户应该断开连接,再连接,NAS提供输入提
示允许执行非特权命令。
10.Call Check:NAS在Access-Request中使用,表示请求收到,RADIUS
服务器如果接收,应该返回Access-Accept报文,如果不接受,应该返回
Access-Reject报文。建议这种Access-Requests报文使用Calling-
Station-Id属性保存用户名。
11.Callback Administrative:用户应该先断开再连接,然后可以通过
管理接口访问NAS,执行特权命令。