Как ограничить доступ к EC2 только с NLB

Вопрос

Есть ли способ убедиться, что доступ поступает только от определенного NLB? При текущих ограничениях NLB я не уверен, есть ли способ.

Ограничения

  • AWS Network Load Balancer (NLB) не имеет группы безопасности (SG), поэтому не может использовать SG для проверки, что источником является NLB.

  • NLB (целевой идентификатор экземпляра) сохраняет исходный IP-адрес внешнего клиента, поэтому не может использовать исходный IP-адрес для проверки, что источником является NLB.

использованная литература


person mon    schedule 27.02.2020    source источник


Ответы (4)


Один из способов сделать это - подготовить NLB и его EC2 в отдельной частной подсети, зарезервированной только для них, и убедиться, что ваши правила маршрутизации не позволяют другим подсетям в VPC маршрутизировать в отдельную частную подсеть.

person mcfinnigan    schedule 27.02.2020
comment
Или ... подсеть может иметь NACL, который блокирует трафик из диапазона CIDR VPC, таким образом разрешая только внешний доступ к подсети. (Я это не тестировал.) - person John Rotenstein; 28.02.2020

Вы можете поместить EC2 в подсеть NAT, а затем указать на этот EC2 через NLB. Таким образом, хотя ваша группа безопасности EC2 установлена ​​на 0.0.0.0/0, только NLB может получить к ней доступ.

person romennts kk    schedule 07.03.2020
comment
Пожалуйста, подробно объясните, как это работает для блокировки трафика, кроме NLB. - person mon; 08.03.2020

Как и в AWS Документ NLB - Целевые группы безопасности, не может идентифицировать NLB и гарантировать, что доступ осуществляется только из NLB, если целевой тип - экземпляр. Необходимо использовать IP-адрес клиента, который обращается к NLB.

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

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

person mon    schedule 06.03.2020

Поместите машины EC2 в частные подсети, если им нужен доступ в Интернет, установите таблицу маршрутов для пункта назначения 0.0.0.0/0 на nat gateway id. Таким образом, машины EC2 могут получить доступ к Интернету через nat, но никто не может получить доступ к вашим экземплярам ec2 извне vpc.

Затем вы можете установить правила для входящих подключений для своих экземпляров EC2 даже для 0.0.0.0/0. Опять же, никто (за пределами vpc) не может напрямую получить доступ к вашим экземплярам EC2, поскольку они являются частной подсетью. Если вы установите NLB и прикрепите к нему экземпляры EC2, к экземплярам будут разрешены только соединения (в соответствии с вашим правилом прослушивателей NLB).

person Ferhat    schedule 10.06.2020