公共机房的网络入侵防护探讨

2023-01-13

随着网络技术的发展, 网络环境变得越来越复杂, 对于网络安全来说, 单纯的防火墙技术暴露出明显的不足和弱点, 如无法解决安全后门问题;不能阻止网络内部攻击, 而调查发现, 50%以上的攻击都来自内部;不能提供实时入侵检测能力;对于病毒等束手无策等。因此很多组织致力于提出更多更强大的主动策略和方案来增强网络的安全性, 其中一个有效的解决途径就是入侵检测。入侵检测系统 (IDS:Intrusion Detection System) 可以弥补防火墙的不足, 为网络安全提供实时的入侵检测及采取相应的防护手段, 如记录证据、跟踪入侵、恢复或断开网络连接等[1]。

1 入侵检测的基本概念

根据Heady等人的观点, 入侵 (Intrusion) 被定义为所有企图危及到网络资源的机密性、完整性的行为。入侵行为企图暗中破坏系统的安全措施以达到访问非法信息, 改变系统行为和破坏系统可用性的目的。入侵是个广义的概念, 不仅包括被发起攻击的人 (如恶意的黑客) 取得超出合法范围的系统控制权, 也包括收集漏洞信息, 造成拒绝访问 (Denial of Serve) 等计算机系统造成危害的行为。入侵行为既有来自外部的渗透, 也有来自内部的渗透 (所谓渗透就是一次成功的入侵) , 归结起来, 主要有以下几种[2]: (1) 外部渗透指的是既未被授权使用计算机又未被使用数据或程序资源的渗透; (2) 内部渗透指的是虽被授权使用计算机但是未被授权使用数据或程序资源的渗透; (3) 不法使用指的是利用授权使用计算机、数据和程序资源的合法用户身份的渗透。

另外, 这几种入侵行为, 并非静止不变的, 而是可以相互转变, 互为因果的。例如, 入侵者通过外部渗透获取了某用户的账号和密码, 然后利用该用户的账号进行内部渗透;同样, 内部渗透也可以转变成为不发使用。

2 入侵检测系统的原理

入侵检测是监视计算机网络和系统以发现违反安全策略事件的过程。一个完整意义上的IDS至少包括以下三个功能的部件:提供事件记录流的信息源, 发现入侵迹象的分析引擎和基于分析引擎的结果产生反应的响应部件。入侵检测系统 (IDS, Intrusion Detection System) 就是用来检测针对计算机系统和网络系统, 或者更广泛意义上的信息系统的非法攻击的系统。因为任何实际的信息系统都不可能是完全安全的, 同时, 它们也不可能在其生命周期或每次使用中都始终在百分之百安全的状态之中。因此, 需要采用入侵检测系统来检测外界非法入侵者的恶意攻击或试探以及其他人的非法行为。

入侵检测系统工作原理是在基于共享网络上检测原始的网络传输数据, 通过分析捕获的数据包, 主要工作为匹配入侵行为的特征或者从网络活动的角度检测异常行为, 进而采取入侵的预警或记录[2]。

3 入侵检测系统的设计

3.1 入侵检测系统的平台

Linux从UNIX那里继承了许多优点, 同时它自身又具有一些独特的特点。Linux除了具有多用户、多任务、多平台等特点外, 还具有按需存取、内存保护、虚拟内存分页技术、内存页面共享、优秀的磁盘缓冲调度功能、动态链接共享库、支持伪终端设备、支持多个虚拟控制台、支持多重CPU和硬件平台等。

3.2 网络入侵检测模型[3,4]

对于基于网络入侵检测系统体系结构, 其检测系统根据网络流量、网络数据包和协议来分析检测入侵, 基本过程如下图所示。嗅探器的功能是按一定的规则从网络上获取与安全事件相关的数据包, 然后传递给入侵分析引擎器模块进行安全分析判断。入侵分析引擎器模块将根据嗅探器上接收到的包并结合网络安全数据库进行分析, 把分析的结果传递给管理/配置模块。

3.3 基于Linux的入侵检测系统设计

为了在Linux操作系统下设计一个代码尺寸小, 便于配置, 功能强大的网络入侵检测系统, 拟采用以网络数据包为数据源, 基于规则的入侵检测系统。基于以上原则, 把整个系统分四个子系统:数据包捕获及解析器, 检测引擎, 日志/警报系统和控制台系统。

(1) 数据包捕获及解析器。

数据包作为入侵检测系统的数据源, 是整个系统分析的对象。以太网数据的传输是通过广播的方式来实现的, 通常在一个共享的局域网内的所有网络接口都有访问在物理媒体上传输的数据的能力, 但是在系统正常工作时, 应用程序只能接收以本主机为目标主机的数据包, 其它数据包过滤后将被丢弃不做处理。

(2) 检测引擎。

检测引擎是一个NIDS实现的核心, 准确性和快速性是衡量其性能的重要指标, 前者主要取决于对入侵行为特征码的提炼的精确性和规则撰写的简洁实用性, 由于网络入侵检测系统自身角色的被动性—只能被动的检测流经本网络的数据, 而不能主动发送数据包去探侧, 所以只有将入侵行为的特征码归结为协议的不同字段的特征值, 通过检测该特征值来决定入侵行为是否发生。后者主要取决于引擎的组织结构, 是否能够快速地进行规则匹配。

(3) 日志/报警。

入侵检测系统的输出结果系统的必要特征是实时性和多样性, 前者指能够在检测到入侵行为的同时及时记录和报警, 后者是指能够根据需求选择多种方式进行记录和报警。一个好的NIDS, 更应该提供友好的输出界面或发声报警等等。

(4) 控制台中数据库的选取。

My SQL数据库是众多的关系型数据库产品中的一个, 相比较其它系统而言, My SQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外, My SQL数据库是一种完全免费的产品, 用户可以直接从网上下载数据库, 用于个人或商业用途, 而不必支付任何费用。

4 结语

本文设计的网络入侵检测系统是以Linux为瓶外, 以网络数据包为分析来源, 通过分析数据包的包头来确定其所属协议类型, 然后调用检测引擎, 再按照给定的规则, 对数据包解析, 并对符合报警要求的数据包做出相应动作。本系统可以从网络协议的底层开始入侵分析, 因此对基于协议的攻击手段有较强的分析能力。

摘要:本文针对公共机房的情况概述了入侵检测和入侵检测系统的基本概念, 然后设计了基于Linux平台的网络入侵防护系统, 包括其模型, 数据包捕获及解析器, 检测引擎, 日志/警报系统和控制台系统等部分。

关键词:机房,网络入侵检测,入侵检测系统 (IDS)

参考文献

[1] White G.B, Pooch U.Cooperating Se-curity Managers:Distributed Intrusion Detection Systems.Computers&Security, 1996, 15 (5) :441~450.

[2] 李健.分布式网络入侵检测系统研究与实现[D].西南交通大学研究生论文, 2000:20~33.

[3] Rebecca Gurley Bace, [著], 陈明奇, 等[译].入侵检测[M].人民邮电出版社, 2001:50~203.

[4] 蒋建春, 冯登国.网络入侵检测原理与技术[M].国防工业出版社, 2001:22~84.

上一篇:阻垢剂的合成与性能评价下一篇:计算机技术在戏剧舞台艺术中的应用