零信任何以不能封神
零信任无疑是个热点话题,被很多人看重,同时也会有很多人质疑:它有那么重要吗?先说个人的观点:零信任虽然不是银弹,但作为当前经过验证的一套最佳网络安全建设实践方法,同时又是面对数字时代任何一个组织的IT和网络安全建设过程中不可能绕过的场景,谓之封神,亦无不可!
零信任的驱动因素
零信任就是在数字时代,为应对日益复杂的网络和安全环境、提供的一种规划企业网络安全的新方法(不只是访问控制)。零信任架构侧重于数据保护,但也可以扩展到网络资产的防护。基于零信任当前实践,我们会看到因为以下一些因素,驱动组织考虑零信任架构,而这些因素或场景,几乎是当前所有规模化企业必然要面对的:
没有攻不破的网络,攻击者总能渗透到内部网络中。这种前提下如果依然认为因为处于内网,就相对可信,无疑是不成立的,组织需要调整传统的安全策略;
在多云环境下,如何让内部员工更方便地使用相关资源,同时这些处于互联网的资产也具备足够的安全性?
为了提高远程办公(含分支机构场景)的办公效率,理想情况下需要让员工可以像访问互联网一样方便地访问公司内网的必要资源;
企业内部有大量关键性数据,它们是业务发展必须让大量人员甚至合作伙伴访问的,但这些数据如果被泄漏,可能造成公司在品牌、竞争力等多方面的重大损失,如何兼顾业务发展和数据安全;
存在大量外包服务和非员工访问的组织,如何更快速地提供必要、有限的资源访问,同时屏蔽非必需的资源;
当前多个国家都把建设零信任架构,当作当前网络安全建设中最首要考虑的问题,并同时制定了相应的标准、法规等,从而使零信任在合规性上也存在了十分的必要性。
零信任的核心概念和关键点
存在很多版本的零信任核心概念或原则,有概念提出者John Kindervag,也有NIST SP800-207,个人更喜欢的是《零信任网络 在不可信网络中构建安全系统》中提出的5点,简单明确并且表述也足够完整:
网络无时无刻不处在威胁环境中;
外部威胁和内部威胁自始至终存在;
网络的位置不足以决定网络的可信程度;
所有设备、用户和网络流量都应当经过认证和授权;
信任必须是动态的,并基于尽可能多的数据源计算而来。
据此,可以认为零信任至少有3个方面的关键点:强认证、细粒度授权和动态信任机制:
强认证:在NIST SP800-207中的标准术语是“增强身份治理”。增强有多重的含义,其中包括为解决用户名密码机制的无效性而采用无密码方式的认证;包括双因子、多因子认证甚至人工认证等,更难以被攻击,特别是暴力破解的认证方式;同时还包括更多层次的认证,覆盖设备、应用和用户;
细粒度授权:零信任中的授权具备两个特点,其一是授权策略的颗粒度更细,理想情况下针对的不止在设备、容器、应用服务层面,往往会深入到不同的数据上,这是考虑到数据保护的必然结果;其二是最小授权,这句话比较容易理解,但在实践中有一些特殊的授权往往会被忽略,而在零信任体系中被显式地提出来,如资产&服务的可见性、网络数据包的可见性,在大多数基于零信任架构的实现中,没有授权就无法看到可被访问的服务列表,同时也无法使用被动监听的方式获取网络数据。
动态信任机制:有种简单化的说法,零信任就是“从不信任,永远验证”,这把一个复杂问题简单化,固然可以让更多人接触零信任,但会让很多人产生误读。动态信任机制,关键性的并不是验证过程本身,而是企业需要基于业务风险形成自身的独有安全策略。如果你只是在访问一个常规的数据资源,正常的双因子认证方式也许就是足够了,但如果需要访问的是关键性业务数据,这时的验证方式就要更严格,可能涉及到访问的设备、设备的物理位置、设备的安全配置、用户和应用的进一步认证等,在某些特定场景下,还会涉及到人工验证这种成本较高的方式。同样动态信任机制也需要考虑网络实时的安全态势,具体包括用户、用户设备、设备所在网络等,也许在某些组织会建立这样的安全策略:某个用户短时间内在大量下载企业的关键业务数据(即使是分散在多个业务系统上),这个用户的信任等级就会变得更低,某些基于角色的本来可以访问的资源请求,就会被动态信任机制拒绝。
结合这3个关键点,零信任作为一种安全架构方法, 还可以推进两个重要理念的落地。首先是IT、OT建设和安全建设的同步,或者说“安全保护措施应当与关键信息基础设施同步规划、同步建设、同步使用”。前面提到的3个关键方面,强认证和细粒度授权通常需要和业务系统无缝整合,而动态信任机制实施所需要的策略执行也是要和自动化运营机制融合在一起,才能起到效果。而另一个理念就是动态防御(或者说主动防御),动态信任机制建立在对网络、终端行为的可见性和实时分析上,这种分析不是单纯的攻击特征匹配,而是基于数据安全和业务安全的需要,建立起来的关键性行为异常监控、分析机制。
零信任实施的抓手
完整的零信任是一个复杂的体系,又需要和现在、未来的数字化基建深度整合,其设计、实施的难度可想而知。很难在1-2年时间内完成,从哪里开始比较合适?在《NIST SP800-207 Zero Trust Architecture 》中给出建议的三种方法, 可以选择其中之一作为主要的抓手,这三种方法分别是增强的身份治理、微分段和软件定义边界。一个完整的零信任架构大概率会同时具备这3种方法的要素,但基于自身的安全诉求,先从一个方向着手,确实可以降低工程复杂度,也更容易见到效果。如果认为弱密码、身份凭证泄漏、撞库中存在着最大的业务风险,也许可以优先考虑增强的身份治理来驱动整个体系建设;如果更在意的是高级威胁的内部渗透、以及内部人员违规的风险,相应的选择自然是微分段;而当前最急迫的问题如果是远程办公、分支机构的接入,最佳的选择无疑就是软件定义边界。
可以这样说,零信任从为数字化建立强大安全基础的角度,提出了一个体系化方法,将架构安全、被动防御、主动防御和情报几个层面的安全能力融合重整,去构建全新、统一的安全运营体系。也许是因为宏大,所以抽象,所以会产生很多不同的理解或误解,但无论如何,在当前的网络安全中,又有谁能绕过零信任体系呢,更多用开放的心态去接受、学习,应该是最有意义的事。