从MAC地址到802.1X安全实践:MAC地址安全管理之三

作者:Sender Su  来源:原创内容  发布日期:2024-04-29  最后修改日期:2024-04-29

第三篇是 MAC 地址安全管理这个话题最后一篇。在第二篇已经充分讨论了仅靠 MAC 地址是无法从根本上实现安全管理的,因此需要更复杂的机制,也就是需要在局域网内实施必不可少的 IEEE 802.1X 协议。

article banner

笔者:国际认证信息系统审计师、软考系统分析师、软件工程硕士

IEEE 802.1X(以下简称 802.1X) ,即基于端口的网络访问控制,是通过对用户进行身份验证而控制安全接入局域网的保护机制。这套机制的具体使用方法在网络上有很多教程,网络设备的生产厂家也会提供配置说明和配置范例。

对于大型企业或者说大规模的局域网接入,802.1X 是必不可少的接入层安全控制措施。尤其是无线局域网环境下,家庭用的 WPA-Personal 因为可管理性的缺陷而并不适合企业内网的大规模部署,甚至会产生因管理措施不到位而导致的安全漏洞,此时非使用 802.1X / WPA2-Enterprise 不可。

但配置教程和厂商说明书,基本上都不会把安全控制同时说明。就算在后期实施了加固,那也只是后期:

中间这一段时间就是网络安全的空白期。

回想一下网络安全“三同步”要求中的同步实施,可见该要求并不仅仅是对信息系统中的软件部分,而是包括对整个 IT 基础设施环境的。

所以如何确保 802.1X 协议安全实施,是 MAC 地址安全管理的关键。本篇就聚焦于实施 802.1X 要注意的安全问题。

1、802.1X 的基础安全性

802.1X 协议的安全实施,也就是构建身份认证体系,有两个基础的安全因素:(1)正确地配置和(2)使用基于证书的验证机制。

正确配置是必须的前提,因为错误的配置会导致直接产生安全漏洞。另一方面,基于证书的验证机制其安全性远高于基于密码的验证机制,配合 EAP-TLS(TLS 加密的扩展身份验证协议),可以从根本上避免密码信息在网络传输时被窃取,还可以强制用户必须先经过一次登录过程,以确保用户设备已经正确地配置。

需要避免使用PSK(预共享密钥不适合大中型企业环境)、PEAP MSCHAPv2(算法已被破解)、EAP-TTLS/PAP(明文传输密码,会被拦截窃取)等存在安全问题的加密方式。

限于篇幅本文不具体介绍整个 802.1X 身份认证体系(以下简称 802.1X 体系)的配置。

2、RADIUS 服务是关键安全点

下图简要地展示了 802.1X 体系的抽象组成,包括了终端、网络设备、RADIUS 服务器和身份信息提供者。

IEEE 802.1X SYSTEM COMPONENTS

在这四者中,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 服务器。

3、网络设备 RADIUS 服务的安全风险

RADIUS 服务的安全风险与其建立方式直接相关。一般地,RADIUS 服务有两种建立方式:(1)利用网络设备提供的 RADIUS 服务功能;(2)使用独立的服务器配置提供 RADIUS 服务功能。两种方法都有其优势和不足,以及相应地带来需要补足的安全隐患。

利用网络设备实现的 RADIUS 服务功能,优点在于和网络设备捆绑,理论上设备运行起来 RADIUS 服务就同时存在,但缺点非常多:功能细节受到网络设备固件的限制,通常只是子集;不同的设备厂家会有不同的功能细节实现;需要每台设备单独配置;更换设备就要重新配置等等。一般来说只有小型局域网才会选择通过网络设备(通常是网络内的核心交换机)建立 RADIUS 服务去实现 802.1X 体系。

如前所述,网络设备运行 RADIUS 服务后所构成的安全因素,一般与其本身固有的安全因素是等同的。如果固件有安全漏洞,或者三员登录凭据强度不足,再或者三员凭据因管理不善泄露,RADIUS 服务就会被彻底控制。

一种老观念认为设备固件不是可以随意更改的软件,所以比较安全。但时至今日,从供应链安全角度出发,固件漏洞是难以防范和难以缓解的,案例太多不表。按笔者观点,未能充分确认安全性时,使用固件提供的功能还不如用服务器软件实现。

4、独立服务器配置 RADIUS 服务的安全风险

利用独立服务器配置实现 RADIUS 服务功能是大中型企业局域网的必然选择,因为可以充分利用功能完整的 RADIUS 服务实现更多对用户的身份校验和授权操作。但随之而来的风险因素就比较多。

(1)需要对运行 RADIUS 服务的服务器实施彻底的安全加固措施。这对于熟悉网络安全等级保护的读者来说应已驾轻就熟了。笔者之前也写过不少文章,建议读者对照 CIS Benchmark 实施加固:

应用网络安全加固基准:CIS Benchmarks 2024年3月及之前的更新

(2)同时,需要在内网实现完整的证书机构,能对用户实现易用且安全的证书分发过程。笔者之前也写过内网自建 CA 证书中心的系列文章:

打造甲方私有的多级CA证书中心(上)

打造甲方私有的多级CA证书中心(中)

打造甲方私有的多级CA证书中心(下)

证书分发这一步我之前没写。如果是微软体系,通过 AD 和组策略就可以直接推送给客户端安装,没有域控就得自己想办法实现下载和导入证书的过程。

关键是对于信创环境,也就是 Linux 环境,可行的做法是基于 YUM 软件包分发机制,把内部证书制作为软件包,在内网自建软件仓库实现分发和更新。当然这也会引出其它一些安全风险,可参考笔者前文:

基于安全审计思维规划缓解内网自建软件仓库的风险

可以注意到,笔者所写的这些内容有其内在的成套体系。

5、其它一些安全风险

最后简单说说,逻辑概念上的身份信息提供者,在现实中可能存在各种复杂性而产生安全风险而需要实施相应的缓解措施。

比如当身份信息提供者是 AD 域控,或者 LDAP 服务器,再或者是别的什么时,实现安全加固措施是必不可少的。

同时,身份信息传输过程的安全性需要通过加密措施来保障。尤其是如果身份信息提供者部署在云端,与必然在本地局域网内的 RADIUS 服务器之间的通信安全就更为突出。

本栏目相关
  •  2024-09-06 拿来主义也高质:优化 WSUS 之不会开发但会找
  •  2023-01-26 Windows服务器折腾安装MegaRAID存储管理器17.05版
  •  2022-12-03 VMware vSphere Hypervisor 6.7 手动升级过程实例
  •  2022-05-20 内网DNS服务实现公网域名在内网转换解析
  •  2022-05-13 2022年甲方系统管理运维人员必备远程访问工具
  •  2023-02-01 安装MegaRAID存储管理器17.05.06版的好一番折腾(Linux篇)
  •  2023-01-11 网络安全运维必须掌握的Windows命令行工具
  •  2024-03-02 网络运维及安全基础:MAC地址安全管理之二
  •  2024-01-28 网络运维及安全基础:MAC地址全面介绍之一
  • 本站微信订阅号:

    微信订阅号二维码

    本页网址二维码:

    本栏目热门内容
  • Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然...
  • LINKSYS交换机登录WEB界面显示不正确的解决方法
  • 又一次RAID 5阵列故障记录
  • 解决VMware vSphere ESXi 5.0 Update 1 中虚机不能...
  • 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET...
  • 解决虚拟化运行的 Windows Server 2003 标准版出现...
  • Windows Server 2008 重命名域和域控制器
  • Intel Nehalem CPU Errata 导致 VMWare ESXi(vSpher...
  • 一次很精神的电脑组装过程记录(但不是自己的电脑)...
  • 解决MySQL Cluster 备份总是失败,提示文件已存在的...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的问题
  • 解决 VMWare vSphere 6 客户端无法修改用户密码
  • 解决Windows Server 2008 R2域控制器显示无法连接到...
  • 本站服务器RAID 5阵列双硬盘失效挽救记录
  • 网站数据库从MySQL 5.0升级到5.6的记录
  • 解决MariaDB使用Percona XtraBackup增量备份出错
  • DELL PowerEdge 820 报CPU3 INTERNAL ERROR 的解决...
  • Linux 下的分区调整工具GParted实战
  • 修改arpwatch使通知邮件主题显示IP地址
  • 程序员漫画:如何用8种不同的编程语言去解救公主
  • 解决Samba WINS服务的错误解释问题
  • 解决很好用的多合一即时通信软件pidgin的崩溃问题
  • 使用 GParted 进行虚拟机硬盘分区调整操作
  • 解决Squid代理HTTP时在浏览器出现Content Encoding ...
  • 用Delphi编写使用到ADO的DLL的一些问题
  • 网站简单改版
  • 索尼系列手提电脑备份失败,出现700错误的解决办法
  • Dell R900服务器 BMC firmware incompatible with C...
  • 更多...