零信任网络简介
零信任是IT组织使用的一种“从不信任,总是验证”的框架,用于增强对窃取敏感数据、私有信息和资源的外部攻击的防御。IT和企业架构师使用基于零信任原则的零信任架构来设计和实现健壮且有弹性的基础设施。当零信任通过保护网络和通信来保护传输中的数据时,称之为零信任网络。
在2020年以后,网络零信任的概念在企业中变得非常流行,其原因如下:
- 通过网络采用自带设备办公的远程用户和员工增加。
- 位于企业网络边界之外基于云的资产的增加。
- 全球范围内的去全球化和网络威胁。
- 严格遵守法规,确保网络安全。
- 采用Kubernetes容器编排平台进行扩展。
零信任网络可以通过消除或减少对用户和应用程序对资产或资源的信任来实现,而不考虑网络位置。随着混合云中微服务的不断增加,选择各种应用程序来实现可能是一项非常艰巨的任务。实现零信任网络的最佳方法是使用服务网格,例如Istio或Linkerd。
零信任网络的十大支柱
根据美国国家标准与技术研究院和美国国家网络安全卓越中心制定的SP800-207标准,以及网络安全服务商在大型企业实施零信任方面数十年的专业知识,提出了IT经理应该考虑的10个安全和合规支柱,以实现零信任网络。
(1)使用Authn/Authz身份
身份意味着验证用户对资源(例如web应用程序、API、平台、设备或数据库)的使用情况的数字身份。用户可以是人员——客户、雇员、顾问成员、参与者,也可以是机器——应用程序、API调用、硬件设备等。用户的身份及其使用资源的权限可以使用身份验证和授权(Authn/AuthZ)机制进行验证。除了身份管理之外,企业处理多个微服务的安全需求还包括对用户和应用程序的粒度控制、合规性标准、RBAC等。在现实生活中,身份识别与访问管理(IAM)的实现可能非常复杂。
(2)使用基于mTLS的通信的安全通道
相互传输层安全(mTLS)是一种在网络上连接的双方之间进行身份验证的方法。基于mTLS的通信在双方(例如客户端和服务器)之间是高度安全的,因为每个应用程序首先使用X.509证书对自己进行身份验证,并且通信是基于定期轮换的私钥进行的。mTLS被认为是安全套接字层(SSL)的继承者。
(3)认证管理
确保双方之间的连接是其中的一部分,证书管理和轮换是持续维护的一部分。在安全策略定期升级或安全漏洞的情况下,旧证书将会无效。云计算架构师和平台工程师应该为管理员和运营团队想出一种有效的方法,轻松地轮换SSL或SAML证书,生成私钥并在所有微服务之间分发。
(4)RBAC、多租户和隔离
允许或拒绝用户对各种资源的读/写/删除权限是一个持续的任务。应该有必要的控制措施来实现基于角色的访问控制的粒度策略。大型企业通常需要为各种项目或平台团队创建专用的工作空间,并且应该规定将多租户作为安全措施的一部分。
(5)将可信源列入白名单
白名单可能是安全工程师采用的最简单的“网络安全措施”,它包括向管理员批准的IP和应用程序提供对系统的访问,这在最近的BYOD场景中特别有用,在这种场景中,某些应用程序被允许访问VPN中的资源。
(6)FIPS和SOC-2合规性(适用于美国公司)
美国国家标准与技术研究院和美国注册会计师协会等机构为每个IT组织提供指导和FIPS和SOC法规。根据NIST的规定,美国所有非军事、政府机构和供应商必须遵守联邦信息处理标准。类似地,系统和组织控制标准规定了服务组织处理客户数据的方式。它涵盖了5个主要方面——客户数据的安全性、可用性、处理完整性、保密性和隐私性。因此,对于任何在北美以外运营的公司来说,遵守诸如FIPS和SOC-2之类的法规是很重要的。
(7)Web应用防火墙
Web应用防火墙可以保护Web应用免受DOS攻击、SQL注入攻击、交叉伪造等攻击。WAF是一种L7协议,作为Web应用程序的盾牌,网络工程师可以创建各种规则和策略,例如流量过滤,以防止应用程序中的漏洞。
(8)防止数据丢失
数据丢失防护是检测和防止数据泄露的实践。数据丢失防护也是SOC-2合规性的一部分。数据丢失防护是法案的主要目的是防止数据在组织边界之外的非法传输。网络团队和云计算工程师应该专注于构建一个能够抵御恶意内部人员或外部勒索软件威胁的系统。
(9)机密管理
在Kubernetes中,集群内部或外部的许多服务使用机密信息相互通信。开发人员应该进行适当的机密管理——将敏感数据(例如密码、密钥和令牌)存储在具有严格访问控制的安全环境(例如Vault)中。
(10)多集群可见性
大量使用云计算和容器的IT组织应该有一个多集群可见性的中心平台。他们应该能够查看所有名称空间和集群的工作负载、资源和基础设施(例如入口和负载平衡器)以及运行状况和性能状态。站点可靠性工程(SRE)应该具有实时日志和指标聚合和分析功能,以便通过快速诊断更快地应对任何情况。