跳转至

Infrastructure — 03-13 Azure NSG安全加固

事件背景

收到 ICM 安全事件工单:liwei_mcservice 下多台 VM 的端口直接暴露在公网上,违反 CnAI 安全策略。这是一个高风险端口暴露事件,需要限期修复。

Bot 关键判断:不建议"跳过"安全检查,否则 ICM 不处理会升级,7 天后可能重复生成工单。

Azure CLI 环境准备

本地未安装 az CLI,Dad 要求安装。

  • [10:57] az CLI 安装完成,版本 v2.84.0
  • [10:57] 切换到 AzureChinaCloud
  • [11:06] 使用 device code 完成 Azure 登录
az cloud set --name AzureChinaCloud
az login --use-device-code

NSG 规则修复

Dad 的决策

对相关机器添加 18822 入站规则,源 IP 仅允许当前服务器出口 IP:4.194.153.244

关键发现

检查 8 个 NSG 时发现:很多规则把 18822 与其他端口(如 80/443)混在同一条规则中。

Bot 决策:不能简单新增规则,需要拆分混合端口规则,避免影响其他端口策略,满足最小暴露原则。

修复方案

  1. 遍历 NIC 关联的 NSG
  2. 检查现有入站规则
  3. 拆分包含 18822 的混合规则
  4. 18822 来源限制为单一公网 IP

[11:09] 全部 8 个 NSG 修改完成

端口 389 合规验证

Dad 要求检查 389 (LDAP) 端口是否已修复。

[11:11] 经检查确认:389 端口没有在任何入站规则中开放,无需进一步修复。

优先级迁移

踩坑:NSG 规则优先级不可原地修改

ICM 要求:NSG 规则不要用 100-119 优先级

  • 问题:Azure NSG rule priority 不支持原地修改
  • Dad 决策:按 ICM 要求调整,避开 100-119
  • 解决方案:删除原规则,以新优先级 200 重建
旧优先级范围:100-119
新优先级:200
处理方式:delete + recreate
涉及规则数:4 条

[11:19] 全部 4 条规则优先级迁移完成 ✅

ICM 关闭

Dad 的合规审查

要求逐条对照 ICM 原文确认修复动作是否一致,而不是仅凭经验判断。

生成的修复说明

We mitigated the incident by updating the affected Azure NSG 
inbound rules and restricting port 18822 access to the authorized 
source IP only.

We also verified that port 389 is not exposed and recreated the 
relevant NSG rules to move priorities out of the 100-119 range 
in accordance with the security guidance.

修复总结

关键参数

项目
Cloud 环境 AzureChinaCloud
授权源 IP 4.194.153.244
管理端口 18822
验证端口 389(已确认未开放)
优先级迁移 100-119 → 200
受影响 NSG 数 8
优先级调整规则数 4

关键经验

  1. 混合端口规则要拆分:不能为了省事把管理端口和服务端口混在一条规则里
  2. 优先级不可原地改:Azure NSG 需要 delete + recreate
  3. 修完要对照原文复核:不要仅凭经验判断合规,逐条对照 ICM 要求
  4. 不要绕过安全检查:ICM 工单不处理会自动升级