思科ISE对有线接入用户进行802.1X认证

Part 1 - 原理介绍

前言
通过上篇文章《思科ISE对有线接入用户进行MAC认证》你应该了解了NAC中的MAC认证方式不需要安装客户端,但是需要在认证服务器上登记MAC地址,管理比较复杂;那么这篇文章给大家介绍的是(NAC)中的另外一种802.1X认证,802.1X认证是网络接入控制方案,是一种基于端口的网络接入控制协议,通过它能够实现保护企业内网的安全性的目的。802.1X认证安全性较高。

802.1X理论介绍

  1. 802.1X简介
    最初,IEEE 802 LAN/WAN委员会为解决无线局域网的网络安全问题,提出了802.1X协议。后来,802.1X协议作为局域网的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。802.1X协议是一种基于端口的网络接入控制协议,即在局域网接入设备的端口上对所接入的用户设备进行认证,以便用户设备控制对网络资源的访问。

  2. 802.1X的体系结构
    802.1X系统中包括三个实体:客户端(Client)、设备端(Device)和认证服务器(Authentication server)

1) 客户端是请求接入局域网的用户终端设备,它由局域网中的设备端对其进行认证。客户端上必须安装支持802.1X认证的客户端软件。
2) 设备端是局域网中控制客户端接入的网络设备,位于客户端和认证服务器之间,为客户端提供接入局域网的端口(物理端口或逻辑端口),并通过与服务器的交互来对所连接的客户端进行认证。
3) 认证服务器用于对客户端进行认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。认证服务器根据设备端发送来的客户端认证信息来验证客户端的合法性,并将验证结果通知给设备端,由设备端决定是否允许客户端接入。在一些规模较小的网络环境中,认证服务器的角色也可以由设备端来代替,即由设备端对客户端进行本地认证、授权和计费。

  1. 802.1X对端口的控制
    1)受控/非受控端口
    设备端为客户端提供接入局域网的端口被划分为两个逻辑端口:受控端口和非受控端口。任何到达该端口的帧,在受控端口与非受控端口上均可见。
  • 非受控端口始终处于双向连通状态,主要用来传递EAPOL(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)协议帧,保证客户端始终能够发出或接收认证报文。
    
  • 受控端口在授权状态下处于双向连通状态,用于传递业务报文;在非授权状态下禁止从客户端接收任何报文。
    

    2)授权/非授权状态
    设备端利用认证服务器对需要接入局域网的客户端进行认证,并根据认证结果(Accept或Reject)对受控端口的授权状态进行相应地控制。

下图显示了受控端口上不同的授权状态对通过该端口报文的影响。图中对比了两个802.1X认证系统的端口状态。系统1的受控端口处于非授权状态,不允许报文通过;系统2的受控端口处于授权状态,允许报文通过。

3)受控方向
在非授权状态下,受控端口可以处于单向受控或双向受控状态。

  • 处于双向受控状态时,禁止帧的发送和接收;
  • 处于单向受控状态时,禁止从客户端接收帧,但允许向客户端发送帧。
  1. 802.1X认证报文的交互机制

802.1X系统使用EAP(Extensible Authentication Protocol,可扩展认证协议)来实现客户端、设备端和认证服务器之间认证信息的交互。EAP是一种C/S模式的认证框架,它可以支持多种认证方法,例如MD5-Challenge、EAP-TLS、PEAP等。在客户端与设备端之间,EAP报文使用EAPOL封装格式承载于数据帧中传递。在设备端与RADIUS服务器之间,EAP报文的交互有以下两种处理机制。

1). EAP中继
设备对收到的EAP报文进行中继,使用EAPOR(EAP over RADIUS)封装格式将其承载于RADIUS报文中发送给RADIUS服务器进行认证。

该处理机制下,EAP认证过程在客户端和RADIUS服务器之间进行,RADIUS服务器作为EAP服务器来处理客户端的EAP认证请求,设备相当于一个代理,仅对EAP报文做中转,因此设备处理简单,并能够支持EAP的各种认证方法,但要求RADIUS服务器支持相应的EAP认证方法

2). EAP终结
设备对EAP认证过程进行终结,将收到的EAP报文中的客户端认证信息封装在标准的RADIUS报文中,与服务器之间采用PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)方法进行认证。

  1. 802.1X的认证过程.
    802.1X系统支持采用EAP中继方式或EAP终结方式与远端RADIUS服务器交互。以下关于两种认证方式的过程描述,都以客户端主动发起认证为例。

1). EAP中继方式
这种方式是IEEE 802.1X标准规定的,将EAP承载在其它高层协议中,如EAP over RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,需要RADIUS服务器支持EAP属性:EAP-Message和Message-Authenticator,分别用来封装EAP报文及对携带EAP-Message的RADIUS报文进行保护。

IEEE 802.1X认证系统的EAP中继方式业务流程

  • 当用户需要访问外部网络时打开802.1X客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求。此时,客户端程序将向设备端发出认证请求帧(EAPOL-Start),开始启动一次认证过程。
  • 设备端收到认证请求帧后,将发出一个Identity类型的请求帧(EAP-Request/Identity)要求用户的客户端程序发送输入的用户名。
  • 客户端程序响应设备端发出的请求,将用户名信息通过Identity类型的响应帧(EAP-Response/Identity)发送给设备端。
  • 设备端将客户端发送的响应帧中的EAP报文封装在RADIUS报文(RADIUS Access-Request)中发送给认证服务器进行处理。
  • RADIUS服务器收到设备端转发的用户名信息后,将该信息与数据库中的用户名列表中对比,找到该用户名对应的密码信息,用随机生成的一个MD5 Challenge对密码进行加密处理,同时将此MD5 Challenge通过RADIUS Access-Challenge报文发送给设备端。
  • 设备端将RADIUS服务器发送的MD5 Challenge转发给客户端。
  • 客户端收到由设备端传来的MD5 Challenge后,用该Challenge对密码部分进行加密处理,生成EAP-Response/MD5 Challenge报文,并发送给设备端。
  • 设备端将此EAP-Response/MD5 Challenge报文封装在RADIUS报文(RADIUS Access-Request)中发送给RADIUS服务器。
  • RADIUS服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,并向设备端发送认证通过报文(RADIUS Access-Accept)。
  • 设备收到认证通过报文后向客户端发送认证成功帧(EAP-Success),并将端口改为授权状态,允许用户通过端口访问网络。
  • 用户在线期间,设备端会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。
  • 客户端收到握手报文后,向设备发送应答报文,表示用户仍然在线。缺省情况下,若设备端发送的两次握手请求报文都未得到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
  • 客户端可以发送EAPOL-Logoff帧给设备端,主动要求下线。
  • 设备端把端口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文。

2). EAP终结方式
这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。下面以CHAP认证方法为例介绍基本业务流程。

IEEE 802.1X认证系统的EAP终结方式业务流程

EAP终结方式与EAP中继方式的认证流程相比,不同之处在于步骤(4)中用来对用户密码信息进行加密处理的MD5 challenge由设备端生成,之后设备端会把用户名、MD5 challenge和客户端加密后的密码信息一起送给RADIUS服务器,进行相关的认证处理。

Part 2 - 实验配置

一.实验拓扑

认证前域:用户认证未通过时可以访问的区域。
认证后域:用户认证通过后可以访问的区域。

二.实验需求

  1. 采用802.1x的认证方式对终端设备做接入认证。
  2. 认证通过后。终端设备可以访问ISE服务器和业务服务器。

三.实验设备及注意事项

  1. 本文以Cisco 3560 软件版本Version 12.2(44)SE6为例,认证&授权服务器(Radius服务器)以2.1版本的Cisco ISE为例。
  2. 认证终端(PC 1,PC 2)使用Windows 10测试。
  3. 业务服务器使用Cisco 路由器代替测试。

四. 思科ISE的配置逻辑
【表1】 思科ISE的配置逻辑

配置项 说明
添加部门及用户账号 -
添加交换机 指定允许与ISE对接的交换机的相关参数。
(可选)创建认证协议模板 指定用户进行802.1X认证可以使用的认证协议。如果未创建新的认证协议模板,则使用ISE默认的“Default Network Access”模板。
创建认证策略 指定用户通过802.1X认证需要满足的条件。
(可选)创建授权策略 指定用户通过802.1X认证后允许访问的资源。如果未创建授权策略,则允许用户访问所有其路由可达的资源。

五. 数据规划
【表2】交换机接口和VLAN规划

设备 接口 VLAN
Switch FastEthernet 0/1 VLAN100
Switch FastEthernet 0/2 VLAN200
Switch FastEthernet 0/3 VLAN300
Switch FastEthernet 0/4 VLAN300

【表3】网络设备IP地址规划

项目 数据
ISE(认证前域) IP地址:192.168.100.100/24
业务服务器(认证后域) IP地址:192.168.102.100/24
未认证终端 IP地址:192.168.1.1/24
已认证终端 IP地址:192.168.1.2/24
Switch SVI 100 IP地址:192.168.100.254/24
Switch SVI 200 IP地址:192.168.102.254/24
Switch SVI 300 IP地址:192.168.1.254/24

所有设备将网关指向交换机,对应各自的SVI 接口。

【表4】交换机业务数据规划

项目 数据
RADIUS方案 认证服务器IP地址:192.168.100.100,认证服务器端口号:1812,计费服务器IP地址:192.168.100.100,计费服务器端口号:1813,RADIUS服务器共享密钥:Helperaddress@2019

【表5】ISE业务数据规划

项目 数据
部门 RD
接入用户 有线接入帐号:helperaddress 密码:P@ssw0rd
设备组 有线设备组:Switch
交换机IP地址 Switch:192.168.100.254
RADIUS认证密钥 P@ssw0rd
RADIUS计费密钥 P@ssw0rd

六. 实验步骤
Step 1 - 交换机VLAN配置。

  1. 创建VLAN 100,200,300。
Switch#config terminal
Switch(config)#vlan 100
Switch(config-vlan)#vlan 200
Switch(config-vlan)#vlan 300
  1. 按照VLAN规划,将接口加入对应的VLAN。
Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 100

Switch(config)#interface FastEthernet0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 200

Switch(config)#interface FastEthernet0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 300

Switch(config)#interface FastEthernet0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 300

Step 2 - Cisco ISE,业务服务器,终端IP地址配置略。

Step 3 - 交换机侧配置。

  1. 配置交换机上的SVI接口,保证网络通畅.
Switch(config)#int vlan 100
Switch(config-if)#ip address 192.168.100.254  255.255.255.0  ////ISE设备使用的网关IP
Switch(config-if)#no shutdown

Switch(config)#int vlan 200
Switch(config-if)#ip address 192.168.102.254  255.255.255.0  //业务服务器使用的网关IP
Switch(config-if)#no shutdown

Switch(config)#int vlan 100
Switch(config-if)#ip address 192.168.1.254  255.255.255.0  //终端设备使用的网关IP
Switch(config-if)#no shutdown
  1. 定义802.1x使用Radius服务器认证
Switch(config)#aaa new-model  
Switch(config)#aaa authentication dot1x default group radius
  1. 指定Radius服务器地址和验证(密钥认证服务器端口号:1812,计费服务器IP地址:计费服务器端口号:1813)
Switch(config)#radius-server host 192.168.100.100 auth-port 1812 acct-port 1813 key Helperaddress@2019
  1. 全局和接口同时开启802.1x认证
Switch(config)#dot1x system-auth-control 

Switch(config)#interface FastEthernet0/3
Switch(config-if)#dot1x port-control auto

Switch(config)#interface FastEthernet0/4
Switch(config-if)#dot1x port-control auto
  1. 定义Guest VLAN
Switch(config)#interface range FastEthernet0/3-4
Switch(config-if)#dot1x guest-vlan 999

当验证当终端验证未通过时,会被加入到Guset VLAN 999.

Step 4 - Cisco ISE 配置

  1. 登陆ISE
  • 打开Internet Explorer浏览器,在地址栏输入ISE的访问地址,单击“Enter”。输入ISE管理员账号和密码登录ISE。
  1. 创建部门和账号.
  • 选择“Administration > Identity Management > Groups”,在左侧导航区域选择“User Identity Groups”,在右侧操作区域内单击“Add”页签,创建部门“RD”。
  • 选择“Administration > Identity Management > Identities”,在左侧导航区域选择“Users”,在右侧操作区域内单击“Add”,创建账号“helperaddress”,密码为“P@ssw0rd”,添加到部门“RD”。
  1. 在ISE中添加交换机设备,以便ISE能与交换机正常联动。
  • 选择“Administration > Network Resources > Network Devices”,在右侧操作区域单击“Add”,添加接入设备Switch,根据下表配置Switch参数,配置完成后单击下方“Submit”提交。

参数说明:
设备名称:Switch
IP地址:192.168.100.254,交换机上该接口必须与ISE互通。
RADIUS密钥:Helperaddress@2019,必须与交换机上配置的RADIUS认证和计费密钥一致

此处不需要单独配置“Device Profile”,Cisco 有自己默默的。直接调用就好。

  1. 配置使用的密码认证协议。
  • 在上方导航区域选择“Policy > Policy Elements > Results”,在左侧导航区域选择“Authentication > Allowed Protocols”,在右侧操作区域单击“Add”,创建允许用户进行认证的协议模板“Authentication”,根据实际需求勾选适合的认证协议,配置完成后单击下方“Submit”提交。

“Default Network Access”为ISE默认的认证协议模板,如果能够满足实际需求,可以不再另行创建新的模板。

  1. 配置认证策略。
  • 选择“Policy > Authentication”。认证策略分为简单模式和基于规则的,这里以“Simple”为例。单击“Network Access Service”下拉选项,弹出“Network Access Services”界面,单击“Allowed Protocols”,选择“Authentication”。
  1. 添加授权规则。
  • 在上方导航区域选择“Policy > Authorization”,单击第一条认证策略最右侧的三角形,选择“Insert New Rule Above”。
    新增授权结果,并绑定授权规则。
  • 单击右侧“Save”,点击“Done”保存。

Step 5 - 认证终端安装802.1x服务

  1. 通过组合键“Win+R”,调出CMD窗口,然后输入“Services.msc”进入控制台
  1. 如图所示,找到“Wired AutoConfig”服务,并开启。
  1. 在“网络和共享中心”中选择本地物理网卡,在属性中找到“身份验证”选项。勾选“启用802.1x身份验证”。
  1. 点击“其他设置”,确保使用胡勇或计算机身份验证。

在PC1和PC2上都需要安装802.1x服务,步骤方法一致。

Step 5 - 检查配置结果

  1. 员工在没有认证的情况下只能访问ISE服务器。
  • 在未认证终端设备PC2上测试到业务服务器的连通性,无法通讯。
  1. 员工认证通过后,能够访问认证后域的网络资源。
  • 在已认证终端设备PC1上会弹出802.1x认证窗口,输入事先定义好的账号,用户名“helperaddress”,密码“P@ssw0rd”完成802.1x验证。
  • 测试已认证终端设备PC1到业务服务器的连通性。正常
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容