中小型企业网络低成本接入认证系统设计

2023-11-30 22:03李献军张峰赵芳
无线互联科技 2023年18期
关键词:计费报文端口

李献军 张峰 赵芳

基金项目:邮政应用技术协同创新中心资助项目;项目名称:基于图形化编程的信号处理装置自动测试系统研究与实践;项目编号:YB2022018。

作者简介:李献军(1968— ),男,河北辛集人,教授,硕士;研究方向:计算机开发与应用,信息安全,网络系统集成。

摘要:随着网络攻击类型的多样化,来自企业网络内部的攻击不断增多,作为保障企业内部网络安全的重要手段,基于RADIUS协议以及IEEE 802.1x技术实现的低成本用户认证管理功能,通过对用户进行接入认证,确保了内网接入用户的合法性,从根源上减少了来自企业内部网络的攻击,有效保障了企业网络的安全。

关键词:网络;认证;RADIUS;IEEE 802.1x;安全

中图分类号:TP393.08  文献标志码:A

0  引言

随着网络技术的快速发展,基于网络的各种应用为人们的工作和生活带来了前所未有的便利,但网络天生的脆弱性也导致了针对其进行攻击的安全事件越来越多,严重影响了个人、企业甚至是国家的数据信息安全。2018年4月,习近平总书记在全国网络安全和信息化工作会议上做出重要指示,没有网络安全就没有国家安全,就没有经济社会稳定运行,广大人民群众利益也难以得到保障[1]这彰显了网络安全居于国家战略高度的地位,而国家层面的重视恰恰反映了当前网络安全问题的严重性。传统上,由于大部分的网络攻击事件均来自于局域网外部的攻击,因此网络安全技术相对更关注如何在网络的边界进行防范。但近年来,随着网络攻击类型的多样化,从局域网内部进行攻击的行为越来越多,这就给企业网络安全防护带来了更大的挑战。因为在传统网络架构中,局域网内部所使用的协议均为开放式协议,在进行信息交互时并不进行身份的验证,因此只要攻击者能够连接到局域网,就可以对网络内部的各种资源进行访问,这就带来了非法用户入侵的问题。要解决该问题,网络就必须对连接到其中的用户进行身份认证,只有通过认证的合法用户才可以接入网络,从而避免内部攻击行为的出现[2]。

1  EAD解决方案

EAD全称为End user Admission Domination,即终端准入控制。它将针对LAN-Access的控制和终端用户的Security-Policy有机结合在一起,来实现终端用户安全地进行网络接入。EAD通过诸如iNode客户端、作为Security-Policy实施点的网络设备、Security-Policy Server以及提供加固服务的第三方Server之间的联动,对接入终端实施企业的Security-Policy,并根据终端的策略匹配度,对相应用户终端的访问权限进行限制,提高其主动防御能力,降低企业网络面临的各种潜在的安全威胁。EAD的具体流程如图1所示。

对于有网络接入需求的用户,EAD解决方案首先将验证用户的身份,如果其身份认证失败,则会被判定为非法用户,并拒绝其接入请求;如果用户通过了身份认证,则被判定为合法用户,进入下一步的安全认证环节。在安全认证部分将根据企业Security-Policy对用户进行各种系统安全性的检查,对于安全检查不合格的用户会被放入隔离区进行强制加固,直至满足企业安全策略的要求;对于安全检查合格的用户进入下一步的动态授权环节。在动态授权部分针对不同的用户赋予相应的网络使用权限,使其可以访问网络,并在用户访问网络的过程中对其终端运行情况、网络使用情况等进行审计和监控,及时发现并处理异常行为[3]。

EAD解决方案的核心同时也是第一道安全防线即对用户进行接入认证。针对较大型的网络一般可购买厂商提供的网络安全管理软件或服务来实现用户接入认证管理,而针对中小型企业,其网络规模一般比较小、网络结构也比较简单,则可基于认证、授权和计费(Authentication、Authorization and Accounting,AAA)安全架构下的RADIUS协议以及IEEE 802.1x来实现低成本的用户认证管理功能,包括对网络设备进行访问的认证以及对网络中的各种资源进行访问的用户接入认证。

2  基于RADIUS的网络设备访问认证

RADIUS协议是一种分布式、C/S结构的信息交互协议,其主要功能是使网络免遭未授权的访问攻击,其典型的应用场景是需要对远程用户提供访问服务的企业网络环境。RADIUS协议被广泛应用于各种不同的用户接入中,如Ethernet接入、管理用户登录等。它基于Authentication和Authorization的功能来为终端用户提供接入服务,通过Accounting功能来对用户网络资源使用情况进行监控[4]。

2.1  RADIUS协议基本工作流程

RADIUS客户端和RADIUS服务器之间通过共享密钥(shared-key)的方式来验证对方身份的合法性并对用户密码进行加密,以增强安全性。RADIUS的具体工作流程[5]如图2所示。

(1)用戶发起连接请求,并根据提示输入User和Password。

(2)RADIUS客户端(一般是网络设备)从用户处获得的User和Password信息,通过Access-Request,即认证请求包,发送给服务器,其中包中的Password为被共享密钥加密后的密文。

(3)RADIUS服务器将接收到的User和Password与自己保存的数据库信息进行对比,如果数据库中存在相应的User和Password,则认证通过,服务器向客户端发送包含用户授权信息的Access-Accept,即认证接受包;如果认证没有通过,则向客户端返回Access-Reject,即认证拒绝包。

(4)RADIUS客户端根据从服务器收到的包选择接入/挂断用户。如果接受用户接入,则客户端向服务器发送Accounting-Request,即计费开始请求包。

(5)RADIUS服务器向客户端返回Accounting-Response,即计费开始响应包,并对用户行为进行计费。

(6)RADIUS客户端为用户提供相应的服务。

(7)用户访问完毕后,RADIUS客户端向服务器发送Accounting-Request,即计费结束请求包。

(8)RADIUS服务器返回Accounting-Response,即计费结束响应包,计费过程结束。

(9)用户访问资源结束。

需要注意的是计费开始和结束的请求包均是Accounting-Request,其区别在于Acct-Status-Type属性的取值。计费开始请求包中Acct-Status-Type的取值为Start,而计费结束请求包中Acct-Status-Type的取值为Stop。计费开始响应包和计费结束响应包则为相应请求包的响应。

2.2  RADIUS的配置实现

将企业网络中涉及RADIUS认证部分的网络进行简化,形成如图3所示的网络,要求配置RADIUS服务,使PC1在远程登录到交换机上时通过RADIUS进行认证、授权和计费。其中要求配置AAA域名為network,RADIUS服务器与RADIUS客户端之间的shared-key为computer,RADIUS认证使用的User和Password分别是abc和123。

RADIUS客户端(交换机SWA)上具体配置如下:

[SWA]interface Vlanif 1

[SWA-Vlanif1]ip address 192.168.1.1 24

[SWA-Vlanif1]quit

[SWA]telnet server enable

[SWA]user-interface vty 0 4

[SWA-ui-vty0-4]authentication-mode aaa

[SWA-ui-vty0-4]quit

[SWA]radius-server template tem1

[SWA-radius-tem1]radius-server authentication 192.168.1.100

[SWA-radius-tem1]radius-server accounting 192.168.1.100

[SWA-radius-tem1]radius-server shared-key cipher computer

[SWA-radius-tem1]quit

[SWA]aaa

[SWA-aaa]authentication-scheme sch1

[SWA-aaa-authen-sch1]authentication-mode radius

[SWA-aaa-authen-sch1]quit

[SWA-aaa]accounting-scheme sch2

[SWA-aaa-accounting-sch2]accounting-mode radius

[SWA-aaa-accounting-sch2]quit

[SWA-aaa]domain network

[SWA-aaa-domain-network]authentication-scheme sch1

[SWA-aaa-domain-network]accounting-scheme sch2

[SWA-aaa-domain-network]radius-server tem1

RADIUS服务器采用FreeRADIUS来实现,需要分别对客户端配置文件和用户配置文件进行设置。

在clients.conf的末尾需要添加如下信息:

client 192.168.1.1/24 {

secret  = computer

shortname  = SWA

}

在users.conf的开始位置需要添加如下信息:

abc@network  User-Password == "123"

配置完成后,需要重新启动FreeRADIUS服务。

在客户端和服务器端均配置完成后,在PC1的命令行界面下使用telnet命令登录交换机SWA。

其中,PC1上的登录信息如下:

C:\\Documents and Settings\\Administrator>telnet 192.168.1.1

Login authentication

Username:abc@network

Password:

从PC1上的登录信息可以看出,使用用户名abc@network成功登录到交换机SWA上,该用户的登录是使用RADIUS服务器进行认证实现的。RADIUS服务器对用户进行认证后,会在FreeRADIUS安装目录下的var\\log\\radius\\radacct子目录中保存相应客户端的认证和计费信息,可供网管员进行查询。

3  基于IEEE 802.1x的用户接入认证

在以太网中,默认情况下用户主机只要可以在物理上连接到交换机的端口,就能够实现对网络中所有资源的访问。但是在诸如写字楼中的Ethernet或移动接入等应用场景中,ISP往往要求能够控制终端用户的接入行为,即在以太网接入交换机的端口上对所接入的终端进行认证和限制,从而出现了基于端口的网络接入控制需求。在网络中,实现这一需求的协议为IEEE 802.1x。在应用了IEEE 802.1x的交换机端口上,如果该端口连接的终端设备能够通过认证,就可以获得对网络中的资源进行访问的权限;而如果认证未通过,则不能实现对资源的访问[6]。

在IEEE 802.1x中,客户端主机与设备端之间交换认证信息需要使用专门的协议来进行,该协议被称为Extensible Authentication Protocol,即可扩展认证协议(EAP),其中在客户端主机和网络设备之间,EAP协议报文的封装模式为EAPOL,即使用以太网封装来承载EAP报文;而在网络设备和RADIUS服务器之间则使用RADIUS协议来对EAP报文进行封装传递[7]。

3.1  IEEE 802.1x基本工作流程

典型的IEEE 802.1x工作流程[8]如图4所示。

(1)当终端需要接入网络时,安装在终端主机上的IEEE 802.1x客户端程序会要求用户输入其User和Password,同时发送EAPOL-Start报文给设备端,认证开始。

(2)EAPOL-Start报文到达设备端后,设备端会向客户端发送EAP-Request/Identity报文,要求其以User进行应答,以进行身份确认。

(3)客户端对收到的Request进行响应,将User信息封装在EAP-Response/Identity报文中,并将其反馈给设备端。

(4)设备端收到EAP-Response/Identity报文后,并不将User信息发送给RADIUS服务器,而是将其暂时存储起来,并使用EAP-Request/MD5-Challenge报文携带随机生成的加密字向客户端发起质询。

(5)客户端从收到的报文中读取随机加密字并使用其对用户最初输入的Password進行加密,然后使用EAP-Response/MD5-Challenge报文携带加密后的Password向设备端响应。

(6)设备端收到EAP-Response/MD5-Challenge报文后,读取加密后的Password,并将该Password、暂存的User信息以及随机生成的加密字使用RADIUS协议进行封装形成 Access-Request报文,发送给RADIUS服务器。

(7)服务器收到Access-Request报文后,从中读取User、Password以及加密字信息,基于读取的User查找其数据库,在数据库中找到该User对应的Password并对其使用从Access-Request报文中读取的加密字进行加密,然后将加密值与读取的Password进行比较,如果两者相同,则向设备端发送RADIUS Access-Accept报文通知用户认证通过。设备端收到Access-Accept后,向客户端发送EAP-Success报文,同时对逻辑上的受控端口进行授权,允许用户使用该

端口接入网络访问资源。

(8)用户结束访问后,客户端向设备端发送EAPOL-Logoff报文,设备端收到该报文后,对受控端口结束授权,此时用户将不被允许再使用该端口接入网络。

3.2  IEEE 802.1x的配置实现

将企业网络中涉及IEEE 802.1x认证部分的网络进行简化,形成如图5所示的网络。要求进行IEEE 802.1x认证的配置,认证方法使用EAP终结方式中的CHAP认证方法,PC1必须在认证通过后才可以对网络进行访问,认证使用的User、Password、domain以及shared-key等自行设置,保持设备端与服务器端一致即可。

设备端(交换机SWA)上IEEE 802.1x基本配置如下:

[SWA]dot1x enable

[SWA]interface Ethernet 0/0/1

[SWA-Ethernet0/0/1]dot1x enable

[SWA-Ethernet0/0/1]dot1x port-method mac

[SWA-Ethernet0/0/1]quit

设备端RADIUS部分的配置以及RADIUS服务器的配置除参数不同外,与“2.2 RADIUS的配置实现”部分基本一致,在此不再赘述。

配置完成后,重新启动FreeRADIUS服务。

在终端主机PC1上的客户端软件中输入User和Password,开始IEEE 802.1x的认证,IEEE 802.1x认证通过后,在终端主机PC1上测试发现可以接入网络。

4  结语

基于AAA安全架构下的RADIUS协议以及IEEE802.1x对局域网内部的接入用户进行身份的认证,确保用户只有通过认证后才能够对网络设备以及网络资源进行访问,从而确保了内网接入用户的合法性,有效避免了非法用户的登录以及合法用户的越权非法操作,在一定程度上保护了网络免受来自内部的攻击。

参考文献

[1]丁利强.习近平网络安全思想形成逻辑述要[J].理论导刊,2019(7):50-55.

[2]张超,孙皓,鹿文杨,等.基于MAC认证的终端网络准入控制系统方案[J].通信技术,2021(9):2208-2213.

[3]叶水勇.网络接入认证控制系统探究[J].国网技术学院学报,2020(2):26-29.

[4]井浩然.基于Radius的安全网关系统探析[J].科学技术创新,2021(12):118-120.

[5]晋兴飞.基于RADIUS协议的局域网接入认证系统的设计与实现[D].南京:东南大学,2022.

[6]谢敬锐,黄佑强,刘星程,等.基于802.1X协议的局域网入网免费认证方案[J].电脑知识与技术,2020(17):51-53.

[7]金鑫,尚旭,王进,等.基于802.1X的虚拟机网络接入鉴权方案设计[J].软件,2021(7):95-97,100.

[8]白雨石.基于802.1X协议的局域网安全接入认证的设计与实现[J].信息与电脑,2020(2):162-164,169.

(编辑  李春燕)

Design of low-cost network access authentication system for small and medium-sized enterprises

Li  Xianjun, Zhang  Feng, Zhao  Fang

(Shijiazhuang Posts and Telecommunications Technical College, Shijiazhuang 050021, China)

Abstract:  With the diversification of network attack types, attacks from inside the enterprise network are increasing. As an important means to ensure the security of the enterprises internal network, the low-cost user authentication management function based on RADIUS protocol and IEEE 802.1x technology ensures the legitimacy of users accessing the internal network and reduces the attacks from the enterprises internal network from the root, It effectively ensures the security of the enterprise network.

Key words: network; authentication; RADIUS; IEEE 802.1x; security

猜你喜欢
计费报文端口
基于J1939 协议多包报文的时序研究及应用
5G网络独立组网中融合计费方案的研究
基于云计算和微服务架构的高速公路计费系统
一种端口故障的解决方案
CTCS-2级报文数据管理需求分析和实现
生活中的分段计费
浅析反驳类报文要点
端口阻塞与优先级
ATS与列车通信报文分析
基于AM3354的电动汽车充电监控计费系统电表通信的实现