网络准入和dot1x认证初了解
准入控制
相关链接:华为NCE-Campus官方网页介绍
AAA之802.1x认证详解(二)_51CTO博客_802.1x 认证
网络准入控制(network admission control,简称NAC)
对比项 | 802.1x | portal认证 | MAC认证 |
---|---|---|---|
客户端软件需求 | 必须安装 | 不需要 | 不需要 |
优点 | 安全性高 | 部署灵活 | 无需安装客户端 |
缺点 | 部署不灵活 | 安全性不高 | 需要登记mac地址,管理复杂 |
适用场景 | 新建网络、用户集中、信息安全要求严格的场景 | 用户分散、用户流动性大的场景 | 打印机、IP地址、传真机等哑巴终端接入认证的场景 |
华为公司网络准入访问支持802.1x认证,mac认证及portal认证等多种认证方式,将将认证点灵活部署在用户网络的接入交换机,汇聚交换机、无线控制器、路由器,防火墙等多种网络设备上,配置认证服务器imaster nce-campus共同完成网络准入控制;
为啥搞准入?
网络安全的威胁不仅仅来自外部,还有内部,所以内部网络的准入控制极为重要。
华为准入方案的设计思路:
将终端安全和准入连接到一起,也就是安全的终端才允许接入,最大可能性将安全威胁降到最低;
通过检查、隔离、加固和审计等手段加强安全性,保护整个园区网的安全。
什么是准入?
其实就是授权,就像公司里面的深信服上网行为管理和防火墙安全策略,用户通过认证上线之后所拥有的权限大概会涉及到这些几个权限:
- 是否允许接入到该网络
- 接入之后所获得的权限:
- VLAN
- ACL
- ……
在传统网络当中我们是通过手工方式实现的,我们可以通过手工配置接口属于某个VLAN,并给它设置一些权限;还有一种方法就是通过控制器,只要接入设备顺利连接了控制器,将控制器当做是认证服务器, 在认证服务器上基于用户将VLAN、ACL等权限配置好,用户的认证信息通过之后,直接将属于该用户的权限直接下发到接入设备。
准入的目的是什么?
灵活优雅且安全的让合法用户获得它该有的权限。
DOT1X
基本概念
什么是DOT1X?
我们先来复习一下我们前面学过的知识点:
- 802 局域网相关技术标准
- 802.3
- 802.1
- 802.1Q vlan相关
- 802.11 无线
- 802.1x 有关端口的网络访问控制
PS:它是IEEE 802.1网络协议组的一部分。它为希望连接到LAN或WLAN 的设备提供身份验证机制。
什么是dot1x认证
也叫802.1x认证,我们来看一下官方解释:“802.1x认证是一种基于端口的网络接入控制协议,即在接入设备的端口验证用户身份并控制其访问权限”,其实说的直白一点就是,PC接入交换机之后,PC如果想正常上网的话,必须得通过802.1x的认证,如果认证不通过,接入交换机接口是不会打开的,处于协议down状态。802.1x认证使用EAPoL(局域网可扩展认证协议),实现客户端、设备端和认证服务器之间认证信息的交换。
802.1X的架构
如上图所示,802.1x整体由三部分组成:客户端、认证者(通常是接入交换机)、认证服务器(认证服务器用于实现对用户进行认证,授权和计费,通常就是RADIUS服务器,控制器也可以充当)
需要专门的客户端支持吗?
如果是windows的话,并不需要专门的客户端来支持,因为windows本身就集成了dot1x的客户端,当你开启了这个功能之后就能直接使用。当然了,也有专门的客户端,比如你们公司使用某某公司提供的802.1x认证方案,他们大概率也会提供专门的客户端软件的。至于linux系统肯定也是可以通过集成或第三方软件支持802.1x认证。
dot1x的安全性
dot1x的安全性相当高,直接作用于网络接入层,一般是物理接口,也可以是逻辑接口,非法用户如果没有合法用户的账号和密码是无法接入到网络当中的,这非常适合一些保密性或安全性要求较强的业务部门,比如说互联网公司的研发部门。
NOTE:虽然dot1x最好直接作用于接入层,但也是可以工作在汇聚层的。
802.1x与EAPOL的关系
802.1x是一组认证标准,这个标准具体是由EAP框架实现的。
可扩展身份验证协议( EAP ) 是一种经常用于网络和互联网连接的身份验证框架,EAPOL 在数据链路层上运行,在以太网 II 中,帧协议的EtherType值为 0x888E。
EAP 是一个身份验证框架,而不是特定的身份验证机制。[1]它提供了一些通用的功能和协商认证方法,称为EAP方法。目前定义了大约 40 种不同的方法。IETF RFC中定义的方法包括 EAP-MD5、EAP-POTP、EAP-GTC、EAP-TLS、EAP-IKEv2、EAP-SIM、EAP-AKA 和 EAP-AKA'。此外,还存在许多特定于供应商的方法和新提案。能够在无线网络中运行的常用现代方法包括 EAP-TLS、EAP-SIM、EAP-AKA、LEAP和 EAP-TTLS。RFC 4017中描述了无线 LAN 身份验证中使用的 EAP 方法的要求。EAP 中使用的类型和数据包代码列表可从 IANA EAP 注册处获得。
总结一下,802.1X是一种标准,此项标准是由EAP框架实现的,而EAP框架就像IPSEC框架一样,可以往里面填充各种优秀的认证或加密算法。
认证方式
根据接入设备对802.1X客户端发送的EAPOL报文处理机制的不同,可将认证方式分为以下两种:
- EAP中继方式
- EAP终结方式
- ESP中继方式
- 类似GRE,将报文里面数据塞进
- 接入设备将客户端发送的EAPOL报文直接封装到RADIUS报文中,无需对EAP内的数据进行处理
- 这种方式对认证服务器的要求较高,一般认证服务器都能做的;
- EAP终结方式
- 接入设备要能识别并提出客户端报文中信息封装到RADIUS报文当中发送给认证服务;
- 这种对接入设备的要求高一些,它要认识并提取嘛!
为什么接入设备要通过RADIUS协议将信息传给认证服务呢?直接通过EAP原封不动的发给认证服务器不行吗?
EAP只是一个框架,本身并不具体任何功能,具体的工作是由框架内部的内容来实现的,比如EAP-TLS,也不提供集中式的身份验证,所以接入设备要进行一个转化。
AAA之802.1x认证详解(二)_51CTO博客_802.1x 认证
如何正确理解EAP OVER RADIUS?
注意看报文结构,是EAP在RADIUS里面,而不是单纯从字面上理解EAP保护着RADIUS。
认证流程
我们来解释一下上面这个张图,其实非常简单,先是触发谁的方式分为两种,这一种与web认证差不多,接入时自动弹出界面让你认证,如果不弹出你也可以主动访问使其弹出界面,肯定是自动弹出方便一些;
那弹出之后就是输入用户名和密码,输入完用户名和密码接入设备将其转换为RADIUS报文请求发给认证服务器,认证服务器给接入设备一个随机数,接入设备再把随机数交给客户端,客户端将密码和随机放一块生成一个密文再交给接入设备,接入设备再发给认证服务器,认证服务器核对成功后发送RADIUS ACCEPT报文交给接入设备,接入设备再进行授权。
授权什么呢?授权可以基于端口,就是把这个端口直接打开,让这个接口下所有设备都能正常使用,但种方法有点危险,如果对方接一个HUB这会导致权限放的太大了;所以还有一种方式那就是基于MAC模式,这种细粒度更好,更安全,如果该接口下面接HUB也不用担心了。
认证后-授权
通过上述的学习,我们大致也能猜到,基本上大部的命令都在集中在接入交换机和认证服务器上,且认证服务器要存在RADIUS的数据库,数据库当中存在了用户的用户名、密码以及设置好权限,那个权限是指什么呢?这个权限有点类似于深信服上网行为管理当中的权限,这个权限很有意思,它规定了该接口的VLAN和ACL,也就是说交换机可以不用配置什么VLAN、ACL啥的,只要在认证服务器上配置即可,认证成功之后直接把接口所属的VLAN以及可以拥有哪些权限一次性推送过来,也就是说接口的类型和权限都得是动态可变的,一般接入层的接口都得设置为混杂模式。
域分级
这个概念十分好理解,我们公司里面也有类似的机制,只不过没有么层次分明罢了;
- 所谓的认证前域就是当用户接入到网络之后就需要认证就能获取到的资源,比如能通过DHCP获取IP地址,能正常解析域名,能访问一些公司公告、宣传类的网站。
- 隔离域,就是当用户的身份信息验证完之后,比如说通过了dot1x的认证,但是终端安全检查因为防火墙关闭而没通过,那这个时候也会获取一些权限,这个权限包括允许该用户访问公司的BBS、文档中心等服务,让用户自己解决问题,但核心的服务依然不可访问,比如说公司的git仓库。
- 认证后域当用户解决了终端安全问题,身份信息验证也通过之后,会给用户开放该用户能拥有的最大权限。
win启用802.1x
默认系统是没有启用的,启用的方法如下所示:
启用之后,在网卡的属性信息当中会多出一栏“身份验证”
并且向外发送EAPOL-start报文,如下所示,注意目标MAC:0180-c200-0003
如果前面有人用过了802.1x认证,我们可以直接在网卡替换成我们自己的凭据,如下所示: