Запрос входящего источника SSH 0.0.0.0/0, используемого в экземплярах ec2 - PullRequest
0 голосов
/ 25 мая 2019

Я хотел бы запросить и перечислить все экземпляры ec2, у которых есть правило, разрешающее source = 0.0.0.0/0 (входящий) для экземпляров ec2 на порту 22 / ssh.

Цель - получить списоксо всеми серверами, у которых есть правило, позволяющее кому-либо подключаться к серверу через порт 22 / ssh.Мне нужно просмотреть и увидеть все серверы в этой ситуации, чтобы применить правильную защиту.

Возможно ли это?Как я могу иметь контроль, видимость = Управление об этом?

Спасибо!

1 Ответ

0 голосов
/ 25 мая 2019

Вы можете написать скрипт, который:

  • Получает список групп безопасности
  • Перебирает группы безопасности и проверяет правила входящих сообщений
  • Чеки на 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 , которое может постоянно проверять нарушения конфигурации.

...