前言:
随着网络的发展,现代企业大多都会部署企业的有线网络与无线网络,在传统的企业网内,随着越来越多的终端设备接入到公司网络,管理人员控制和审计外部用户接入的企业办公网的难度和工作量也越来越大。而如果允许外部用户随意使用企业网络,则可能在管理人员和系统维护人员毫不知情的情况下,某些恶意用户侵入企业办公网络,从而造成数据泄露、病毒木马传播、恶意勒索以及数据攻击等严重问题。由此,针对企业网络亟需一套能够有效控制终端接入、审计以及分级管控的网络部署架构。
关键字:终端安全接入、802.1x、网络管控
一
接入协议802.1x
1
802.1x协议介绍
802.1x协议起源于802.11协议,后者是IEEE的无线局域网协议, 制订802.1x协议的初衷是为了解决无线局域网用户的接入认证问题。IEEE802LAN协议定义的局域网并不提供接入认证,只要用户能接入局域网控制设备 (如LAN Switch)就可以访问局域网中的设备或资源。
802.1x协议是基于客户端/服务端的访问控制和认证协议,包括三个实体:客户端、接入设备和认证服务器。其可以限制未经授权的用户或者设备通过接入端口访问LAN/WLAN。认证系统每个物理端口内部包含有受控端口和非受控端口。非受控端口始终处于双向连通状态,主要用来传递EAPOL协议帧,可随时保证接收认证请求者发出的EAPOL认证报文;受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。在认证通过之前,支持802.1x协议的交换设备只允许EAPOL(基于局域网的扩展认证协议)数据报文通过终端连接的交换机端口;认证通过后,用户或者终端的其他数据报文才能顺利地通过以太网端口进行后续的路由转发等动作。
2
终端、交换设备以及认证服务器需要满足的要求
▎用户终端
局域网用户终端设备,但必须是支持EAPOL的设备,可通过启动客户端设备上安装的802.1x客户端软件发起802.1x认证。目前大部分的台式机、笔记本以及手机都支持EAPOL。
▎交换设备端
支持802.1x协议的网络交换设备(如交换机),对所连接的客户端进行认证。它为客户端提供接入局域网的端口(物理端口或者逻辑端口)。
▎认证服务器
为交换设备端802.1x协议提供认证服务的设备,是真正进行认证的设备,实现对用户进行认证、授权和计费,通常为RADIUS服务器。通过需要在交换设备上配置认证服务器的IP端口信息。
3
认证方式
EAP协议可以运行在各种底层,包括数据链路层和上层协议(如UDP、TCP等),可以不需要IP地址。因此使用EAP协议的802.1X认证具有良好的灵活性。
在用户终端与交换设备端之间,EAP协议报文使用EAPoL(EAP over LANs)封装格式,直接承载于LAN环境中。
在交换设备端与认证服务器之间,用户可以根据客户端支持情况和网络安全要求来决定采用的认证方式。
▎EAP终结方式
EAP报文在设备端终结并重新封装到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。在此方式下,不同的交换识别所能支持的认证扩展协议可能会有很大的区别,例如,华为的交换机一般仅支持MD5-Challenge方式。在需要安全性更高的场景下,EAP终结方式就无法满足要求。
▎EAP中继方式
EAP报文被直接封装到RADIUS报文中(EAP over RADIUS,简称为EAPoR),以便穿越复杂的网络到达认证服务器。
EAP中继方式的优点是设备端处理更简单,支持更多的认证方法,缺点则是认证服务器必须支持EAP,且处理能力要足够强。对于常用的EAP-TLS、EAP-TTLS、EAP-PEAP三种认证方式,EAP-TLS需要在客户端和服务器上加载证书,安全性最高,EAP-TTLS、EAP-PEAP需要在服务器上加载证书,但不需要在客户端加载证书,部署相对灵活,安全性较EAP-TLS低。
4
认证过程
802.1X认证有以下触发方式:
● 客户端发送EAPoL-Start报文触发认证
● 客户端发送DHCP/ARP/DHCPv6/ND或任意报文触发认证
● 设备以组播形式发送EAP-Request/Identity报文触发认证
由于Windows系统自带的802.1x认证程序不主动发送EAPoL-Start报文,因此一般认证的触发主要是通过客户端发送DHCP/ARP/DHCPv6/ND等报文触发。
802.1x中继方式的认证过程如下图所示:
上图中认证过程是由客户端主动发起的,即采用EAPoL-Start报文触发认证。
二
认证扩展协议
上文提到802.1x使用EAP进行验证信息交互,EAP它本身不是一个认证机制,而是一个通用架构,用来传输实际的认证协议。EAP的优点是当一个新的认证协议发展出来的时候,基础的EAP机制不需要随着改变。
EAP是一组以插件模块的形式为任何EAP类型提供结构支持的内部组件,它的设计理念是满足任何链路层的身份验证需求,支持多种链路层认证方式。EAP协议是IEEE802.1x认证机制的核心,它将实现细节交由附属的EAP Method协议完成,如何选取EAP method由认证系统特征决定。这样实现了EAP的扩展性及灵活性,如图所示,EAP可以提供不同的方法分别支持PPP,以太网、无线局域网的链路验证。
EAP可分为四层:EAP底层,EAP层,EAP对等和认证层和EAP方法层。
EAP底层负责转发和接收被认证端(peer)和认证端之间的EAP帧报文;EAP层接收和转发通过底层的EAP包;EAP对等和认证层在EAP对等层和EAP认证层之间对到来的EAP包进行多路分离;EAP方法层实现认证算法接收和转发EAP信息。基于EAP衍生了许多认证协议,如EAP-MD5、EAP-TLS以及EAP-TTLS等。
如果现有的扩展方法无法满足实际的应用需求时,企业可以根据自己的需求开发自己的扩展方法,并以插件的方式融入到EAP中。如:在进行认证时,认证报文中,除了基本的身份认证外,还可以携带终端的其他信息:病毒库版本、漏洞修复情况、终端设备标识以及终端所处网络等信息,以供后续身份认证使用。
三
网络访问授权
802.1x不仅可以用于认证确认尝试接入网络的终端设备是否合法,还可以使用授权功能指定通过认证的终端所能拥有的网络访问权限,即用户能访问哪些资源。授权最常使用的基本授权参数有:VLAN、ACL和UCL组。
1
VLAN
为了将受限的网络资源与未认证用户隔离,通常将受限的网络资源和未认证的用户划分到不同的VLAN。用户认证成功后,认证服务器将指定VLAN授权给用户。此时,设备会将用户所属的VLAN修改为授权的VLAN,授权的VLAN并不改变接口的配置。但是,授权的VLAN优先级高于用户配置的VLAN,即用户认证成功后生效的VLAN是授权的VLAN,用户配置的VLAN在用户下线后生效。
2
ACL
用户认证成功后,认证服务器将指定ACL授权给用户,则设备会根据该ACL对用户报文进行控制。
● 如果用户报文匹配到该ACL中动作为“允许”的规则,则允许其通过;
● 如果用户报文匹配到该ACL中动作为“阻止”的规则,则将其丢弃。
ACL规则支持使用IPv4/IPv6报文的源地址、目的地址、I协议类型、ICMP类型、TCP源/目的端口、UDP源/目的端口号、生效时间段等来定义规则。如果需要更复杂的授权规则,则需要将用户访问流量通过路由表等方式引流到接入的管控设备上。
3
UCL
用户控制列表UCL组(User Control List)是网络成员的集合。UCL组里面的成员,可以是PC、手机等网络终端设备。借助UCL组,管理员可以将具有相同网络访问策略的一类用户划分为同一个组,然后为其部署一组网络访问策略,满足该类别所有用户的网络访问需求。相对于为每个用户部署网络访问策略,基于UCL组的网络控制方案能够极大的减少管理员的工作量。
除此之外,管理员还可以通过认证服务端的计费/审计功能,查看用户/终端设备的访问记录,以确定特定用户有无越权访问情况。
四
结语
综上所述,企业可以根据不同的场景以及不同的安全需求,使用802.1x结合交换设备以及AAA认证服务端实现用户终端的安全验证接入、网络管控、日志审计等功能,从多维度保障企业的网络安全以及数据安全。