好文推荐 | F5 分布式云:设置阻断列表/放行列表

Shubham_Mishra职位:员工公司:F5

技术进步的同时也对安全防护提出了种种挑战,因此需要企业制定相应策略,通过控制或限制资源共享来防范安全漏洞。

放行列表和阻断列表就是这样两种安全策略,可阻止未经授权的访问,并有助于维护系统的机密性。

什么是阻断列表?

阻断列表是一种安全策略,它通过定义一组规则来拒绝被确定为系统潜在威胁的可疑实体访问应用/网络。

图片

图片
通常来说,在默认允许的情况下,管理员会采用此类策略,这意味着除了阻断列表中标明的内容以外,允许访问所有信息。

举例来说,当今的电子商务网站希望吸引更多受众,在这种情况下,可将阻断列表用作一种搭配解决方案,快速识别和阻止可疑的恶意来源,同时允许其他来源访问。

缺点:尽管阻断列表策略易于部署,并能够有效防范已知威胁,但在应对未知威胁方面有时收效甚微。

什么是放行列表?

图片
放行列表与阻断列表有着异曲同工之妙。相比拦截威胁访问的请求,该策略只允许可信/有效的实体用户进行访问,其他所有用户均将被阻止。
图片
放行列表与阻断列表有着异曲同工之妙。相比拦截威胁访问的请求,该策略只允许可信/有效的实体用户进行访问,其他所有用户均将被阻止。

此类策略与阻断列表相比更为严格,并是在默认拒绝的情况下使用,这意味着只允许已知的可信来源进行访问,而阻止其他所有来源。

例如,公司特定的应用/网络/设备应仅可由其员工进行访问,任何外部人员均不得访问,在这种情况下,放行列表策略可作为一种可行解决方案。

缺点:这种策略更为严格,因此安全性更高,但部署起来非常错综复杂,尤其是在复杂的环境中。

演示

在开展测试活动时,我们参考了《API Discovery and Auto Generation of Swagger Schema(API 发现和 Swagger 方案自动生成)》一文进行基础架构创建和应用部署。

*如您对此文章感兴趣,可访问网址:https://sourl.cn/q99RLK

以下是测试阻断列表和放行列表特性的几个示例场景:

(注:测试在“软件版本:crt-20220217-1449”上进行)

场景 1

在该场景中,我们将允许客户端使用我们的服务策略根据其地理位置访问应用。

预期结果:只有来自允许地理位置的客户端方可访问应用。

在创建基础架构并部署应用后,需要遵循以下步骤:

1

第一步

打开 Home(主页)-> Web App & API Protection(Web 应用和 API 防护),然后选择您的namespace。

2

第二步

打开 Home(主页)-> Web App & API Protection(Web 应用和 API 防护) -> Manage(管理)-> Service Policies(服务策略)-> Service Policies(服务策略),然后点击 Add service policy(添加服务策略)。

3

第三步

输入新服务策略的名称,在“Server Selection(服务器选择)”字段中,按需选择任一选项,我们选择了默认选项“Any Sever(任意服务器)”。

4

第四步

创建 Service Policy Rule(服务策略规则),因为此处使用地理位置测试放行列表特性,所以我们的配置如下方图 1 所示,然后 Save & Exit(保存并退出)。

5

第五步

打开 Home(主页)-> Web App & API Protection(Web 应用和 API 防护)-> Manage(管理)-> Load Balancers(负载均衡器)-> HTTP Load Balancers(HTTP 负载平衡器),然后转至您的负载均衡器,在 Manage Configuration(管理配置)下选择 Action(动作)。

6

第六步

点击 Edit Configuration(编辑配置),在“Security Configuration(安全配置)”部分,选择“Service Policies(服务策略)”字段的“Apply Specified Service Policies(应用指定的服务策略)”选项,点击 Configure(配置)。

7

第七步

将新创建的服务策略应用到负载均衡器(如图 2 所示),保存并退出。

图片
图 1 — 服务策略创建
图片
图 2 — 将服务策略应用到负载均衡器实际结果:如图 3 和图 4 所示,只有来自允许地理位置的客户端的流量才可访问应用。结果表明,我们能够成功实现放行列表行为。
图片
图 3 — 从允许的地理位置访问应用
图片
图 4 — 从不同的地理位置访问应用

场景 2

在该场景中,我们将使用我们的服务策略根据 BGP ASN(自治系统编号)拒绝客户端访问应用。

预期结果:阻止列表中ASN的客户端无法访问应用。

需要遵循以下步骤:

1

第一步

重复场景 1 中的第 1 步至第 3 步。

2

第二步

创建服务策略规则,因为此处使用 ASN 测试阻断列表特性,所以我们的配置如图 5 和图 6 所示。

3

第三步

重复场景 1 中的第 5 步和第 6 步。

4

第四步

将新创建的服务策略应用到负载均衡器(如图 7 所示),保存并退出。

图片
图 5 — 添加 ASN
图片
图 6 — 使用 ASN 阻止客户端的服务策略规则
图片
图 7 — 将服务策略应用到负载均衡器实际结果:如图 8 和图 9 所示,来自 ASN 被阻止的客户端的流量不允许访问应用,因此结果表明,我们能够成功实现阻断列表行为。
图片
图 8 — 通过 ASN 被阻止的客户端访问应用
图片
图 9 — — 请求的 JSON 日志

场景 3

在该场景中,我们将采用一种混合方法(即结合使用放行列表和阻断列表策略)。首先,我们将允许客户端根据地理位置访问应用,然后在这些允许的客户端中,我们将根据 IPv4 前缀阻止某个客户端访问应用。

预期结果:被阻止的客户端不能访问应用。

需要遵循以下步骤:

1

第一步

遵循场景 1 中的步骤,实现放行列表行为。

2

第二步

打开 Home(主页)-> Web App & API Protection(Web 应用和 API 防护)-> Manage(管理)-> Load Balancers(负载均衡器)-> HTTP Load Balancers(HTTP 负载平衡器),然后转至您的负载均衡器,在 Manage Configuration(管理配置)下选择 Action(动作)。

3

第三步

点击 Edit Configuration(编辑配置),在“Security Configuration(安全配置)”部分,开启“Show Advanced Fields(显示高级字段)”按钮。

4

第四步

在“Client Blocking Rules(客户端阻止规则)”中,点击 Configure(配置)。

5

第五步

点击 Add Item(添加项目),并填写条目,如图 10 所示。

图片
图 10 — 将客户端阻止规则应用到负载均衡器

实际结果:如图 11 和图 12 所示,被阻止的客户端不允许访问应用,即使处于同一允许的地理位置也无法访问。因此,结果表明,我们能够实现阻断列表和放行列表安全策略的双重优势。
图片
图 11 — 从被阻止的客户端访问应用
图片
从未被阻止的客户端访问应用

场景 4

在该场景中,我们将基于“TLS 指纹值”来限制客户端访问应用。

预期结果:被阻止TLS指纹的客户端不能访问应用。

需要遵循以下步骤:

1

第一步

重复场景 1 中的第 1 步至第 3 步。

2

第二步

创建服务策略规则,因为此处使用“TLS 指纹值”测试阻断列表特性,所以我们的配置如图 13 所示。

3

第三步

重复场景 1 中的第 5 步和第 6 步。

4

第四步

将新创建的服务策略应用到负载均衡器(如图 14 所示),保存并退出。

图片
图 13 — 使用 TLS 指纹值阻止客户端的服务策略规则
图片
图 14 — 将服务策略应用到负载均衡器

实际结果:如图 15 所示,TLS 指纹值被阻止的客户端已被拒绝访问,响应代码为 403。结果表明,我们能够成功实现预期动作。
图片
图 15 — 安全事件 JSON 日志

结语

随着攻击者及其攻击方法不断升级,单纯地依赖一种安全策略来保护整个应用是行不通的。我们需要部署具有安全特性的混合环境来保护应用。

请谨记,在理想情况下,结合应用“阻断列表和放行列表”策略能够更好地保护最终应用。

因此,为了实现所列行为,“F5 分布式云控制台”提供了以下选项,以便您由此对客户端进行拒绝/放行列表设置:

IPv4子网前缀

ASN

地理位置

TLS 指纹值

F5是多云应用安全和应用交付服务技术的领导者,专注于企业级安全、应用交付、分布式云服务等领域,帮助...

1 声望
0 粉丝
0 条评论
推荐阅读
朱炜良演讲回顾:全栈分布式云的可持续化发展|F5分布式云
2005 年开始从事 IT 工作,在 IT 架构、应用、系统、网络等领域有着丰富的从业经验。先后在中国银行、EMC、IBM 等大型 IT 公司担任技术专家、架构师等职位。主要研究领域:虚拟化、私有云以及软件定义数据中心。

F5lnc阅读 234

HTAP 数据库如何实现?浅析开务数据库中的列存引擎
TP 与 AP 融合的 HTAP 数据库正成为业内的发展趋势。但由于大规模数据场景下 TP 与 AP 系统本身的复杂性,要在一套数据库系统中融合两种使用场景的功能并不容易。浪潮推出的 HTAP 开务数据库(原:云溪数据库)采...

KaiwuDB阅读 2.5k

封面图
集群部署看过来,低代码@AWS智能集群的架构与搭建方案
亚马逊AWS是葡萄城的生态合作伙伴。为了帮助您充分利用AWS的托管服务快速构建起一套集群环境,彻底去掉“单一故障点”,实现最高的可用性,我们准备了《低代码智能集群@AWS的架构与搭建方案》看完本文,带你掌握“基...

葡萄城技术团队阅读 2.2k

基于Seata探寻分布式事务的实现方案
随着业务的快速发展、业务复杂度越来越高,几乎每个公司的系统都会从单体走向分布式,特别是转向微服务架构。随之而来就必然遇到分布式事务这个难题,这篇文章通过seata框架总结了分布式事务的几种解决方案

京东云开发者2阅读 389

封面图
不只是负载均衡,活字格智能集群的架构与搭建方案
作为一款优秀的企业级低代码开发平台,活字格除了本身开发集成的强大功能之外,负载均衡的能力依旧手到擒来。如果你需要解决如下的问题,可以考虑搭建一套活字格智能集群:

葡萄城技术团队阅读 1.2k

开务数据库分布式存储的负载均衡
开务数据库(原:云溪数据库)是浪潮开源的 NewSQL 分布式数据库,拥有强一致、高可用的分布式架构。在高负载的情况下,分布式数据库能够将负载压力平衡到不同的物理机节点上,充分利用不同节点的资源。本文将介...

KaiwuDB阅读 1.2k

封面图
【精彩剧透】PyCon China 2022 邀您共赴技术 Party!
PyCon China 每年由 PyChina 社区定期举办,现如今已成为中国大型的 Python 技术会议。我们希望汇聚更多的开发者们,一起交流 Python 技术,包括人工智能、Python 特性、网络安全、服务端开发、运维、医疗、金融...

MissD阅读 1.2k

F5是多云应用安全和应用交付服务技术的领导者,专注于企业级安全、应用交付、分布式云服务等领域,帮助...

1 声望
0 粉丝
宣传栏