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

Несколько групп безопасности EC2 - разрешительные или ограничительные?

Что происходит, когда я назначаю экземпляру несколько групп безопасности? Является ли он разрешающим в том смысле, что трафик разрешен, если это разрешено какой-либо из групп безопасности. ИЛИ является ли это ограничительным в том смысле, что каждая группа безопасности должна разрешать входящий трафик для его прохождения?

Например, допустим, у меня есть класс экземпляров, который будет разговаривать только с другими экземплярами в той же учетной записи. У меня также есть класс экземпляров, которые будут принимать трафик только через HTTP (порт 80).

Можно ли ограничить доступ к внутренним экземплярам и только через HTTP, создав и применив две группы безопасности:

  1. «Внутренняя» группа безопасности. Разрешить входящий трафик от других членов этой группы безопасности на всех портах для всех транспортов (TCP, UDP, ICMP)
  2. Создайте группу безопасности «http». Разрешить весь трафик на порт 80 через TCP из любого источника.

ИЛИ я вынужден создать единую группу безопасности, которая разрешает трафик с порта 80, где находится сам источник?

Разрешительный.

Согласно AWS здесь: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

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

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

Например, допустим, у меня есть класс экземпляров, который будет разговаривать только с другими экземплярами в той же учетной записи. У меня также есть класс экземпляров, которые будут принимать трафик только через http (порт 80).

Это идеальная ситуация для виртуального частного облака AWS. Поместите внутренние экземпляры в частные подсети, а общедоступные экземпляры в общедоступные подсети.

Вот ответ службы поддержки документации AWS. Сказали, что обновят документацию:

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

https://forums.aws.amazon.com/thread.jspa?messageID=221768

https://forums.aws.amazon.com/thread.jspa?messageID=349244&#349244

Когда к экземпляру применяются несколько групп безопасности, правила объединяются для создания одного большого набора правил. В EC2 правила группы безопасности являются только разрешительными, другими словами, вы не можете добавлять какие-либо правила DENY. Это означает, что всегда будет применяться наиболее разрешительное правило. Например, если у вас есть группа безопасности, которая разрешает доступ к порту 22 с IP-адреса 10.10.10.10, и другая группа безопасности, которая разрешает доступ к порту 22 всем, каждый будет иметь доступ к порту 22 на экземпляре.

Когда вы указываете группу безопасности в качестве источника или назначения для правила, правило влияет на все экземпляры, связанные с группой безопасности. Входящий трафик разрешен на основе частных IP-адресов экземпляров, связанных с исходной группой безопасности (а не общедоступных IP-адресов или эластичных IP-адресов). Дополнительные сведения об IP-адресах см. В разделе IP-адресация экземпляров Amazon EC2. Если правило группы безопасности ссылается на группу безопасности в одноранговом VPC, а указанная группа безопасности или одноранговое соединение VPC удалено, правило помечается как устаревшее. Дополнительную информацию см. В разделе «Работа с устаревшими правилами группы безопасности» Руководства по пирингу Amazon VPC.

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

Когда вы связываете несколько групп безопасности с экземпляром, правила из каждой группы безопасности эффективно объединяются для создания одного набора правил. Мы используем этот набор правил, чтобы определить, разрешить ли доступ.

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