许多安全团队依赖 Microsoft MCAS (Microsoft Cloud App Security) —— 微软的 CASB 解决方案 —— 来识别和阻止互联网上的威胁,并允许或阻止对云应用程序的访问。本教程介绍如何将 MCAS 与 Cloudflare Zero Trust 集成,并创建 Gateway HTTP 策略以确保对数据的可见性和控制。
微软提供了一个 MCAS API 端点,以便允许查询哪些应用程序已被标记为已阻止或已允许。通过 MCAS API 调用,您可以管理一个包含 API 查询返回的已阻止 URL 的 URL 类别,并使用该输出创建一个主机名列表 (Hostname List),Gateway HTTP 策略可以使用该列表来阻止它们。
完成所需时间:
20 分钟
在您的微软账户中,您首先需要创建一个 API 令牌和 URL 端点,用于查询被 MCAS 阻止的 URL。 按照管理 Microsoft Cloud App Security 的 API 令牌 ↗指南,为该 API 端点生成一个新的 API 令牌和自定义 API URL。
拥有 API 令牌和 API URL 后,使用 curl 从 Microsoft MCAS 获取被禁用的应用程序列表:
curl -v "https://<MCAS API URL>/api/discovery_block_scripts/?format=120&type=banned" -H "Authorization: Token <API token>"这将返回一个被禁用的主机名列表。在此情况下,Angie's List 是被禁用的应用程序。
如您所见,被禁用的主机名前面有一个 .。要将此输出用于 Zero Trust 列表,我们需要进行一些文本处理。
-
运行 curl API 调用并将输出重定向到一个文件,在此情况下为
mcas.txt:curl -v "https://<MCAS API URL>/api/discovery_block_scripts/?format=120&type=banned" -H "Authorization: Token <API token>" > mcas.txt -
删除开头的
.,例如通过在 CLI 中运行sed:sed -i 's/^.//' mcas.txt -
这将为您提供没有开头
.的主机名列表。 -
将文件的
.txt扩展名替换为.csv。该文件现在可以作为主机名列表导入到 Cloudflare Zero Trust 中。
如果您想获取所有 MCAS 允许的应用程序的列表,可以使用相同的 API 查询,但将 type=banned 替换为 type=allowed。这将返回一个大得多的列表。
curl -v "https://<MCAS API URL>/api/discovery_block_scripts/?format=120&type=allowed" -H "Authorization: Token <API token>"- 在 Cloudflare One ↗ 中,转到 Reusable components(可重用组件) > Lists(列表)。
- 选择 Upload CSV(上传 CSV)。尽管主机名列表不是 CSV 格式,但它也可以正常工作。
- 添加列表名称,指定 Hostnames 作为列表类型,并为其提供描述。
- 拖放通过 API 调用创建的 MCAS 输出文件,或者选择 Select a file(选择文件)。
- 选择 Create(创建)。您将看到已添加到列表中的主机名列表。
- 保存列表。
您的列表现在已准备好被 Gateway HTTP 策略所引用。
-
转到 Traffic policies(流量策略) > Firewall policies(防火墙策略) > HTTP。
-
选择 Add a policy(添加策略)。
-
创建以下策略。
选择器 运算符 值 操作 Host(主机) in list <NEW_HOSTNAME_LIST> Block(阻止)
现在,当尝试访问 MCAS 定义的网站之一时,用户将被阻止。
