如何获取所有入站到 0.0.0.0 的流量的所有安全组

yeo*_*ona 3 aws-cli

我正在尝试从任何 IP 地址 (0.0.0.0/0) 获取对“所有流量”开放的所有安全组,对于我们来说,这意味着它们尚未正确配置。

\n\n

我找到了如何找到那些包含允许 SSH 流量(端口 22)的规则和允许来自所有 IP 地址(0.0.0.0/0)的流量的规则\nI\xe2\x80\x99 已经尝试过,但我仍然不\没有我正在寻找的东西:我想要那些允许来自 0.0.0.0 的所有协议、所有端口(所有流量)的人。

\n\n

感谢您的任何建议。

\n\n
aws ec2 describe-security-groups --filters Name=ip\npermission.cidr,Values=\'0.0.0.0/0\' Name=vpc-id,Values=XXXXX Name=ip-\npermission.from-port,Values=* --query "SecurityGroups[*]. \n{Name:GroupName,ID:GroupId}" --output table\n
Run Code Online (Sandbox Code Playgroud)\n

ken*_*kas 8

你走在正确的轨道上。如果您使用 a-1作为其值,ip-permission.protocol它将返回对所有流量开放的安全组。

我创建了这个安全组(立即删除)作为测试:

在此输入图像描述

当我aws使用上述过滤器和 CIDR = 的过滤器运行命令时0.0.0.0/0

aws ec2 --region eu-west-1 describe-security-groups --filter Name=ip-permission.protocol,Values=-1 Name=ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{Name:GroupName,ID:GroupId}" --output table
Run Code Online (Sandbox Code Playgroud)

它返回了这个输出:

------------------------------------------------  
|            DescribeSecurityGroups            |
+-----------------------+----------------------+
|          ID           |        Name          |
+-----------------------+----------------------+
|  sg-0142cbca58aac3836 |  delete immediately  |
+-----------------------+----------------------+
Run Code Online (Sandbox Code Playgroud)

更新

要列出生成允许所有出站的安全组列表,请使用以下命令:

aws ec2 describe-security-groups --filter Name=egress.ip-permission.protocol,Values=-1 Name=egress.ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{Name:GroupName,ID:GroupId}" --output table
Run Code Online (Sandbox Code Playgroud)