Экземпляры EC2 не должны иметь публичного IP-адреса | Рекомендации по обеспечению безопасности AWS
Недавно я провел оценку безопасности своих ресурсов AWS с помощью AWS Security Hub. В результате в категории AWS Foundational Security Best Practices v1.0.0 есть ошибка, говорящая
Экземпляры EC2 не должны иметь общедоступного IPv4-адреса.
Если этот экземпляр без общедоступного IP-адреса, как получить доступ к этому экземпляру через Интернет?
Я хотел бы дать подробное объяснение этой лучшей практики безопасности, что экземпляры EC2 не должны иметь общедоступный IP-адрес.
3 ответа
Как правило, доступ в Интернет доступен только для балансировщика нагрузки. Затем он перенаправляет трафик на инстансы Amazon EC2, распределенные по нескольким зонам доступности.
Балансировщик нагрузки может фильтровать трафик и направлять его в соответствующее место назначения на основе запрошенного пути в URL-адресе.
Таким образом, никто не сможет получить доступ к экземпляру EC2 (например, через RDP или SSH).
Администраторы должны иметь возможность доступа к VPC через соединение VPN или Direct Connect, а не через Интернет.
Экземпляры EC2 не должны иметь общедоступного IPv4-адреса.
Это может относиться к экземпляру EC2 в частной подсети. Для экземпляров EC2 в общедоступной подсети вам понадобится IP-адрес для получения веб-трафика.
Согласно вопросам часто задаваемымVPC :
В целях безопасности убедитесь, что группа безопасности, связанная с общедоступным экземпляром EC2, разрешает трафик только на требуемых портах. Например, на веб-сервере должно быть только входящее правило (входящее) для, скажем, порта 80. Вам не нужно определять исходящее правило (исходящее), потому что ответ на входящее правило (входящий) будет по-прежнему разрешен.
Группы безопасности сохраняют состояние - если вы отправляете запрос из своего экземпляра, трафик ответа для этого запроса может поступать независимо от правил группы безопасности для входящего трафика. Ответы на разрешенный входящий трафик могут исходить независимо от правил исходящего трафика.
В соответствии с моим предыдущим комментарием к одному из других ответов - вы можете уйти, не разрешая входящий трафик для порта SSH, используя SSM (за исключением крайнего случая, который я отметил)
Ответ не изменится, если вы используете балансировщик нагрузки. Я попытался подготовить ASG (группу автоматического масштабирования) в общедоступной подсети, и в Cloudformation указал, что реализация не должна связывать общедоступные IP-адреса с экземплярами EC2. ASG так и не получила сигналов об успешном завершении от экземпляров EC2, и развертывание Cloudformation было отменено.
Я думаю, что вы столкнулись с этой проблемой безопасности из-за конфигурации подсети. Проверьте, включено ли в конфигурации подсети автоматическое назначение общедоступных IP-адресов.
Публичный экземпляр, помещенный в эту подсеть, по умолчанию получит общедоступный IP-адрес. Это то, что AWS упоминает как проблему безопасности.
Вы должны вручную включать общедоступный IP-адрес каждый раз, когда новый экземпляр EC2 помещается в подсеть, даже если это общедоступная подсеть.