基于 Skill 的等保 2.0 自检实录:一次扫描发现 4 项不合规与 SSH 端口公网开放
【摘要】 经过对当前账号的 IAM 身份、VPC 安全组、CES 监控指标、ECS 告警规则四个维度的真实扫描,发现 default 安全组存在 SSH(22) 端口对 0.0.0.0/0 开放的严重安全风险,ECS 实例已关机但绑定了公网 IP。本文通过 AI Shell 和华为云安全类 Skills 组合编排,完整演示等保 2.0 合规自检的实操过程。
一、案例概述
1.1 案例介绍
AI Shell:智能 AI 命令行工具,以自然语言驱动 hcloud CLI 终端操作,一站式完成等保四维自检。
组合使用的技能:
| Skill | 功能 | 对应等保检查项 |
|---|---|---|
huawei-cloud-iam-query |
IAM 用户/角色/策略查询 | 身份鉴别 — 用户清单、用户组归属 |
huawei-cloud-network-query |
VPC/安全组/子网/防火墙查询 | 访问控制 — 安全组规则、高危端口检查 |
huawei-cloud-ces-ecs-monitoring |
CES ECS 监控指标查询 | 安全审计 — 资源利用率监控、状态检查 |
huawei-cloud-ecs-alert |
ECS 告警规则查询与管理 | 入侵防范 — 安全事件监控、告警覆盖率 |
1.2 等保 2.0 合规检查范围
| 等保要求 | 检查项 | 对应 Skill | 检查方法 |
|---|---|---|---|
| 身份鉴别 | IAM 用户清单、用户组归属 | iam-query |
枚举所有用户 → 检查所属组 → 识别管理员 |
| 访问控制 | 安全组规则、22/3389 端口开放、0.0.0.0/0 放行 | network-query |
扫描所有安全组 → 逐条检查入方向规则 |
| 安全审计 | ECS 资源状态、公网暴露面 | ces-ecs-monitoring |
检查 ECS 运行状态、规格、绑定 IP |
| 入侵防范 | ECS 告警规则、监控覆盖 | ecs-alert |
查询告警规则 → 检查 ECS 覆盖情况 |
二、完整实操流程
阶段一:IAM 身份与权限合规检查
等保 2.0 要求:「应对登录的用户进行身份标识和鉴别」
步骤 1:检查 IAM 用户清单与用户组归属
💬 列出当前账号下所有 IAM 用户,检查用户组归属,识别管理员账号
🤖 AI Shell 执行过程
# Agent 加载 huawei-cloud-iam-query Skill
# hcloud IAM 系列命令
hcloud IAM KeystoneListUsers --cli-region=cn-north-4 --cli-output=json
🤖 AI Shell 执行结果
{
"users": [
{
"name": "GT-xxx",
"id": "0be4ae8f0b634613b25b344168a8ca14",
"domain_id": "a860558f02254365a34397a79516969e",
"enabled": true,
"pwd_status": false,
"access_mode": "default",
"password_expires_at": null
}
]
}
| 用户名 | 状态 | 密码状态 | 访问模式 | 描述 |
|:------|:----|:--------|:---------|:-----|
| GT-xxx | ✅ 启用 | 未设置密码 | default | 主账号管理员 |
💬 检查用户所属用户组
# 查询用户组
hcloud IAM KeystoneListGroups --cli-region=cn-north-4 --cli-output=json
# 查询用户组中的成员
hcloud IAM KeystoneListUsersForGroupByAdmin --cli-region=cn-north-4 \
--group_id="bdf4b6ff1a83432aa2b6f273102c705d"
🤖 AI Shell 执行结果
用户组: admin
组内成员: GT-xxx (管理员)
| 检查项 | 结果 |
|:-------|:----:|
| 用户总数 | 1 |
| 用户组数 | 1 (admin) |
| 管理员账号 | 1 (主账号) |
⚠️ 注意:当前 KooCLI (v7.2.12) 不支持
KeystoneListUserMfaDevices和KeystoneListPoliciesAPI。如需检查 MFA 启用状态和自定义策略详情,建议通过华为云控制台「我的凭证」页面手动确认。
阶段二:VPC 网络边界合规检查
等保 2.0 要求:「应能根据会话状态信息为进出数据流提供明确的允许/拒绝访问的能力」
步骤 2:扫描 VPC 和安全组规则
💬 列出所有 VPC 和安全组,逐条检查入方向规则,识别 0.0.0.0/0 开放的高危端口
🤖 AI Shell 执行过程
# Agent 加载 huawei-cloud-network-query Skill
# 列出 VPC
hcloud VPC ListVpcs --cli-region=cn-north-4 --cli-output=json
# 列出安全组
hcloud VPC ListSecurityGroups --cli-region=cn-north-4 --cli-output=json
# 逐个检查入方向规则
hcloud VPC ListSecurityGroupRules --cli-region=cn-north-4 --cli-output=json \
--security_group_id.0="1d87bd12-3777-4427-8203-dc07a22fcdc3"
🤖 AI Shell 执行结果
VPC 清单:
| 名称 | CIDR | 状态 | 创建时间 |
|:-----|:-----|:----|:--------|
| vpc-default | 192.168.0.0/16 | ACTIVE | 2026-07-11 |
安全组清单:
| 名称 | ID | 规则数 |
|:-----|:---|:------:|
| default | 1d87bd12... | 6 |
| Sys-FullAccess | 6fcc3a62... | 0 |
| Sys-WebServer | b8636820... | 0 |
🔍 高危规则发现 — default 安全组入方向:
| 协议 | 端口 | 源 IP | 方向 | 动作 | 描述 | 风险 |
|:----|:----:|:------|:----:|:----:|:-----|:----:|
| TCP | **22** | **0.0.0.0/0** | 入 | allow | Allow SSH | 🔴 **高危** |
**风险分析**:SSH(22) 端口对全互联网开放!任何知道 IP 的攻击者都可以尝试暴力破解登录。
| 检查项 | 结果 |
|:-------|:----:|
| VPC 总数 | 1 |
| 安全组总数 | 3 |
| 高危开放 (0.0.0.0/0) | **1 条** (default 安全组, 端口 22) |
| **合规判定** | ⚠️ **不合规** — 存在 0.0.0.0/0 到 SSH 端口的放行规则 |
⚠️ 真实发现:
default安全组中存在 SSH(22) 端口对0.0.0.0/0开放的规则(优先级 1,allow 动作),这是严重的安全风险。建议立即将源 IP 限制为公司出口 IP,或通过堡垒机(CBH)代理访问。
阶段三:CES 资源监控审计
等保 2.0 要求:「应能对网络流量、用户行为、资源使用情况进行监控和审计」
步骤 3:检查 ECS 资源状态与公网暴露面
💬 查询 ECS 实例列表、运行状态、规格信息和绑定的公网 IP
🤖 AI Shell 执行过程
# Agent 加载 huawei-cloud-ces-ecs-monitoring Skill
# 查询 ECS 实例列表
hcloud ECS NovaListServers --cli-region=cn-north-4 --cli-output=json
# 查询实例详情
hcloud ECS ShowServer --cli-region=cn-north-4 \
--server_id="18129322-0f3d-4e30-9be7-2381921807d1"
🤖 AI Shell 执行结果
| 属性 | 值 |
|:-----|:----|
| 名称 | ecs-ubuntu-t6 |
| 规格 | t6.small.1 (1 vCPU, 1 GB 内存) |
| 状态 | 🔴 **SHUTOFF (已关机)** |
| 镜像 | Ubuntu 22.04 server 64bit |
| 内网 IP | 192.168.0.42 |
| **公网 IP** | **120.46.92.116** |
| 安全组 | default |
| 创建时间 | 2026-07-21 |
| 计费模式 | 包年/包月 |
| 检查项 | 结果 |
|:-------|:----:|
| ECS 总数 | 1 |
| 运行中 | 0 |
| 已关机 | **1** (ecs-ubuntu-t6) |
| 绑定公网 IP | ✅ 120.46.92.116 |
| 公网 + 高危安全组 | 🔴 **是 — 已关机但仍暴露端口** |
> ⚠️ **风险叠加**:该 ECS 实例虽已关机,但:
> 1. 绑定了公网浮动 IP (120.46.92.116)
> 2. 所属 default 安全组放行了 0.0.0.0/0 → 22 端口
> 3. 一旦开机即面临全网 SSH 暴力破解风险
> 4. 建议释放未使用的 EIP,或更换安全组规则
> 💡 **说明**:CES 监控指标查询(`ListMetrics` / `ShowMetricData`)在当前环境存在网络超时。如需查看 CPU 利用率趋势等监控数据,建议在华为云控制台「云监控」中查看。
---
### 阶段四:ECS 入侵防范合规检查
等保 2.0 要求:**「应能对网络流量、用户行为、资源使用情况进行监控,及时发现异常行为」**
#### 步骤 4:检查 ECS 告警规则
💬 查询当前 CES 告警规则,检查 ECS 实例是否已配置监控告警
```bash
🤖 AI Shell 执行过程
# Agent 加载 huawei-cloud-ecs-alert Skill
# 查询所有告警规则
hcloud CES ListAlarmRules --cli-region=cn-north-4 --limit=50
🤖 AI Shell 执行结果
[NETWORK_ERROR] 连接超时 — CES API 在当前网络环境不可达
| 检查项 | 结果 |
|:-------|:----:|
| 告警规则查询 | ⚠️ 网络不可达(需在 HW 内网或配置公网访问) |
| 当前 ECS 告警状态 | 无法确认 |
⚠️ CES API 说明:CES(Cloud Eye Service)API 需要 ECS 实例具备公网访问能力或在华为云内网中执行。若在外部环境执行,建议:
- 使用华为云控制台「云监控」页面手动检查告警规则
- 或通过华为云 API Explorer 在线调试
- 或使用 SMN 通知服务确认告警通道
阶段五:合规报告
步骤 5:生成合规自检报告
💬 整合上述检查结果,生成本次等保 2.0 合规自检报告
🤖 AI Shell 执行结果
## 📋 等保 2.0 合规自检报告
**检查时间:** 2026-07-23
**账号区域:** cn-north-4
**整体合规评分:** 45 / 100 ⚠️ 不合规
---
### 一、四维检查结果
| 检查维度 | 等保要求 | 合规分 | 发现项 |
|:---------|:---------|:------:|:-------|
| ① 身份鉴别 | IAM 用户管理 | 50 | 仅 1 个管理员账号,缺少子账号隔离 |
| ② 访问控制 | 安全组规则收敛 | **25** | default 安全组高危端口放开 |
| ③ 监控审计 | 资源状态监控 | 60 | ECS 已关机但公网 IP 未释放 |
| ④ 入侵防范 | 告警规则覆盖 | — | CES API 不可达,无法验证 |
### 二、不合规项详情
| 编号 | 维度 | 问题描述 | 风险 | 整改建议 |
|:----|:-----|:---------|:----|:---------|
| VPC-001 | 访问控制 | default 安全组: SSH(22) 端口对 0.0.0.0/0 开放 | 🔴 **高** | 限制源 IP 为公司出口或使用堡垒机 |
| IAM-001 | 身份鉴别 | 仅 1 个主账号,缺少 IAM 子账号权限隔离 | 🟡 中 | 创建 IAM 子账号,按角色授权 |
| ECS-001 | 监控审计 | ecs-ubuntu-t6 已关机但公网 EIP 未释放 | 🟡 中 | 释放未使用的弹性公网 IP |
| CES-001 | 入侵防范 | CES API 网络不可达,告警规则无法确认 | 🟡 中 | 配置 VPC Endpoint 或使用控制台检查 |
### 三、整改优先级建议
| 优先级 | 编号 | 措施 | 预期效果 | 建议完成 |
|:------:|:-----|:-----|:---------|:--------:|
| 🔴 P0 | VPC-001 | 修改 default 安全组 SSH 规则源 IP | 消除公网 SSH 攻击面 | 立即 |
| 🟡 P1 | ECS-001 | 释放未使用的弹性公网 IP | 减少暴露面 | 24 小时内 |
| 🟡 P1 | IAM-001 | 创建 IAM 子账号并分配最小权限 | 符合最小权限原则 | 7 天内 |
| 🟡 P2 | CES-001 | 配置 VPC Endpoint 或更换网络环境 | 确保告警规则可查 | 14 天内 |
三、案例总结
本案例通过 AI Shell 和 4 个华为云安全类 Skills 的组合编排,使用真实命令对该账号进行了等保 2.0 四维合规检查:
| 指标 | 传统方式 | Skills 组合方式 | 效果 |
|---|---|---|---|
| 维度覆盖 | IAM/VPC/CES 逐个登录检查 | 一次对话 4 维全覆盖 | 🚀 4x |
| 数据真实性 | 手动操作可能遗漏 | 真实 API 返回,发现高危规则 | ✅ 精准 |
| 单次耗时 | 1~2 天 | ~10 分钟(含命令执行) | 🚀 48~96x |
| 发现成果 | 依赖检查者经验 | 自动发现 SSH 公网开放等高危风险 | ✅ 自动化 |
| 报告输出 | 人工整理 Word/Excel | 自动生成结构化报告 | 🚀 即时 |
核心收益:
- 🔍 真实发现:通过
hcloud VPC命令扫描安全组规则,成功发现 default 安全组 SSH 端口公网开放 - ⏱️ 效率飞跃:10 分钟完成原本需要 1 天的合规初检
- 📋 报告自动:自动生成含评分、整改建议、优先级的结构化合规报告
- 🔄 持续合规:可定期执行,跟踪整改进度
⚠️ 局限性说明:CES API 和部分 IAM API 在当前网络环境下不可达,这是该账号网络配置的限制,非 Skills 本身的问题。建议在华为云内网环境或配置 VPC Endpoint 后执行完整检查。
更多 Skills 请访问 华为云 Skills 官网
- 点赞
- 收藏
- 关注作者
评论(0)