一、系统加固和系统优化技术 采用B级系统替代传统的C级系统是解决系统安全问题的根本性措施。 考虑到可用性和经济性的原则,可以首先在最敏感的服务器和网络隔离设备上及要害信息系统的服务器中采用B级操作系统,并配备B级数据库管理系统。将应用、服务都建设在B级的基础上,这样整个信息系统的安全性能才有根本性的保障。 所以,在网络安全领域,操作系统的安全性问题一直受到广泛关注,但是目前国内使用的商业化操作系统都由国外厂商生产和提供,很难有所作为,然而,对于开放源代码的Linux操作系统却可以很好把握。 所以,在黑客入侵防范体系中主要针对Linux系统进行系统自身安全的加固优化,对于其他商用操作系统,只能围绕着系统硬件、系统软件及系统上运行的数据库和应用软件来采取相应的安全措施。 1 SE-Linux简介 国外在安全Linux内核技术研究方面已有近十年时间,比较知名的项目有Linux ACL、NSA SE-Linux(Security Enhanced Linux)、RSBAC、SubDomain、Janus、Linux-priv等。其中NSA SE-Linux 在2000年发布并引起轰动。这一效果不仅因为它是由NSA发起的,更大程度上是这一项目所提供的一些新的思想和技术非常有吸引力和参考价值。SE-Linux整个安全性体系结构称为 Flask(Fluke Advanced Security Kernel),在犹他大学和Secure Computing Corp的协助下由NSA设计。 在Flask体系结构(如图3-5所示)中,实现了4个子政策(多级安全政策MLS、类型裁决政策TE、基于标志的访问控制政策IBAC和基于角色的访问控制政策RBAC)组成的安全政策,安全服务器的访问判定必须满足每个子政策的要求,安全性策略的逻辑和通用接口一起封装在与操作系统独立的组件中,通用接口是用于获得安全性策略决策的。这个单独的组件称为安全性服务器,其实它只是个内核子系统而已。 SE-Linux是以Linux操作系统为基础的基于Flask安全体系结构的安全操作系统,SE-Linux实现的安全服务器定义了一个由TE、RBAC和MLS组成的混合安全性政策,其中,TE和RBAC政策是系统实现的安全政策的有机组成,MLS政策是可选政策,只有当内核配置选项Config_Flask_MLS打开时,系统才提供MLS政策支持。该政策由另一个称为checkpolicy的程序编译,它由安全性服务器在引导时读取。文件被标为/ss_policy,这意味着安全性政策在每次系统引导时都会有所不同。 2 LIDS简介 国内在安全Linux内核技术方面的相关研究主要是LIDS项目,LIDS是一个在开放源码的Linux Kernel上进行安全加固的工程。目前已经得到了国内外的广泛认同。LIDS项目在标准Linux内核源码基础上,采用强制性访问控制技术、类型保证和执行域等技术,对标准内核进行以安全增强为目的的修改,并提供了一个管理工具lidsadm。 二、网络攻击状态检测的包过滤 状态检测技术最早是checkpoint提出的,在国内的许多防火墙都声称实现了状态检测技术。 可是:)很多是没有实现的。到底什么是状态检测? 一句话,状态检测就是从tcp连接的建立到终止都跟踪检测的技术。 原先的包过滤,是拿一个一个单独的数据包来匹配规则的。可是我们知道,同一个tcp连接,他的数据包是前后关联的,先是syn包,-》数据包=》fin包。数据包的前后序列号是相关的。 如果割裂这些关系,单独的过滤数据包,很容易被精心够造的攻击数据包欺骗!!!如nmap的攻击扫描,就有利用syn包,fin包,reset包来探测防火墙后面的网络。! 相反,一个完全的状态检测防火墙,他在发起连接就判断,如果符合规则,就在内存登记了这个连接的状态信息(地址,port,选项。。),后续的属于同一个连接的数据包,就不需要在检测了。直接通过。而一些精心够造的攻击数据包由于没有在内存登记相应的状态信息,都被丢弃了。这样这些攻击数据包,就不能饶过防火墙了。 说状态检测必须提到动态规则技术。在状态检测里,采用动态规则技术,原先高端口的问题就可以解决了。 实现原理是:平时,防火墙可以过滤内部网络的所有端口(1-65535),外部攻击者难于发现入侵的切入点,可是为了不影响正常的服务,防火墙一但检测到服务必须开放高端口时,如(ftp协议,irc等),防火墙在内存就可以动态地天加一条规则打开相关的高端口。等服务完成后,这条规则就又被防火墙删除。这样,既保障了安全,又不影响正常服务,速度也快。!
|