企业的安全医生—NAP

一、企业网络安全的现状:
保证网络的安全,对于企业的日常工作来说是非常重要的,这一点毋庸置疑,而采取的方案也基本是大同小异,通过使用硬件或者软件的防火墙,我们保证了边界网络的安全,有效地对内部和外部的通信进行了控制,防止了大量来自Internet上面的攻击。
对于企业内部的服务器和客户端上,可以部署相应的杀毒软件来保证系统和重要数据不受病毒和木马等恶意软件的干扰。可以通过部署WSUS服务或者通过SMS/SCCM把重要的系统补丁及时地安装到客户端。
但是,如果一位员工拿着他的笔记本电脑出差一个月,在这段时间里,他没有及时更新他电脑中的病毒库,没有及时进行安全更新。那么等他出差归来,连入公司内部网络时,他的电脑就是一个潜在的危险,我们在基于windows server 2003的系统上面,可以使用网络隔离技术来防止这种情况的发生,但是一旦用户通过验证,网络隔离就不再对其发挥作用。那么如果对企业中大量的客户端的情况进行实时地检测和控制?对于不满足要求的客户端及时进行强制性的补救工作呢?在Windows Sever 2008推出之后,通过使用2008所提供的NAP网络访问保护技术,可以对客户端的健康状态进行实时地监控,保证企业内部的所有设备均按照管理员定制的健康条件正常运转。就像我们身边的家庭医生时刻检查我们的身体状态一样,NAP如同企业内部的一位专职医生,时刻检查企业内部每一台机器的健康状态。那么NAP是如何实现这一目标的呢?我们来看一下NAP的实现机制。
二、NAP的实现机制
 

1、组成:
要想在企业内部部署NAP,如上图所示,要具备以下几部分。
1)客户端:
在客户端,主要有两部分组成。一个是启用NAP的客户端,一个是“补救服务器”。
由于NAP设计的目的是保证访问企业内部的计算机的“健康”,所以,对于不满足健康状态的计算机,并不是禁止访问,而是限制访问,因此从客户端角度,自然会提供相应的用于补救(Remediation)的服务器,所以从物理实现的角度,要在企业内部的网络中,分出受限和非受限的网络,并且将补救的服务器放于受限的网络中,以便不“健康”的客户端能够得到“救治”。从Windows XP SP3开始,所有启用了NAP Agent服务的客户端操作系统,在NAP里面,都有一个统一的名称:EC(Enforcement Client) 。而每个EC的健康状态都有系统健康代理(SHA)负责收集,而每一个SHA都和相应的补救服务器相对应,因此在企业内部部署受限网络中的补救服务器的数量时,要考虑进行搜集的项目来确定。
2)服务器端:
在服务器端,主要由三部分组成,分别是ES(Enforcement Server),健康策略(NAP Healthy Policy)服务器和健康要求(Healthy Requirement)服务器
面对来自EC的验证和授权请求,在企业内部就要有相应的设备来应答,这类设备可以通过把2008的成员服务器上相应服务来完成,或者由第三方来提供,但能够应答的设备统称为ES;而ES在收到这些请求之后,就会把相应的请求送达给健康策略服务器来进行健康状况的检测,而检测的依据就由健康要求服务器来提供。对于部署NAP的企业来说,每部署一个检测的项目,就要有一个系统健康确认者(SHV),而一个SHV会与一个健康要求服务器相对应,因此在企业内部,如果健康要求服务器用Windows 2008来进行配置的话,可以和健康策略服务器一起由一台服务器完成,但如果通过第三方来实现,就需要投入额外的资金了。
因此,在企业内部实现NAP,从服务器的数量上面,至少要有两台服务器,一台处于受限网络中的补救服务器,另外一台处于企业内部的服务器,来完成ES,网络策略服务器(根据EC的类型来决定连接的策略,提供RADIUS集中验证服务)、健康策略服务器和健康要求服务器这四个角色。而整个NAP解决方案,要实现三类对应,即SHA的数量和补救服务器的数量相对应,SHV和健康要求服务器的数量相对应,而EC的类型和ES的类型相对应。对于我们的企业来说,当对各种角色的服务器的数量要求很多的时候,我们可以考虑使用2008的虚拟化技术,来减少资金的投入,并且使得管理和维护的工作更加容易。
那么在NAP的客户端和服务器端之间,传递了什么样的信息,这些信息如何传递的呢?
2、实现原理:
NAP的服务器端和客户端之间所传递的信息,其实就是客户端的健康状态以及服务器端的健康反馈,具体的实现过程和我们进行体检的过程十分类似。
SHA如同我们体检的每一个科室,根据它所对应的补救服务器的类型,分别收集客户端的健康数据,我们在体检的时候,对身体各项指标都有相应的记录,而在NAP里,这些由SHA所监测出来的数据称之为健康声明(Statement of Healthy,简称SoH)就是每台EC的体检记录。当我们在体检中心的各个诊室检查完身体,就会有完整的体检报告,通过护士收集后送达倒医生手中,在NAP中,所有SHA监测出来的SoH, 都会通过NAP Agent收集到系统健康声明中 (System Statement of Health,简称SSoH),然后这份SSoH会通过EC发送到对应的ES处。
在体检报告交到专业医生手里之后,他会对他所负责的监测项目进行判断,来得出体检人员的健康状况,在NAP中,ES收到的SSoH会最终传达到健康策略服务器,通过NAP Administration Server服务,把SSoH所包含的每一个SoH,送达到相应的SHV进行监测。每一个SoH都会对应一个健康声明响应(Statement of Health Response, 简称SoHR)
,而所有的SoHR都会通过NAP Administration Server收集到系统健康声明响应中(System Statement of Health Response,简称SSoHR),并通过ES传递给EC。
在体检完成时,当我们拿到体检报告,如果有不合格的项目,我们会根据情况选择去对应的医院就医,排除病灶。在NAP中,当EC收到的SSoHR后,如果该EC有不满足企业安全的项目,就会被送到隔离的网络中,然后通过相应的补救服务器,来改善自身的健康状态,直到再一次的“体检”结果是健康的时候,才能够正常的访问企业内网中的资源。

三、企业应用的场景
通过NAP技术,我们可以实时地根据企业要求,动态的设定健康检测的项目,对企业内部各种类型的EC进行相应的设定。具体到实际应用上面,Windows Server 2008可以支持以下几种NAP的技术:
IPSec、802.1X 、VPN、DHCP和TS Gateway的NAP强制,这几种强制方式包含了企业中可能用到的各种网络连接环境,对提升网络安全,保护企业内部数据通信的安全有效,发挥了非常重要的作用。对于部署NAP,需要注意EC和ES的联系十分重要,如果EC没有通过ES就完成了网络连接的工作,那么NAP的作用就无从谈起了。因此对于DHCP的强制,需要注意企业内部被强制的客户端,不能手动配置IP。
此外,NAP只能保证按照我们设定的健康策略来实现计算机本身的健康,而不能保证操作计算机的人员的健康,所以,在企业中各种制度的完善也是保证企业整体安全不可或缺的一环。
希望借助Windows Server 2008的NAP技术,能够帮助我们的企业营造更加安全可靠的IT环境,充分发挥它应有的作用,保证企业内部主机的健康运转。