企业内网计算机接入合规性检测及违规阻断实现

2016-06-15 10:29:00

企业内网的环境日渐复杂,企业用户和访客身份无法确认,信息泄露途径众多。如何利用简单、快捷、有效的技术手段实现内网计算机的身份认证和接入控制成为保障内网安全的重要研究课题。下面通过对ARP探测及身份认证手段的探讨对内网计算机的身份认证和接入控制技术进行研究。

接入控制

内网终端主机的接入控制功能主要实现以下3个方面:①内网合法主机的注册和审批入网,并对IP和MAC地址进行绑定;②进行网络扫描,探测外来主机的违规接入行为;③对发现的违规接入主机进行阻断。

目前内网安全接入控制技术主要有基于代理服务器的技术、基于ARP阻断的技术、基于端口绑定的技术、基于动态VLAN的技术、基于IEEE802.1x的技术。结合企业内网和系统实际情况,采用基于ARP的探测阻断技术。

*内网主机注册审批及IP绑定

系统对每一个新入网的主机都要进行注册审网卡物理地址,并进行MAC(网卡物理地址)地址绑定。违规接入探测时,如果一个主机的IP-MAC地址映射信息与系统记录的信息相符并且能得到相应的认证,则认为接入合法。否则为违规接入,产生报警信号,并对该主机进行接入阻断控制。

通过Web配置管理平台,系统管理员录入内网主机的注册审批、IP绑定、主机信息等。这些信息都将存储在后台SQL数据库中,分为4组:注册信息记录该主机在内网中的使用情况,如使用人、使用部门、IP地址、操作系统等;硬件信息记录主机的CPU、内存、显卡、网卡、硬盘容量等硬件信息;软件信息记录主机中安装的各种应用软件、版本、安装路径等信息;其他信息记录该主机设备相关的其他信息。

每台经过入网注册的主机设备都必须安装内网信息安全管理系统的客户端程序,接受安全监控。系统还要维护内网主机以后可能发送的信息变更,直至主机移出内网或生命周期结束将其信息进行归档保存。

*违规接入探测

违规接入探测服务使用的是Java开发的功能组件,运行在WebLogic9.2应用服务器上。该功能组件的核心功能代码为ARP请求的发送和接收,功能实现用到jpcap.jar包的detector、arpSender和arpAccepter三个功能类。其中,arpSender类负责发送ARP请求数据包,arpAccepter负责接收并解析ARP响应数据包,detector负责探测服务的启动、扫描范围的确定、IP地址的选择以及整体探测过程的流程判断。

内网主机违规接入探测工作由安全服务中心的违规探测服务组件执行。该组件为后台服务运行,持续循环扫描网络中的活动主机,以探测主机是否为违规接入终端。违规接入探测服务随系统启动而开始工作,流程图中只有“开始”节点而没有“结束”节点,除非发生异常服务中断。

违规接入探测服务启动时,首先需要确定扫描的IP地址范围(该信息存储在后台数据库中),然后开始对探测范围内的IP地址进行循环探测。探测过程通过发送一个以选定IP地址为目的IP的ARP请求数据包实现。该ARP请求包为广播包,所有内网主机都会接受到该请求包并将目的IP与自身IP进行比对,只有自身IP与目的IP相同的主机会发送ARP响应数据包,内含该主机的MAC地址。其他主机则会直接忽略并丢弃数据包。

如果在限定时间内探测服务没有接收到ARP响应数据包,则认为目的IP主机不存在或处于下线状态。如果接收到响应信息,则提取返回的主机MAC地址,然后以目的IP为搜索条件在数据库中查询主机的MAC地址。如果从ARP响应数据包中提取的MAC地址与数据库中查询到的MAC地址相同,则初步认定该主机合法;否则判断该主机为违规接入,向Web配置管理平台发送预警信息,并将该主机列入阻断列表保存在数据库中,并开始下一个IP地址的探测。

被初步认定为合法的主机,还需要被进一步验证。服务会向该主机发送需要系统客户端程序响应的验证请求,如果在限定时间内接收到客户端程序发送的响应信息则认为该主机为内网合法主机;否则判定该主机为违规接入。

系统进行这一步验证的前提是每一台合法的内网主机都已经安装了客户端程序且未卸载,同时没有外部主机安装客户端程序,这就需要对客户端安装程序的分发和卸载进行严格的制度和系统管理。

*违规接入阻断

违规接入阻断工作由安全服务中心的接入阻断服务组件执行。该组件与违规探测服务组件一样,使用Java开发的功能组件,运行在Weblogic应用服务器上。

接入阻断服务启动时,首先需要从SQL数据库的主机阻断列表中获取需要进行接入阻断的主机列表。取得一个要阻断的主机信息后,服务首先通过访问SQL数据库中的主机注册信息来判断该主机是否进行过注册:如果已注册,SQL数据库会自动将其存放在剔除阻断列表中,作为阻断记录保存;否则对其进行阻断。

对于需要阻断的主机,服务器以其IP地址向内网中所有其他主机发送伪造ARP响应数据包,使内网其他主机的ARP缓存列表中关于被阻断主机的MAC地址变为假的,从而阻断该主机与内网其他主机通信。实现这一功能的关键类为brocker,负责向内网主机发送伪造ARP响应数据包。

完成一个主机的阻断动作后,将从列表中选择下一个主机进行阻断,直到阻断列表中的主机都已经遍历过。接入阻断服务的工作流程图中只有“开始”节点、没有“结束”节点。

主机监控

内网信息安全管理系统对于内网中的合法主机进行监控,主要有主机非法外联监控、主机进程监控、主机资源监控、主机网络流量监控等功能。主机监控功能是通过安全策略的制定、分配、下达和客户端程序的功能来实现。例如,主机非法外联监控线程的核心功能代码为ICMP请求的发送和响应探测,该功能的实现要用到jpcap.jar包的icmpSender、icmpDetector和monitor三个功能类。其中,icmpSender类负责发送ICMP请求包,icmpDetector类负责探测ICMP响应包,monitor类负责监控线程的启动、发现非法外联后的处置和整体探测过程的流程判断。

内网信息安全管理系统的各种由客户端执行的安全保护和监控功能都是从策略的制定和分配开始的:系统管理员先在Web配置管理平台创建和设置主机非法外联监控策略,然后选择策略的分配对象,即需要进行监控的终端主机,最后进行策略下发。制定策略时可以对策略在客户端的执行情况进行设置,包括策略状态(启动/停止)、策略存活时间(策略执行的起止时间)、策略执行触发条件、策略无效时间等。

策略创建并选择好分配对象后,其信息被保存至SQL数据库,策略处于“未启用”状态。当管理员设置策略状态为“启用”时执行策略下发:首先根据策略基本配置和分配信息生成一个XML文件,然后和策略下发命令一起发送给安全服务中心。安全服务中心接收到该信息后,解析XML文件中的策略配置信息和分配对象,然后为每个对象主机生成一个包含策略信息的XML文件,将其和策略执行命令一起发送至目标主机。

客户端程序接受到策略执行命令和XML文件后,通过解析XML文件中的策略配置信息,启动相应的监控线程,定时发送非法外联探测信号进行监控。

当主机连接在内网时,其路由器的默认路由指向内网网关,当其通过拨号方式连接外网时,默认路由改为一个新的IP地址。当非法外联监控线程向主机发送模拟外网终端IP的ICMP请求时,其本地路由表发现此请求不是来自本网IP,则首先要向其默认路由发送一个ARP请求以获取其MAC地址,然后才能构造一个以外网终端IP为目的IP地址、以其默认路由的MAC地址为目的MAC地址的ICMP响应。如果此时主机没有连接外网,可以通过发送ARP请求获得默认路由的MAC地址,也就可以发出ICMP响应;如果此时用户连接了外网,向其非内网主机的IP地址发送ARP请求得不到响应,没有MAC地址返回,因此无法发出ICMP响应。

监控线程就是通过探测向主机发送ICMP请求发出之后是否有响应来判断主机是否非法连接外网的。如果在限定时间内未探测到ICMP响应包,则判定该主机进行了非法外联。如果探测到ICMP响应包,则判定此时主机未连接外网,此次探测到此结束,在一段时间后开始下一次探测活动。两次探测活动之间的间隔时间是系统管理员在制定策略时设置的,由安全服务中心通过解析策略XML文档取得并通知客户端程序。

当监控线程判定主机进行了非法外联时,则根据策略制定时的设置执行相应的处置动作,如向用户发送提示信息、向管理员发送预警信息、或者直接对主机进行断网处理。

用户身份认证

内网用户的身份认证功能采用PKI技术实现,主要实现用户数字证书申请和基于数字证书的用户身份认证两个功能。

*数字证书内容和结构

数字证书是一种数字标识,由证书授权机构(CA)签名颁发的数字文件,该签名使得第三者不能伪造和篡改证书。它是网络上的身份证明,可以用来向系统或者系统的其他实体证明自己的身份。另外,由于证书携带着其持有者的公钥,也有公钥分发的作用。

根据PKI的结构,身份认证的实体(即需要进行身份认证的用户)需要有一对密钥,分别为私钥和公钥。其中,私钥是保密的,公钥是公开的;公钥加密的信息必须由对应的私钥才能解密,私钥做出的签名也只有配对的公钥才能解密。密钥的管理政策是把公钥和实体绑定,由CA中心把实体的信息和实体的公钥制作成数字证书,证书的尾部必须有CA中心的数字签名,数字签名和实体的数字证书均不可伪造。

内网安全管理系统的数字证书结构采用X.509国际标准。目前X.509v3数字证书的主要包括证书的版本号、序列号、有效起止日期以及证书颁发者的名字和唯一标识符、证书持有者的名字和唯一标识符、证书持有者的公钥、证书扩展项以及证书颁发者的签名。其中,证书扩展项可以根据证书的不同应用而由证书的颁发者具体定义,通用性和灵活性较强。

*数字证书和私钥的保存

为了保护证书和私钥的安全,系统使用USBKEY来保存用户的证书及私钥。发生USBKEY丢失等情况下,私钥可以恢复或者解密以前的加密邮件,申请证书时密钥在系统中产生。证书申请成功后,将私钥和证书导入到USBKEY中;同时系统以文件的形式保留私钥和证书的备份。

*数字证书签发流程

CA认证服务中心的注册中心负责数字证书的签发:系统管理员在Web配置管理平台完成用户信息的注册后,为用户提交证书申请请求,申请数字证书;然后仍然有系统管理员审查和批准提交的证书申请请求;注册中心根据系统管理员的批准,签发用户证书,并将数字证书发布到证书目录管理模块中。系统管理员下载签发的证书并将其发送给对应的用户。

*数字证书验证流程

用户数字证书的认证过程从客户端程序提交证书认证请求开始。当用户登录安装了内网信息安全管理系统的客户端程序时,由客户端程序强制用户进行基于数字证书的身份认证,并在用户提交了数字证书后,将数字证书信息发送至服务器端的安全服务中心,由安全服务中心将其发送至CA身份认证服务中心进行用户身份验证,然后仍由安全服务中心将返回的证书验证结果发送至客户端程序。客户端程序根据验证结果控制用户的操作权限。

文件安全管理

系统的文件安全管理功能对内网重要文件进行加密保护,并对其访问权限进行精细化管理。不仅仅设定哪些用户可以访问文档,还对文档的访问权限进行了细分,不同用户具有不同的文档访问权限和访问权限时效。访问权限信息存储在服务器端数据库中,可以实现其访问权限的实时控制,由管理员在必要的时候直接修改存储在数据库中的某文档的访问权限,而不必获取到该文件本身。

(1)文件加密并设置权限。文档作者或管理员通过安全管理客户端程序对需要保护的关键文档进行加密,然后把文件的用户访问权限和期限信息上传至服务器。

(2)加密文件访问。需要访问该加密文档的其他用户通过客户端程序向服务器发出访问加密文档的请求,服务器首先验证该用户对请求文档的访问权限和期限,如果用户具有该文档的访问权限并且在访问有效期内,则将用户的对文件具体的访问权限如读写等返回给客户端程序,客户端首先对加密文件进行解密,然后根据返回的用户文档访问权限对用户的文档操作进行监控和记录。如果用户不具有文档访问权限或其访问权限已过期,则向用户发送没有文档访问权限的提示信息并将此次文件访问请求的相关信息作为文档访问日志。

(3)文档权限的实时控制。文档作者在客户端或管理员通过Web配置管理平台可以修改文档的访问权限信息,如增加或取消某用户对文档的文档权限、增加或取消编辑、打印的权限、延长或缩短某用户的访问期限等,实现文档权限的实时控制。

(4)文档访问日志管理。客户端程序对每一次用户的文件访问请求都进行记录,如用户身份、访问使用的IP、访问时间以及用户对文档的所有访问操作等,形成访问日志。通过对日志信息的审计管理,文档管理员可以监督、跟踪所有用户的全部操作,查看文档的访问情况并分类整理,自动生成相应的审计报告。通过研究日志报告,能够制止泄密事件的发生,对于已发生的泄密事件也可以回溯历史活动、发现泄密渠道。

内网资源信息管理

系统管理员通过Web配置管理平台实现内网资源信息管理功能,对主机、服务器、移动存储设备、打印机、交换机、路由器等内网资源进行入网注册和信息管理,并根据客户端程序发现上报的终端信息变更进行更新。

例如,移动存储设备信息管理将移动存储设备的信息分为4组:注册信息记录该设备在内网中的使用情况,如使用部门、设备类型和型号、使用人及其联系电话等;主要参数信息记录该设备的一般参数信息,如接口类型、规格大小、重量等;其他信息记录该移动存储设备相关的其他信息。

在内网中使用的移动存储设备,首先必须进行入网注册。通过主机安全策略的下发,客户端主机在工作时只会对能够读取到该加密信息的移动存储设备进行挂载,而且经过格式化的移动存储设备在未安装客户端的主机上不能够进行使用。这一功能保证了内部机密信息不能通过移动存储设备外泄,并且外部的病毒也不能通过移动存储设备进入内网,加强了内网的保密性和安全性。

经过格式化处理的移动存储设备,如有需要还可以进行相应的授权管理,如该设备可以在哪些部门使用、使用权限为只读还是读写等。该机制保证管理人员对移动存储介质的可操控性,大幅度缩减事故发生时可追溯的目标范围,降低了管理人员的工作难度。

Web配置管理平台还提供了内网资源的信息查询功能,管理员可以根据设备编号、类型、所属部门、IP地址等信息进行资源信息的多维度查询,以便全面掌握系统资源情况。(文/储智广 滕征岑 张志伟 魏程昭)

阅读原文