Назад | Перейти на главную страницу

EC2 - должны ли группы безопасности быть специализированными и сложенными?

Мне не удалось найти лучших практик для групп безопасности AWS. Я полагаю, что есть два подхода, которые я мог бы использовать, но я не уверен, есть ли у каждого из них какие-либо особые недостатки.

Сценарий 1:
Определите небольшие специализированные группы безопасности, такие как «ssh», «mongodb», «web» и т. Д., А затем, по сути, «сложите» несколько групп безопасности на каждом экземпляре EC2, чтобы указать, какие порты открыты.

Сценарий 2:
Определите более крупные и общие группы безопасности, такие как «web1», которые открывают порты 80, 443, ssh, базу данных, и примените их к любым подходящим экземплярам EC2.

Думаю, я бы предпочел сценарий №1, но не знаю, есть ли у этого подхода какие-либо недостатки или технические проблемы. Есть лучшая практика?

AWS ограничивает количество групп, которые вы можете применить к сетевому интерфейсу: Security groups per network interface 5

Распространенным подходом является создание групп SG, которые позволяют легко обновлять парк серверов, но таким способом, который по-прежнему имеет смысл для всех хостов, к которым они применяются.

Рассмотрим эти моменты

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

  • Используйте NACL для разрешений граней курса
  • Используйте SG для более конкретного доступа
  • Поместите свои экземпляры в частную подсеть (этот совет предназначен для экземпляров, не находящихся в открытом доступе, например, когда вы использовали ELB для подключения к своему веб-экземпляру)

Общий подход

Учитывая все это, общий подход был бы следующим:

  • Все экземпляры получают общую группу безопасности (у нее есть правила, которые вы хотите применять для каждого экземпляра)
  • У каждого экземпляра есть роль, например «веб-сервер», «почтовый сервер» или «postgres db», и каждая роль имеет связанную группу безопасности.
  • В вашем конкретном экземпляре может быть дополнительная группа безопасности для любых настроек, которые не входят в первые две группы.

Вариации на «обычную» СГ:

  • "common_linux OR common_windows"
  • "common" И "common_linux OR common_windows".