现代的应用安全需要纵深防御

​译者 | 胥磊

审校 | 孙淑娟

在过去的十年,企业网络的入侵已经变得司空见惯,大家对边界安全的关注也在日渐淡化。但越来越多的公司发现仅仅通过“处于内网”就信任访问的用户和设备,明显不足以应对不断变化的威胁。

与此同时将业务应用程序重新平台化为 SaaS 模式,加上移动和分布式的网络逐渐成为行业趋势,使得通过科学接入公司内网显得老套和繁琐。疫情的爆发围绕上述趋势掀起的一场风暴,加速了安全的更新换代。对于任何想要生存下来的公司来说,采用零信任架构都不再有可商谈的余地。

零信任意味着纵深防御

关于安全(含现实世界和数字世界)的最重要原则之一就是纵深防御。通过与单一控制措施来确保安全(就像大门上的一把锁)进行比较,单一措施的效果远不如采取一系列安全措施的组合能提供更多的安全性。

“门和锁”的分类

在这些确保安全的措施里面有不少可以采用零信任安全架构,都归属于粗粒度和细粒度访问控制的范畴。在过去的十年,大部分安防行业的注意力都集中在粗粒度访问控制,但在最近两年伴随一波创新的浪潮已经变为细粒度访问控制了。

如上图所示,纵深防御就是要求每一层上至少要有一个解决方案(甚至更多)。下面让我们深入研究其中的几个。

粗粒度访问控制

这类访问控制虽然能知道正在访问受保护资源的用户和设备,但是没有这些用户,相关操作以及操作资源的上下文。主要包括访问代理,单点登录/身份服务提供商以及API网关/路由。

1. 访问代理

正如Google在推广其BeyondCorp时所说的那样,访问代理是用户访问企业应用和资源的第一道防线。使用了用户、设备、网络、位置甚至日期/时间属性的准入控制策略,有助于确保只有通过该策略允许的请求才被路由到应用程序。Zscaler 和 Cisco 等大型供应商以此作为传统 科学 的替代品。

2. 企业单点登录/身份服务提供商

身份服务提供商(IDP)通常被用于用户要登录他们可以访问的应用时进行身份验证。虽然严格意义上来说这不是授权层,但IDP可以根据一系列的属性对用户做出是否有权限访问某些应用的粗粒度决策。例如Okta这样的IDP可以将销售部门的用户配置到Salesforce,并强制只有销售人员才可以访问此类应用。IDP 对于下游访问控制也是至关重要的,因为它产生一个签名的访问令牌(如 JWT) ,IDP 的下游各层都可以使用这个令牌来确认请求所代表的用户身份。

3. API路由/网关

服务网格提供了一个机会,在将请求路由到应用程序之前可以使用API网关进行API的访问授权。云原生计算基金会的开放策略代理(OPA)项目,作为一个可用于访问授权的通用策略引擎而广受欢迎。像Styra这类供应商可以非常容易的通过配置类似Kong和Envory的API网关来评估OPA策略,该策略可以基于HTTP方法,路径甚至访问令牌(JWT)中的属性来允许或拒绝请求。话虽如此,由于API网关没有足够的用户相关的上下文(超出JWT范畴),而且无法提供特定资源的访问控制,因此这一层的防御是粗粒度的。

细粒度访问控制

这种类型的安全措施都内置于应用本身或者了解应用正在访问的资源,由于它们有那些正在尝试执行操作的用户,操作本身以及操作的资源相关的全部上下文,因此认为它们都是“细粒度”的,包括应用/API授权,数据过滤和数据代理。随着粗粒度解决方案日趋成熟,目前许多创新都转向了细粒度授权,其中的大多数解决方案都要某种程度地集成到应用程序中,而不仅仅是网络级别拦截请求。

1. 应用/API授权服务

几乎每个业务应用都有角色和权限控制,根据登录用户的权限级别来区分可用的操作集。一个健壮的 RBAC/ABAC 解决方案,允许应用将来自身份服务提供商(OPA)或目录的属性映射到应用的角色和权限,以便尽可能自动地分配角色和权限。

现代的应用有一个负责为每个应用/API请求授权的微服务,它会根据用户和资源属性编写授权策略来允许或拒绝请求。OPA作为这层的良好的解决方案开始被推行,很多供应商(其中包括Aserto)都将OPA作为端到端应用授权解决方案的一部分。SaaS开发人员也开始逐步使用基于OPA等开源项目中现成的解决方案来替换自主开发的授权微服务。

2. 数据过滤

一些应用依靠数据访问层来过滤出用户正在访问的数据中那些“正确”的数据,通常这些都是在行级安全级别的数据库中,或由开发人员手动或通过ORM库的构建在应用中完成。

解决这个问题的新方法包括向库提供描述主体(用户或用户组),谓词(要执行的动作)和对象(资源)以及主体可以使用的规则,和对资源可以执行的哪些操作,然后这些库将协助构建对数据源的查询控制,只返回“正确”的数据。本质上是提供了一个“授权感知的ORM”。

3. 数据代理

数据代理不仅可以通过依赖了数据源的应用来进行限制访问数据源还可以通过网络层进行限制。类似于API网关,数据代理可以拦截对已知数据源的请求,并根据用户以及其正在查询的字段做出细粒度的访问决策。Cyral已采用OPA作为执行数据库访问控制规则的底层引擎。

结论

借助于零信任架构,安全不再是孤注一掷的赌博行为。在降低因未授权访问和数据泄露带来的风险方面,纵深防御比过时的基于边界安全的方法要有效得多。每个公司都应采用这种粗细粒度混合的访问控制。

结合使用访问代理,身份提供商和API网关,为基于用户和设备身份的应用,资源和数据访问提供粗粒度访问控制。创建应用且对应用的每个请求都基于RBAC/ABAC服务进行授权,可以确保在应用层执行细粒度的访问控制,因为应用层中有着最多的谁被允许在哪些资源上执行哪些操作的上下文。一旦授权服务允许操作,使用数据过滤可以仅返回用户可以访问的数据,从而减少“手工”编写查询代码的需求。最后数据代理可以根据用户和应用正在访问的字段的细粒度属性对数据源的查询进行独立授权。所有这些方法的组合使用可以更好地提高安全性。

译者介绍

胥磊,IDC.NET社区编辑,某头部电商技术副总监,关注Java后端开发,技术管理,架构优化,分布式开发等领域。

原文标题:​​Modern Application Security Requires Defense in Depth​​​,作者:Omri Gazitt​

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/127578.html<

(0)
运维的头像运维
上一篇2025-02-24 18:04
下一篇 2025-02-24 18:06

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注