Вы можете написать скрипт, который:
- Получает список групп безопасности
- Перебирает группы безопасности и проверяет правила входящих сообщений
- Чеки на SSH
0.0.0.0/0
Вероятно, легче писать на языке, подобном Python, чем с помощью интерфейса командной строки AWS, если вы не особенно разбираетесь в сценариях оболочки.
Было бы что-то вроде этого:
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 , которое может постоянно проверять нарушения конфигурации.