| name | detecting-azure-storage-account-misconfigurations |
| description | 使用 azure-mgmt-storage Python SDK 审计 Azure Blob 和 ADLS 存储账户的公开访问暴露、弱或长期 SAS 令牌、缺失的静态加密、禁用的仅 HTTPS 流量以及过时的 TLS 版本。 |
| domain | cybersecurity |
| subdomain | cloud-security |
| tags | ["Azure","storage-accounts","blob-storage","ADLS","SAS-tokens","encryption","public-access","cloud-misconfiguration","azure-mgmt-storage"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
检测 Azure 存储账户错误配置
概述
Azure 存储账户因公开访问配置错误、长期 SAS 令牌、缺失加密和过时 TLS 版本而成为攻击者的常见目标。本 skill 使用 azure-mgmt-storage Python SDK 配合 StorageManagementClient,枚举订阅中的所有存储账户,检查其安全属性,列出 blob 容器的公开访问设置,并生成一份风险评分审计报告,识别关键错误配置。
前置条件
- Python 3.9+ 及
azure-mgmt-storage、azure-identity
- 在目标订阅上具有读取者角色的 Azure 服务主体
- 环境变量:AZURE_CLIENT_ID、AZURE_TENANT_ID、AZURE_CLIENT_SECRET、AZURE_SUBSCRIPTION_ID
关键检测领域
- 公开 blob 访问 — 存储账户上启用了
allow_blob_public_access,或单个容器设置为 Blob/Container 访问级别
- HTTPS 强制执行 —
enable_https_traffic_only 被禁用,允许未加密的 HTTP 流量
- 最低 TLS 版本 — 账户接受 TLS 1.0 或 TLS 1.1 而不是最低 TLS 1.2
- 静态加密 — 未启用存储服务加密或缺少客户管理的密钥
- 网络规则 — 默认操作设置为允许而不是拒绝,将存储暴露给所有网络
- SAS 令牌风险 — 具有过于宽泛权限或过长生命周期的账户级 SAS
输出格式
包含每个账户发现、严重性评级(严重/高/中/低)以及符合 CIS Azure Benchmark 控制项的修复建议的 JSON 报告。