如何排查 AWS Config 规则 vpc-sg-open-only-to-authorized-ports 和 Systems Manager Automation 文档 AWS-DisablePublicAccessForSecurityGroup 的错误“InvalidPermission.NotFound”?

1 分钟阅读
0

我已创建 AWS Systems Manager Automation 文档 AWS-DisablePublicAccessForSecurityGroup 来禁用 SSH 和 RDP 端口。但是,自动修复因 AWS Config 规则 vpc-sg-open-only-to-authorized-ports 而失败。我收到了与以下类似的错误消息:

“调用 RevokeSecurityGroupIngress 操作时发生错误 (InvalidPermission.NotFound):该安全组中不存在指定的规则。”  

简短描述

AWS Config 规则将检查安全组是否允许入站 TCP 或 UDP 流量到达 0.0.0.0/0。例如,要允许 TCP 端口 443 和 1020-1025 访问 0.0.0.0/0,请在 AWS Config 规则参数中指定这些端口。SSM 文档 AWS-DisablePublicAccessForSecurityGroup 限于默认 SSH 22 和 RDP 3389 端口,这些端口对所有 IP 地址 (0.0.0.0/0) 或指定的 IPv4 地址(使用 IpAddressToBlock 参数)开放。

解决方法

RevokeSecurityGroupIngress API 操作的客户端错误 InvalidPermission.NotFound 表示目标安全组没有入站规则,或者它不在默认 Amazon Virtual Private Cloud (Amazon VPC) 中。

**重要提示:**开始之前,请确保您已安装配置 AWS 命令行界面 (AWS CLI)。

要验证错误消息,请运行 AWS CLI 命令 describe-remediation-execution-status,它类似于以下内容:

aws configservice describe-remediation-execution-status --config-rule-name vpc-sg-open-only-to-authorized-ports --region af-south-1 --resource-keys resourceType=AWS::EC2::SecurityGroup,resourceId=sg-1234567891234567891

安全组的入站规则必须使用以下模式之一指定打开的端口:

0.0.0.0/0

::/0

SSH or RDP port + 0.0.0.0/0

SSH or RDP port + ::/0

要为其他端口(包括 22 和 3389)配置自动修复,可以使用自定义 SSM 文档来自动执行该流程。有关说明,请参阅创建 Systems Manager 文档


相关信息

在调用 PutBucketLogging API 时,为什么针对 SSM 文档—AWS-ConfigureS3BucketLogging 的 AWS Config 自动修复失败,并显示“(MalformedXML)”错误?

如何解决在尝试删除 AWS Config 中的修正操作时出现的错误“NoSuchRemediationConfigurationException”或“unexpected internal error”?

AWS 官方
AWS 官方已更新 4 年前