1

Я не был уверен, подходит ли это sub-StackExchange для этого вопроса, поэтому не стесняйтесь загружать меня где-нибудь еще, если это будет необходимо.

Я пытаюсь работать с двумя серверами EC2: один - "рабочая станция", а другой - "узел" (подумайте Chef). Группа безопасности рабочей станции начиналась с одного входящего правила, которое разрешало доступ к порту 22 с IP-адреса моей локальной машины.

Я хотел, чтобы сервер узла был доступен с сервера рабочей станции, а также с моего локального компьютера. Поэтому вместо того, чтобы создавать новую группу безопасности, я просто добавил правило в группу безопасности, используемую на рабочей станции, с собственным идентификатором группы безопасности в качестве источника. Говоря простым языком, я собирался создать группу безопасности, которая разрешает доступ через порт 22 либо с IP-адреса моего локального компьютера, либо с любого компьютера, к которому также применена группа безопасности. Это было мое понимание того, как работает группа безопасности по умолчанию (весь трафик разрешен, причем источником является самоссылочный идентификатор группы безопасности).

На мой взгляд, это также соответствовало тому, что я нашел здесь в документах:

Если для определенного порта существует более одного правила, мы применяем наиболее разрешающее правило. Например, если у вас есть правило, разрешающее доступ к TCP-порту 22 (SSH) с IP-адреса 203.0.113.1, и другое правило, разрешающее доступ к TCP-порту 22 от всех, каждый имеет доступ к TCP-порту 22.

Мой случай, очевидно, немного отличается тем, что у меня есть правило, которое разрешает определенный доступ к порту 22 с определенного IP-адреса, и правило, которое разрешает определенный доступ к порту 22 из группы безопасности, а не «всех», но не будет источник группы безопасности также считается более разрешающим, чем конкретный IP-адрес, и, следовательно, разрешить сценарий, который я описал выше?

К сожалению, с настроенной таким образом группой безопасности я могу подключаться к узлу SSH только с моей локальной машины. Когда я пытаюсь подключиться к SSH с рабочей станции на EC2 (с той же группой безопасности), время ожидания истекает.

Любые идеи о том, что я могу делать неправильно / отсутствует?

2 ответа2

2

Я просто добавил правило в группу безопасности, используемую на рабочей станции, с собственным идентификатором группы безопасности в качестве источника.

Это противоположно тому, что вам нужно было сделать.

Вам необходимо добавить правило в группу безопасности узла, указав в качестве источника группу безопасности рабочей станции, а не группу безопасности корпорации. Самостоятельное входящее правило в группе безопасности означает, что машины, являющиеся членами этой группы, могут получить доступ к этому порту на других членах этой же группы.

Я не уверен, почему документация излагает такой очевидный принцип в такой запутанной манере ... кажется, что он только запутывает проблему. Когда какой-либо трафик соответствует какому-либо правилу в группе безопасности, трафик разрешается. Понятие специфичности правил здесь кажется отвлекающим фактором.

1

Что на самом деле вы сделали: вы разрешаете доступ к рабочей станции с вашего IP-адреса и из любого другого экземпляра в той же группе (не имеет значения, если его сейчас нет, если вы добавите экземпляр в эту группу в будущем - он будет иметь доступ к SSH тоже.

Что нужно сделать: настроить SG, к которому принадлежит узел. Добавьте правило с вашим IP и правило с группой рабочих станций в качестве источника. Последний будет читаться как «разрешить доступ к порту 22 из всех экземпляров, которые находятся в workstation_group.

Примечание: "Разрешающее правило": я не знаю, знакомы ли вы с CIDR и подсетями, но это тема, которую вам нужно знать, чтобы понять ее в деталях. Давайте посмотрим на два случая. Случай 1, два правила:

allow from 192.168.0.0/24
allow from 192.168.1.0/24

Здесь «правило большинства разрешающих правил» не будет применяться, потому что диапазоны не перекрываются: они фактически означают

allow from 192.168.0.0 to 192.168.0.255
allow from 192.168.1.0 to 192.168.1.255

Вариант 2

allow from 192.168.0.0/22 (note '2' at the end)
allow from 192.168.1.0/24

Здесь правило будет применяться, потому что диапазоны:

allow from 192.168.0.0 to 192.168.3.255
allow from 192.168.1.0 to 192.168.1.255

Таким образом, второй диапазон находится внутри первого, как маленькая коробка внутри большего. «Наиболее разрешительный» здесь означает, что будет работать первая строка, более широкий диапазон.

Не стесняйтесь проверить ipcalc для деталей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .