网络安全组规则审核 (Azure)

Posted

技术标签:

【中文标题】网络安全组规则审核 (Azure)【英文标题】:Network Security Group Rule Audit (Azure) 【发布时间】:2021-06-10 18:30:06 【问题描述】:

我想知道是否有人找到了一种方法来审核 Azure 中的网络安全组,而不是在 Azure UI 中对它们进行全部搜索。我已经设法将信息提取为 json,但仍然不是很容易破译,因为它嵌套得很深。我正在寻找具有默认任何/任何规则和其他应用不当规则的 NSG。

我们有数百个网络安全组(提供上下文)。

任何人有任何意见如何最好地做到这一点?

【问题讨论】:

您是否尝试过编写列出 NSG 的 Az cli 脚本? docs.microsoft.com/en-us/cli/azure/network/… 是的,我提到过我有 json,但它需要很长时间才能成形。似乎很奇怪,没有人想出一个工具来批量审查它们 【参考方案1】:

根据您希望在 NSG 安全规则中审核的内容,Azure 资源图可能比导出 JSON 和解析更友好。可以通过 REST API(例如从逻辑应用程序)调用它以进行定期审计。

下面是一个简单的 NSG 查询,其安全规则允许流量流向端口 22:

az graph query -q "where type == 'microsoft.network/networksecuritygroups' | extend rules = properties.securityRules | mv-expand rules | where rules.properties.destinationPortRanges contains '22' | summarize count() by id" 

要考虑的另一种方法是使用 Azure Policy 来审核特定异常的安全规则。

最后,如果您对监控对 NSG 所做的更改而不是特定例外更感兴趣,那么资源更改历史记录功能可能正是您所寻找的。您可以针对特定资源并查看一段时间内的更改。这样做需要您进行一些自动化操作,调用 Rest API 等。请参阅:https://docs.microsoft.com/en-us/azure/governance/resource-graph/how-to/get-resource-changes

【讨论】:

以上是关于网络安全组规则审核 (Azure)的主要内容,如果未能解决你的问题,请参考以下文章

Azure 网络安全组使用变量添加源 ip 前缀

适用于来自 Azure 云服务的流量的 Azure NSG 规则

如何筛选 Azure 审核

如何通过 Azure 虚拟网络从 power bi 桌面应用程序连接到 cosmos db

EMS 动手实验1:将Azure AD 登陆和审核日志发送到Azure Monitor

Azure 网络接口有效规则