当前位置: 首页 > news >正文

教徒计划出品:同一端口同时启用PEAP和MAC地址旁路(适用于IPPhone串接PC的网络环境)...

 

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,如下图。
教徒计划出品:同一端口同时启用PEAP和MAC地址旁路(适用于IPPhone串接PC的网络环境)

在identity Group 下面建三个组,分别是Test(测试client用)、PEAP(用于PEAP认证用)、MAC(用于MAC地址Bypass用)。
 



在Internal Identity Stores下面的User 下面建两个user
Cisco(用于client测试)、Peapuser((PEAP认证用)
分别关联到不同的Identity Group中去。
 



在Host下面 添加主机的MAC地址。
把地址放在MAC 组里面。
教徒计划出品:同一端口同时启用PEAP和MAC地址旁路(适用于IPPhone串接PC的网络环境)

在交换机上做一下测试
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,这里就不需要改了。
教徒计划出品:同一端口同时启用PEAP和MAC地址旁路(适用于IPPhone串接PC的网络环境)

到交换机上把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,执行特权命令。



本文转自Yeslab教主 51CTO博客,原文链接:http://blog.51cto.com/xrmjjz/685688

相关文章:

  • 百度的“框”正在移动
  • MySQL RESET MASTER与RESET SLAVE
  • Lua 面向对象
  • java socket通信-传输文件图片--传输图片
  • 为Unreal添加一个定时运行的功能模块
  • Swap in C C++ C# Java
  • php获取字符串长度的函数
  • Windows Server 2012的文件和存储服务之一
  • (八)Docker网络跨主机通讯vxlan和vlan
  • 全栈测试实战:用Jest测试Vue+Koa全栈应用
  • 实战部署MySQL用户认证的Postfix邮件系统(2)
  • arcgis api for flex 高级主题(二) 自定义控件的开发
  • Table Dragger - 简单的 JS 拖放排序表格插件
  • 算法数据结构复习[单链表]
  • Openstack Swift 原理、架构与 API 介绍
  • “大数据应用场景”之隔壁老王(连载四)
  • Angularjs之国际化
  • AWS实战 - 利用IAM对S3做访问控制
  • canvas 高仿 Apple Watch 表盘
  • CAP 一致性协议及应用解析
  • Fastjson的基本使用方法大全
  • js中forEach回调同异步问题
  • Laravel 实践之路: 数据库迁移与数据填充
  • Linux快速复制或删除大量小文件
  • SpiderData 2019年2月25日 DApp数据排行榜
  • ubuntu 下nginx安装 并支持https协议
  • 基于遗传算法的优化问题求解
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 自制字幕遮挡器
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • Spring Batch JSON 支持
  • 从如何停掉 Promise 链说起
  • 带你开发类似Pokemon Go的AR游戏
  • ​secrets --- 生成管理密码的安全随机数​
  • ​如何在iOS手机上查看应用日志
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #宝哥教你#查看jquery绑定的事件函数
  • #在 README.md 中生成项目目录结构
  • $.ajax()方法详解
  • (3)STL算法之搜索
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (windows2012共享文件夹和防火墙设置
  • (动态规划)5. 最长回文子串 java解决
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (四)JPA - JQPL 实现增删改查
  • (学习日记)2024.01.09
  • .aanva
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 中创建支持集合初始化器的类型
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net程序集学习心得
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .NET连接MongoDB数据库实例教程