我想查询并列出所有具有规则的ec2实例,这些规则允许source = 0.0.0.0/0(入站)到端口22 / ssh上的ec2实例。
目标是获取包含所有规则的所有服务器的列表,该规则允许任何人在端口22 / ssh上访问服务器。在这种情况下,我需要查看并查看所有服务器以应用正确的强化。
有可能吗?我该如何控制,可见性=治理?
谢谢!
答案 0 :(得分:-1)
您可以编写一个脚本,
0.0.0.0/0
除非您特别擅长使用Shell脚本,否则使用Python之类的语言编写而不是使用AWS CLI可能更容易。
会是这样的:
import boto3
PORT = 22
ANYWHERE = '0.0.0.0/0'
ec2 = boto3.client('ec2', region_name='ap-southeast-2')
groups = ec2.describe_security_groups()
for group in groups['SecurityGroups']:
for permission in group['IpPermissions']:
if 'FromPort' in permission and PORT >= permission['FromPort'] and PORT <= permission['ToPort']:
for range in permission['IpRanges']:
if range['CidrIp'] == ANYWHERE:
print group['GroupName']
请参阅:describe_security_groups()
您还可以创建一个AWS Config rule,它可以连续检查配置是否违反。