802.1X本身并不算太难,确切的说命令的繁琐,实验环境难以搭建(虚拟机+物理交换机)。是让人比较难入门的门槛。我也没有物理交换机,但毕竟配置只要贴在blog里面就行了。ISE和802.1x的概念还是可以操作复习下的。
一 交换机的推荐配置
文档可以参考,是个美国思科的SE写的:
http://www.network-node.com/blog/2015/12/30/switch-configuration-for-dot1x
official document
https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/116143-config-cise-posture-00.html
我重新整理一遍
aaa new-model
aaa authenticatoin dot1x default group ISE
aaa authorization network default group ISE
aaa accouting dot1x start-stop group ISE
(命令格式与tacacs+非常相似,记住default是对所有支持802.1x的接口开启认证,其实就是access口,思科又来缺心眼,authorization来个network是什么鬼?)
aaa group server radius ISE
server-private 192.168.133.11 key cisco123
aaa server radius dynamic-author
client 192.138.133.11 key cisco123
ip radius source-interface loopback 0
dot1x system-auth-control
device-tracking tracking 3750/3850似乎有点不同
radius-server vsa send authentication
radius-server vsa send accounting
radius-server attribute 6 on-for-login-auth // sends Service-Type attribute in access request
radius-server attribute 8 include-in-access-req // send Framed-IP-address attribute
radius-server attribute 25 access-request include // send Class attribute in access request
ip access-list extended ACL-DEFAULT
remark DHCP
permit udp any eq bootpc any eq bootps
remark DNS
permit udp any any eq domain
remark PING
permit icmp any any
remark TFTP
permit udp any any eq tftp
remark Drop ALL
deny ip any any log
ip access-list extended Web-Redirect
deny udp any any eq domain
deny udp eq bootpc any eq bootps
deny tcp any any eq 8905
deny udp any any eq 8905
deny tcp any any eq 8909
deny udp any any eq 8909
deny tcp any any eq 8443
permit ip any any
ip http server
ip http secure-server
查了下文档,教主的课件有个端口8906其实已经不需要了。
https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/116143-config-cise-posture-00.html
UDP/TCP 8905: Used for posture communication between NAC Agent and ISE
UDP/TCP 8909: Used for client provisioning.
TCP 8443: Used for guest and posture discovery.
access port
int gi 1/0/22
switchport mode access
switchport access vlan 10
spanning-tree portfast
device-tracking //3850/3650平台需要在接口下有这条命令,以前肯定没有
ip access-group ACL-DEFAULT in //默认放行的ACL,和authentication open一起使用
authentication open //认证不通都能打开物理接口,但是无授权流量由默认ACL控制
authentication event fail action next-method
authentication event server dead action authorize vlan 999
authentication event server alive action reinitialize
authentication host-mode multi-auth
authentication order dot1x mab
authenticatino priority dot1x mab
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
二 MAB和802.1x概念
抄几段话:
- MAB is the authentication deployed when endpoint doesn't support 802.1x
- MAB uses PAP/ASCII or optionally EAP-MD5 to has the password. But the radius is clear text and username is the MAC address
官方有一份讲MAB非常详细的文档,我截取些关键点
High level MAB authentication sequence,可以看出认证过程就是交换机发送request identity多达3次,当802.1x timeout之后开始进行mab地址认证
-
-一个典型的MAB包,注意service-type=call-check NAS-Port-Type=Ethernet 注意username是明文的,所以实际上很好欺骗的
-ISE端默认的MAB匹配条件
记住在ISE中,所有的endpoint不管你是否得到授权,MAC地址都是可以被ISE记录下来的。以后会有profiling将这些终端进行分组,我们就可以根据这个组来进行授权了。
三 802.1x
先说几种认证方式,EAP-MD5(不详细讲了,生产环境不部署,考试也不考),PEAP(MS-CHAPv2),EAP-TLS,EAP-FAST
首先说下EAP,extensible authentication protocol,国外有个印度无线大神,他的blog写的非常的好。我直接借用他的图片。
普通EAP,没啥参考价值
PEAP (MS-CHAPv2)
这种认证方式要求ISE需要有CA签发的证书,客户端需要信任CA的根证书。如果需要做机器认证,那就需要在客户端上配有computer certificate并且ISE需要导入CA根证书。
配置演示
首先先缩小可以使用的协议范围:
记住hostlookup 和PAP/ASCII是留着给MAB做保底用的,所以不能删除。
authorization profile
这个排版是丑。。。
附带客户端的配置:
smartcart or certifcate指的其实就是EAP-TLS,右边的additional setting里面是指机器认证和用户认证同时进行。
EAP-TLS,
这种认证方式要求ISE和客户端都有CA的根证书,本质上就是使用证书的双向认证。
注意,EAP-TLS也是支持机器认证的。
ISE段policy sets里面的东西几乎大同小异,唯一不同的是identity source。因为是使用证书认证,那就得创建一个certificate profile。
EAP-FAST (felxible authenticatino via secure tunnel)
这种认证方式必须得在客户端安装anyconnect NAM组件。当然有了anyconnect之后,可以支持现在这三种主流的认证技术。需要指出的是,EAP-FAST是ISE推了一个PAC文件到客户端,搭建TLS tunnel。
三 无线dot1x
无线没啥项目经验,只是做过些实验。摸着石头过河吧。
首先WLC一个重要概念,port和interface。port指的是物理接口,而interface是一个逻辑概念。
思科的官网一个图片解释的很清楚,一个port可以连接这交换机的trunk接口。一个我们自己配置的dynamic interface 对应一个vlan,同时和WLAN SSID之间的mapping关系也是我们自己配置的。
至于AP如何找到并和WLC建立capwap tunnel,这是无线的内容。一般我们用option 43。
创建一个dynamic interface,在flexconnect其实未必需要
认证方式默认其实是802.1x,可以改成
AP启用flexconnect模式
由于没有AP,没办法截图。主要就是AP 模式切换成flexconnect,在flexconnect里面配置vlan mapping,AP地址需要使用native vlan。(这些配完之后,使用PSK实际上就可以通信了)
接下来配置radius服务器
记得需要enable CoA
添加审计Radius
接下来就是修改flexconnect ACL。记住WLC此时对于ISE就是一台NAD,交换机上的类似的一些列表,也需要在WLC上进行配置。因为我们使用的是flexconnect,所以配置的也是FlexConnect ACL。
两条ACL,一个permit all 一个basic traffic,放行DHCP,DNS,CAPWAP和ICMP流量
我们需要在flexconnect group里面启用这些个ACL,在红圈的地方添加AP
需要调用这条basic-traffic ACL到某一个特定的AP,老样子,没办法截图。
接下来去WLAN,修改认证的属性。
记住ISE NAC,其实就是让这个WLAN支持CoA
添加一个SNMP,这个主要还是给profiling用的,radius的授权仍然只要经过radius就可以。
接下来ISE端的配置。。
首先就是NAD,SNMP,如上,其实就是给profiling做准备的。802.1x其实意义不大。
主要看看authorization profile,不像交换机,有DACL或者ACL需要配置。Wireless 802.1x就是一个airos 的ACL和VLAN。
policy set的匹配条件主要就是wireless_802.1x和WLC的location,device type等等
记得在查看授权结果的时候应该去WLC查看client
四 Web authentication for guest
web authentication 就是专门为guest 服务而设置的。
当一个endpoint连接到我们网络的时候,因为他既不支持dot1x,MAC地址也不在ISE的数据库中,当MAB 超时之后,我们配置的ISE策略会让他自动掉落到最后一条策略。所以我们在看到ISE预配的MAB策略中,有个continue
web authentication其实在ISE端是个二次认证的过程。第一次,客户会在一个默认的VLAN环境下,得到一个网页进行认证,同时得到一条Web Redirect ACL(在交换机内配置)以及一条DACL。记住web authentication是种三层认证方式。
另外,这个youtube vod
https://www.youtube.com/watch?v=Zb6uTmzsSAE
讲了一下web authentication的flow。前面十分钟很有借鉴意义。基本上解释了当MAB过时之后他会发送一个authentication passed 回给NAD,同时授权结果是个网页。
当客户收到这个网页之后,会登记自己的信息,产生一个guest账户,然后再做一次认证。
说下posture_remediation 这条DACL。这条DACL是和web redirect一起作为结果推送给NAS的。
permit udp any any eq domain
permit icmp any any
permit tcp any host 192.168.133.11 eq 8905
permit udp any host 192.168.133.11 eq 8905
permit tcp any host 192.168.133.11 eq 8909
permit udp any host 192.168.133.11 eq 8909
permit tcp any host 192.168.133.11 eq 8443
permit tcp any any eq 80
permit tcp any any eq 443
ip access-list extended Web-Redirect
deny udp any any eq domain
deny udp eq bootpc any eq bootps
deny tcp any any eq 8905
deny udp any any eq 8905
deny tcp any any eq 8909
deny udp any any eq 8909
deny tcp any any eq 8443
permit ip any any
所有在posture被permit的和redirect ACL中被redirect的,尤其是DNS,需要注意。
我们可以看到在推送授权结果的时候,还有一个self-registered-portal
以此类推,我们也需要在WLC配置一条类似的flexconnect ACL(注意:我这里是central web authentication,central 的意义在于是由ISE推送认证页面,至于identity source仍然是可以在WLC或者交换机本地的,当然实际上没人会这么做)。
这个portal是在Guest Access里面配置的。
点进去配置
这两个要剔除,因为这是BYOD的东西。
可以自定义Guest Type
进入sponsor portal修改
点击Sponsor Groups,我们看到有三种可以选择
ALL_ACCOUNTS: 能够管理所有的guest 账户
GroupAccounts: 能够管理由这个组的用户所创建的Guest 账户
OwnAccounts:只能够管理有这个用户创建的guest 账户
在部署过程中,其实这些就用系统预配的就可以了。
这里因为是guest,所以一般就可以只要上到网页就行了,当然实际可以调优,比如要收邮件等等。
WLC和flexconnect group配置ACL
两个授权结果,一个有线一个无线
授权策略,
另外吐槽一下,这个identity group我找了半天。。。。
WLC端的认证方式需要修改。需要注意的是WLC,dot1x MAB 和web authentication是相互矛盾的。网页认证属于三层认证方式,所以拿到了ip地址之后一般授权结果也只有ACL
需要vlan,因为授权不会推送vlan
禁用二层认证,mac filtering就是MAB
802.1X MAB 网页认证访客就暂时讲到这里。。。好多东西,还是把证书拆出来讲。
来源:51CTO
作者:sailorsoul
链接:https://blog.51cto.com/9272543/2421883