第三篇是 MAC 地址安全管理这个话题最后一篇。在第二篇已经充分讨论了仅靠 MAC 地址是无法从根本上实现安全管理的,因此需要更复杂的机制,也就是需要在局域网内实施必不可少的 IEEE 802.1X 协议。
笔者:国际认证信息系统审计师、软考系统分析师、软件工程硕士
IEEE 802.1X(以下简称 802.1X) ,即基于端口的网络访问控制,是通过对用户进行身份验证而控制安全接入局域网的保护机制。这套机制的具体使用方法在网络上有很多教程,网络设备的生产厂家也会提供配置说明和配置范例。
对于大型企业或者说大规模的局域网接入,802.1X 是必不可少的接入层安全控制措施。尤其是无线局域网环境下,家庭用的 WPA-Personal 因为可管理性的缺陷而并不适合企业内网的大规模部署,甚至会产生因管理措施不到位而导致的安全漏洞,此时非使用 802.1X / WPA2-Enterprise 不可。
但配置教程和厂商说明书,基本上都不会把安全控制同时说明。就算在后期实施了加固,那也只是后期:
中间这一段时间就是网络安全的空白期。
回想一下网络安全“三同步”要求中的同步实施,可见该要求并不仅仅是对信息系统中的软件部分,而是包括对整个 IT 基础设施环境的。
所以如何确保 802.1X 协议安全实施,是 MAC 地址安全管理的关键。本篇就聚焦于实施 802.1X 要注意的安全问题。
802.1X 协议的安全实施,也就是构建身份认证体系,有两个基础的安全因素:(1)正确地配置和(2)使用基于证书的验证机制。
正确配置是必须的前提,因为错误的配置会导致直接产生安全漏洞。另一方面,基于证书的验证机制其安全性远高于基于密码的验证机制,配合 EAP-TLS(TLS 加密的扩展身份验证协议),可以从根本上避免密码信息在网络传输时被窃取,还可以强制用户必须先经过一次登录过程,以确保用户设备已经正确地配置。
需要避免使用PSK(预共享密钥不适合大中型企业环境)、PEAP MSCHAPv2(算法已被破解)、EAP-TTLS/PAP(明文传输密码,会被拦截窃取)等存在安全问题的加密方式。
限于篇幅本文不具体介绍整个 802.1X 身份认证体系(以下简称 802.1X 体系)的配置。
下图简要地展示了 802.1X 体系的抽象组成,包括了终端、网络设备、RADIUS 服务器和身份信息提供者。
在这四者中,RADIUS 服务器是最主要的网络安全因素。RADIUS 服务器是 802.1X 体系中的关键角色,通过对用户提交的身份证明信息进行校验,从而控制着用户能否接入到网络。
RADIUS 服务器通过服务器证书校验机制,在用户被 RADIUS 服务器校验前,先要求用户端设备校验所接入的网络,从而实现了双向校验而保证了用户端的安全,不会陷入邪恶孪生代理攻击(Evil Twin Proxy Attack)的陷阱。所以 RADIUS 服务器的用户验证能力是可靠的。限于篇幅,本文不详细谈 RADIUS 服务器的功能。
至于其他三者,首先是终端(或说,MAC 地址)在 802.1X 体系中它已经完全淡化了。虽然 RADIUS 服务器支持使用终端设备的 MAC 地址进行身份校验,但我们在之前已经分析过,MAC 地址容易被冒充,因此启用 RADIUS 服务器进行用户校验的环境基本上都不再使用 MAC 地址校验功能。此时 MAC 地址更多地是用于诸如用户使用网络的流量记账凭据等其它用途。
然后对于网络设备,其安全因素主要在于设备固件的安全性和三员(管理员、安全员和审计员)登录凭据的安全性,相对于 802.1X 体系是间接关系,通过网络设备实现的 MAC 地址安全管理功能也只是补充性质。
再后是身份信息提供者,它完全属于逻辑上的概念,在802.1X体系的实践之外。之所以需要身份信息提供者,是因为 RADIUS 服务只负责校验用户凭据,并不负责管理用户的凭据。用户凭据需要通过目录服务比如 Active Directory 或者 LDAP 服务器提供给它。这两者的安全因素固然非常关键,但也超出了 802.1X 体系本身。
所以就 802.1X 体系而言,最主要的安全因素在于 RADIUS 服务器。
RADIUS 服务的安全风险与其建立方式直接相关。一般地,RADIUS 服务有两种建立方式:(1)利用网络设备提供的 RADIUS 服务功能;(2)使用独立的服务器配置提供 RADIUS 服务功能。两种方法都有其优势和不足,以及相应地带来需要补足的安全隐患。
利用网络设备实现的 RADIUS 服务功能,优点在于和网络设备捆绑,理论上设备运行起来 RADIUS 服务就同时存在,但缺点非常多:功能细节受到网络设备固件的限制,通常只是子集;不同的设备厂家会有不同的功能细节实现;需要每台设备单独配置;更换设备就要重新配置等等。一般来说只有小型局域网才会选择通过网络设备(通常是网络内的核心交换机)建立 RADIUS 服务去实现 802.1X 体系。
如前所述,网络设备运行 RADIUS 服务后所构成的安全因素,一般与其本身固有的安全因素是等同的。如果固件有安全漏洞,或者三员登录凭据强度不足,再或者三员凭据因管理不善泄露,RADIUS 服务就会被彻底控制。
一种老观念认为设备固件不是可以随意更改的软件,所以比较安全。但时至今日,从供应链安全角度出发,固件漏洞是难以防范和难以缓解的,案例太多不表。按笔者观点,未能充分确认安全性时,使用固件提供的功能还不如用服务器软件实现。
利用独立服务器配置实现 RADIUS 服务功能是大中型企业局域网的必然选择,因为可以充分利用功能完整的 RADIUS 服务实现更多对用户的身份校验和授权操作。但随之而来的风险因素就比较多。
(1)需要对运行 RADIUS 服务的服务器实施彻底的安全加固措施。这对于熟悉网络安全等级保护的读者来说应已驾轻就熟了。笔者之前也写过不少文章,建议读者对照 CIS Benchmark 实施加固:
应用网络安全加固基准:CIS Benchmarks 2024年3月及之前的更新
(2)同时,需要在内网实现完整的证书机构,能对用户实现易用且安全的证书分发过程。笔者之前也写过内网自建 CA 证书中心的系列文章:
证书分发这一步我之前没写。如果是微软体系,通过 AD 和组策略就可以直接推送给客户端安装,没有域控就得自己想办法实现下载和导入证书的过程。
关键是对于信创环境,也就是 Linux 环境,可行的做法是基于 YUM 软件包分发机制,把内部证书制作为软件包,在内网自建软件仓库实现分发和更新。当然这也会引出其它一些安全风险,可参考笔者前文:
可以注意到,笔者所写的这些内容有其内在的成套体系。
最后简单说说,逻辑概念上的身份信息提供者,在现实中可能存在各种复杂性而产生安全风险而需要实施相应的缓解措施。
比如当身份信息提供者是 AD 域控,或者 LDAP 服务器,再或者是别的什么时,实现安全加固措施是必不可少的。
同时,身份信息传输过程的安全性需要通过加密措施来保障。尤其是如果身份信息提供者部署在云端,与必然在本地局域网内的 RADIUS 服务器之间的通信安全就更为突出。
本站微信订阅号:
本页网址二维码: