这些任务是开源的修复任务,需与https://hub.docker.com/r/vmware/vss-remediation-worker%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E3%80%82%E8%A6%81%E4%BD%BF%E7%94%A8%E6%AD%A4%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%BF%85%E9%A1%BB%E9%83%A8%E7%BD%B2%E8%AF%A5%E5%B7%A5%E4%BD%9C%E5%99%A8%E5%B9%B6%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AESecure State worker组。
向此仓库贡献可用任务需遵循以下约定:
每个任务必须完全包含在独立目录中,目录名称即为任务名称。例如,名为s3-remove-public-access的目录将生成名为s3-remove-public-access的任务。
执行Python任务时,文件必须与目录同名并带有.py扩展名。例如,s3-remove-public-access任务必须在该目录中包含s3-remove-public-access.py文件。
requirements.txt和constraints.txt文件为可选但推荐使用。这确保工作器能以可重复的方式安装依赖,避免Secure State应用因新依赖安装而导致任务失效。
当工作器运行时,会在任务目录下安装(可选的)requirements.txt和constraints.txt中指定的所有依赖。任务执行时,Python运行时仅限于该相对路径下的依赖。这确保所有执行的代码均为Secure State工作器已知,并可通过校验和验证。工作器还会将整个文件夹移动到单独的工作目录,以防止本地导入。
工作器执行任务的方式类似于:
bashpython ./s3-remove-public-access/s3-remove-public-access.py {... 发现有效载荷JSON ...}
发现有效载荷格式如下:
json{ "notificationInfo": { "CloudAccountID" : <string>, "RuleID": <string>, "RuleName": <string>, "RuleDisplayName": <string>, "Level": <string>, "Service": <string>, "FindingInfo": { "FindingId": <string>, "ObjectId": <string>, "ObjectChain": <string>, "CloudTags": { "<key1>": "<value1>", "<key2>": "<value2>", }, "RiskScore": <integer>, "Region": <string>, "Service": <string> } }, "autoRemediate": <boolean> }
所有stdout和stderr日志会发送到Secure State Web应用,用于在用户界面中显示。日志记录时需注意,不要记录敏感数据。
下表列出所有支持的任务及其链接:
| 规则ID | 规则名称 | 修复任务链接 |
|---|---|---|
| 5c8c26997a550e1fb6560cd9 | Blob容器启用了公共读取访问权限 | azure_blob_remove_public_access |
| 5c8c26687a550e1fb6560c72 | 为Keyvault启用日志记录 | azure_key_vault_logging_for_keyvault_enabled |
| 5c8c26847a550e1fb6560cab | 网络安全组应限制SSH端口(22)的公共访问 | azure_network_security_group_close_port_22 |
| 5c8c267e7a550e1fb6560c9c | 网络安全组应限制远程桌面端口(3389)的公共访问 | azure_network_security_group_close_port_3389 |
| 3abf3147-ea53-4302-b237-caab4d764c77 | 应启用DDoS保护标准 | azure_security_center_enable_ddos_protection |
| 5c8c268a7a550e1fb6560cb9 | 应启用SQL Server审计 | azure_sql_auditing_on_server |
| 5c8c268d7a550e1fb6560cc0 | 应启用SQL数据加密 | azure_sql_data_encryption_on |
| 5c8c26947a550e1fb6560cce | SQL服务器应启用Azure Defender for SQL | azure_sql_threat_detection_on_server |
| 5c8c269a7a550e1fb6560cdb | 存储账户未配置为仅允许HTTPS流量 | azure_storage_account_allow_https_traffic_only |
| 99d645b8-aa87-11ea-bb37-0242ac*** | 存储账户可公开访问 | azure_storage_default_network_access_deny |
| 02b672b7-a590-4434-8188-***b2d1864 | 存储账户静态加密未配置客户管理密钥(CMK) | azure_storage_encryption_at_rest_not_configured_with_customer_managed_key |
| 643eb5fc-7747-4df4-b217-41c4e97e0c07 | 存储账户Blob服务未配置软删除 | azure_storage_soft_delete_not_enabled |
| d7a3ad03-860c-4928-9ba8-789e84a835be | 虚拟机规模集VM通过SSH端口(22)可公开访问互联网 | azure_vm_close_port_22 |
| 5c8c26417a550e1fb6560c3f | EC2实例应限制SSH端口(22)的公共访问 | ec2_close_port_22 |
| 5c8c26437a550e1fb6560c42 | EC2安全组应限制远程桌面端口(3389)的公共访问 | ec2_close_port_3389 |
| 657c46b7-1cd0-4cce-80bb-9d195f49c987 | 未启用弹性负载均衡器访问日志 | elb_enable_access_logs |
| 5c8c264a7a550e1fb6560c4d | RDS备份保留期少于30天 | rds_backup_retention_30_days |
| 5c8c265e7a550e1fb6560c67 | 应启用S3访问日志 | s3_enable_access_logging |
| 1d***-9fff-48b2-a7c3-ffc56a4da5e6 | 应启用S3存储桶默认加密 | s3_enable_default_encryption |
| 5c8c26507a550e1fb6560c57 | S3存储桶应限制完全公共访问 | s3_remove_public_access |
| 5c8c26517a550e1fb6560c59 | S3存储桶应限制公共读取访问 | s3_remove_public_access |
| 5c8c26537a550e1fb6560c5a | S3存储桶应限制公共读取ACL访问 | s3_remove_public_access |
| 5c8c26537a550e1fb6560c5b | S3存储桶应限制公共写入访问 | s3_remove_public_access |
| 5c8c26547a550e1fb6560c5c | S3存储桶应限制公共写入ACL访问 | s3_remove_public_access |
| 5c8c26637a550e1fb6560c6b | S3存储桶策略应限制公共Get访问 | s3_remove_public_access |
| 5c8c26617a550e1fb6560c69 | S3存储桶策略应限制完全公共访问 | s3_remove_public_access |
| 5c8c25ec7a550e1fb6560bbe | EC2安全组应限制SSH端口(22)的公共访问 | security_group_close_port_22 |
| 5c8c25ef7a550e1fb6560bc4 | EC2实例应限制远程桌面端口(3389)的公共访问 | security_group_close_port_3389 |
| 5c8c25f07a550e1fb6560bc6 | EC2实例应限制PostgreSQL服务器端口(5432)的公共访问 | security_group_close_port_5432 |
| 5c8c25e47a550e1fb6560bac | 应加密CloudTrail日志 | aws_cloudtrail_logs_encrypted |
| 5c8c26217a550e1fb6560c12 | 未启用KMS自动密钥轮换 | aws_kms_key_rotates |
| 5c8c265c7a550e1fb6560c63 | CloudTrail S3存储桶应启用访问日志 | s3_enable_access_logging |
| 5c8c265d7a550e1fb6560c65 | CloudTrail S3存储桶应限制仅授权用户访问 | aws_s3_cloudtrail_public_access |
Secure State团队欢迎社区贡献。如果您希望贡献代码且尚未签署贡献者许可协议(CLA),我们的机器人会在您提交Pull Request时更新相关问题。有关CLA流程的任何问题,请参考我们的FAQ。
本仓库的所有贡献必须按照该页面所述进行签署。您的签名证明您编写了补丁或有权将其作为开源补丁传递。
有关详细信息,请参阅CONTRIBUTING.md。
委员会成员是来自社区的志愿者和VMware员工,不对因运行本仓库示例而可能发生的任何问题负责。
成员:
如发现错误,请提交https://github.com/vmware-samples/secure-state-remediation-jobs/issues%E3%80%82
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务