1.3.1 白名单机制
在白环境理念中,安全工作是基于白名单机制的,把不确定因素转化为确定因素也是通过白名单机制来实现的。这里先讨论一下白名单与黑名单机制。虽然已经存在很长时间了,但出于各种原因,这两种机制在真实环境以及安全防护实践中并没有完全用起来,或者常有使用不当的情况。
白名单机制指的是在默认拒绝的前提下,只允许特定个体的访问。从访问控制角度来说,它更为严苛。从允许的个体范围角度来说,它是可以被枚举的,也是有限的。从应用场景角度来说,它更适用于那些对安全要求较高的应用,例如关基系统、核心系统。
黑名单机制指的是在默认允许的前提下,只拒绝特定个体的访问。从访问控制角度来说,它更为宽松。从拒绝的个体范围角度来说,它是不确定的、难以被完全枚举的,也是无限的。从应用场景角度来说,它更适用于那些对安全要求不高的普通应用,例如办公和研发测试环境等。
黑、白名单这两种机制在理论上是互斥的,因为它们在默认情况下的授权结果是截然不同的,白名单机制是拒绝,黑名单机制是允许。换句话讲,在白名单机制中添加黑名单是没有实际意义的,在黑名单机制中添加白名单也同样是没有实际意义的,唯一的好处是在管理复杂度和性能方面会有些帮助。
举两个生活中的例子来了解黑、白名单机制的更多内容。第一个例子是买飞机票,这是一个非常典型的黑名单机制,默认大家都可以买飞机票,但那些上了“限制高消费名单”的人是买不了的。这个名单是不确定的,且有可能发生变化。第二个例子是买完机票后的机场登机过程,这是一个非常典型的白名单机制,每个航班只有那些非常有限的、买了票的乘客才能登机,默认其他人都不能登机。
迄今为止,在对很多应用系统的防护过程中,出于多种原因,还是以黑名单机制为主,例如IP地址封堵和恶意样本比对等。不得不说,单纯部署黑名单机制从安全角度来说是不够的,尤其是那些对安全要求较高的系统,即使配合大数据分析平台也还是不够,或者说效率不高。这也是笔者编写本书的一个主要原因,即提出以白名单机制为基础的白环境理念,主张在相对静态的生产环境或者对安全要求较高的系统中执行白名单机制,而在其他相对动态的环境(例如办公)中执行黑名单机制。
这里对一些常见的、不同方向的白名单也做下介绍,例如合法网站白名单、正版软件白名单等,以便读者更好地理解白名单机制。
❑ 合法网站白名单:企业在管理员工上网的时候,会通过梳理、定义与工作相关的合法网站白名单来限制员工的上网行为,防止员工在上班时间访问购物网站、娱乐网站等。这个白名单可以配置在企业办公网出口的安全We b网关(Secure Web Gateway,SWG)上,一旦配置成功,企业员工上网将会受到严格的限制。
❑ 正版软件白名单:企业为了保证员工所用终端的安全,会对员工所用电脑能够安装的软件进行控制,只有那些和工作相关的、在软件白名单上的正版软件才被允许安装,这种方式可以最大限度地避免病毒在企业内网的传播。这个白名单可以和企业的软件分发管理平台配合使用。
除此之外,企业还可以根据实际情况在操作系统上构建其他白名单,例如程序进程白名单、用户账号白名单、管理操作白名单、开放服务白名单、内核模块白名单、网络连接白名单等。
总之,我们可以把业务系统中的确定因素梳理出来,然后通过白名单机制进行定义和管理,从而达到精细化管理的目的。