混合认证
MAC旁路认证
简介
MAC旁路认证是指接入设备在发起802.1X认证失败后,能够再次发起MAC认证,使终端通过MAC认证接入。
MAC旁路认证属于802.1X认证,不属于MAC认证。与MAC认证相比,MAC旁路认证多出了802.1X认证环节,因此认证时间更长。
当接入设备接口下同时存在PC和打印机/传真机等哑终端时,推荐配置MAC旁路认证,从而先尝试对终端进行802.1X认证,认证失败后再尝试对终端进行MAC认证。
当接入设备接口下只存在打印机/传真机等哑终端时,推荐配置MAC认证,从而缩短认证时间。
认证流程
当接入设备接口下同时存在PC和打印机/传真机等哑终端时,如果仅配置802.1X认证,会导致打印机/传真机无法通过认证。此时可以通过MAC旁路认证功能,使不具备802.1X认证能力的哑终端能够通过MAC认证方式接入网络。MAC旁路认证流程如图2-39所示。
- 在接入设备使能MAC旁路认证的接口上,接口收到用户终端的报文后,首先对该用户进行802.1X认证。
- 接入设备向终端发送一个Identity类型的请求帧(EAP-Request/Identity)要求用户的客户端程序发送输入的用户名。
- 如果在重传间隔内,接入设备未收到回应报文,会再次发送一个Identity类型的请求帧(EAP-Request/Identity)。
- 接入设备不断重复步骤2,直至收到用户终端的回应。当重传次数达到最大重传次数后,如果接入设备仍未收到回应,则向用户发送EAP请求失败报文。
- 此时,802.1X认证超时。接入设备将MAC认证用户名和密码发送到RADIUS服务器对该用户进行MAC认证。
- RADIUS服务器将收到的MAC认证用户名和密码与本地保存的用户名和密码进行比对,如果相同,则MAC认证成功,并向设备发送RADIUS认证接受报文。
MAC优先的Portal认证
MAC优先的Portal认证是指用户进行Portal认证成功后,在一定时间内断开网络重新连接,能够直接通过MAC认证接入,无需输入用户名密码重新进行Portal认证。该功能需要在设备配置MAC+Portal的混合认证,同时在认证服务器上开启MAC优先的Portal认证功能并配置MAC地址有效时间,用户Portal认证成功后,在MAC地址有效时间内,可以通过MAC认证重新接入网络。
认证流程
如图2-40所示,客户端用户首次认证时,接入设备会把客户端的MAC地址发到RADIUS服务器进行认证,但由于RADIUS服务器未查找到MAC地址信息,导致认证失败,触发客户端用户进行Portal认证。认证成功后,RADIUS服务器会自动保存客户端的MAC地址。当客户端因无线信号不稳定或离开无线信号覆盖区域导致客户端掉线而重新尝试接入网络时,接入设备会把客户端的MAC地址发到RADIUS服务器进行认证。
- 如果客户端的MAC地址还保存在RADIUS服务器,则RADIUS服务器校验用户名和密码(用户名和密码均为MAC地址)后,直接进行授权,用户授权后即可以直接访问网络,不需要再次输入用户名密码进行认证。
- 如果客户端的MAC地址在RADIUS服务器已经过期,则RADIUS服务器会删除保存的客户端MAC地址。MAC地址认证失败之后,接入设备会向客户端用户推送Portal认证页面。客户端用户输入帐号和密码完成身份认证。
带有Portal服务器的MAC认证
带有Portal服务器的MAC认证的原理是,接入设备和Cisco ISE服务器以Central Web Authentication (CWA)方式或者Aruba ClearPass服务器以Server-Initiated方式进行Portal对接时,接入设备仅需配置MAC认证,无需配置Portal认证,利用RADIUS服务器和Portal服务器实现Portal认证页面的弹出。Portal服务器收到客户端的Portal认证请求时,Portal服务器没有发起Portal认证,而是通知RADIUS服务器对客户端进行MAC重认证,从而进入MAC认证流程。
认证流程
带有Portal服务器的MAC认证报文交互流程如图2-41所示。
- 客户端连接到无线网络上之后,先进行MAC认证,发送Access-Request报文到RADIUS服务器。
- RADIUS服务器检查客户端MAC地址不在缓存中(第一次认证或者缓存超时),则回复认证成功并下发初始用户授权普通ACL(只能访问Portal服务器、DNS服务器和DHCP服务器)以及重定向ACL和重定向URL(让客户端的HTTP请求重定向到Portal服务器登录页面)。如果客户端的MAC地址在缓存中,则授予客户端完整访问权限。
普通ACL典型配置示例:
acl number 3000 rule 1 permit ip destination 10.100.1.1 0 // 允许访问Portal服务器 rule 2 permit ip destination 10.100.1.2 0 // 允许访问DNS服务器 rule 3 permit tcp destination-port eq www // 访问http页面时进行Portal重定向 rule 4 permit tcp destination-port eq 443 // 访问https页面时进行Portal重定向 rule 5 deny ip // 注册前不允许访问网络
重定向ACL典型配置示例:
acl number 3001 rule 1 deny udp destination-port eq dns // DNS报文不重定向 rule 2 deny udp destination-port eq bootps // DHCP报文不重定向 rule 3 deny udp destination-port eq bootpc // DHCP报文不重定向 rule 4 deny ip destination 10.100.1.1 0 // 访问Portal服务器时不重定向 rule 5 permit tcp destination-port eq www // 访问http页面时进行Portal重定向 rule 6 permit tcp destination-port eq 443 // 访问https页面时进行Portal重定向
对于无线用户,普通ACL的优先级高于重定向ACL:- 用户报文如果匹配普通ACL的deny规则则丢弃,否则允许通过,并继续匹配重定向ACL。
- 如果匹配重定向ACL的deny规则则继续转发,如果匹配permit规则则进行Portal重定向,如果不匹配任何一条规则则继续转发。
对于有线用户,重定向ACL的优先级高于普通ACL:- 如果匹配重定向ACL的permit规则则进行Portal重定向,如果匹配重定向ACL的deny规则则继续转发,如果不匹配任何一条规则则继续匹配普通ACL。
- 如果匹配普通ACL的permi规则则继续转发,如果匹配普通ACL的deny规则则丢包,如果没有匹配任何一条规则则继续转发。
对于有线用户:
- 授权DACL的优先级和普通ACL相同。
- 重定向ACL的最后一条规则不能配置rule [ rule-id ] deny ip命令,否则授权的普通ACL无法生效。
- 重定向ACL和普通ACL的规则中禁止配置源地址source参数,因为源地址source参数下发时会自动替换为用户IP地址,导致期望的规则实际未生效。
- 客户端获取到IP地址后,打开浏览器访问不允许访问的页面,接入设备会将客户端的HTTP请求重定向到Portal服务器登录页面(即重定向的URL)。
- 用户输入用户名和密码,向Portal服务器发送Portal认证请求。
- Portal服务器对用户名和密码做检查,如果检查通过则让RADIUS服务器对客户端进行MAC重认证,如果检查不通过,则不进行MAC重认证。
- RADIUS服务器通过CoA报文让接入设备对客户端进行MAC重认证。
- 接入设备向RADIUS服务器发送MAC认证请求。
- RADIUS服务器检查客户端已经认证成功则在Access-Accept报文中授权完整的访问权限,重新授权普通ACL,允许用户正常访问网络。如果认证失败,则重定向到认证失败页面。
普通ACL典型配置示例:
acl number 3002 rule 1 permit ip destination 10.100.1.1 0 // 允许访问Portal服务器 rule 2 permit ip destination 10.100.1.2 0 // 允许访问DNS服务器 rule 3 deny ip destination 10.0.0.0 0.255.255.255 // 不允许访问其他内网资源 rule 4 permit ip // 允许访问公网