Группы безопасности

Данная статья раскрывает вопросы использования «Групп безопасности» как одного из инструментов управления и организации сетевой безопасности и предоставления доступа к инстансам проекта. В данной статье мы рассмотрим:

  • определение понятия «группы безопасности»;
  • управление и настройка правил групп безопасности;
  • назначение необходимых групп безопасности при запуске инстансов;
  • организация сетевого доступа к инстансу или настройка сетевого взаимодействия между инстансами проекта.

Описание групп безопасности

Группы безопасности - набор правил фильтрации IP, которые применяются к инстансу, а точнее, назначаются на сетевые порты инстанса. Каждая группа безопасности уникальная и выполняет свои функции только в пределах проекта, в котором она создана. Функционал групп безопасности позволяет пропускать или ограничивать сетевой трафик интернет протоколов IPv4 и IPv6.

Функции управления группами безопасности

Пользователям проекта доступны следующие функции управления группами безопасности:

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

Примечание

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

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

Предупреждение

При попытке удаления умолчательной группы («default»), пользователь будет уведомлен об ошибке: «Вам не разрешено выполнение: удалить группу безопасности: default»).

  • отключение всех или определенных групп для инстанса;
  • назначение группы безопасности на определенный порт инстанса;
  • отключение группы безопасности с порта (сетевого интерфейса) инстанса.

Настройка групп безопасности

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

Правило: настройки позволяют задать желаемый шаблон правила или использовать настраиваемые правила через опции «Настраиваемое TCP правило», «Настраиваемое UDP правило» или «Настраиваемое ICMP правило».

Открываемый Порт/Диапазон портов: Для TCP и UDP правил существует возможность открыть отдельный порт или диапазон портов. Выбор опции «Диапазон Портов» предоставит форму для ввода начального и конечного портов диапазона. Для ICMP правил необходимо будет указать ICMP тип и код в предоставленной форме.

Удаленная сторона: в этом разделе необходимо указать источник трафика который будет разрешен этим правилом. Вы можете указать блок IP адресов (CIDR) или группу безопасности. Выбор группы безопасности предоставит доступ любым машинам из указанной группы к любым машинам к которым применится это правило. Функция «наследования» позволяет упрощать процесс создания разрешающих правил при большом количестве адресов проекта, для которых нужно открыть доступ. Мы рекомендуем создавать отдельные группы безопасности под каждую группу инстансов с одинаковым функционалом, это может быть: кластер web-серверов, сервера баз данных, почтовые сервера и т.д., при этом сами группы безопасности следует именовать с определенной смысловой нагрузкой, что позволит легче и быстрее понимать ее назначение.

Используя наследование группы, можно открывать доступ между инстансом и группой инстансов, по необходимому протоколу или порту, без необходимости перечислять каждый хост группы (которому была назначена эта группа безопасности) или стороннему инстансу (который использует эту же группу), достаточно в поле «Удаленный адрес» указать группу безопасности сервиса, так как всей группе инстансов назначена одна и та же группа безопасности. Другими словами, правило с наследованием группы безопасности будет использовать IP адреса инстансов проекта, которым эта группа была назначена.

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

Примечание

Количество правил в группе безопасности определяется квотой secgroup-rules, а число доступных для проекта групп безопасности - управляется квотой secgroups. Дефолтные (умолчательные) квоты описаны в статье Ограничения

Назначение групп безопасности инстансу

Все проекты имеют «установленную по умолчанию» группу безопасности - «default», которая применяется ко всем инстансам, для которых не определена никакая другая группа безопасности. Пока она не изменена, эта группа безопасности отклоняет весь входящий трафик.

Примечание

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

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

Ниже представлен табличный вид дефолной (умолчательной) группы безопасности default:

Направление Тип сети IP протокол Диапазон Портов Префикс удаленного IP Удаленная группа безопасности
Входящий трафик IPv6 Любой Любой
default
Входящий трафик IPv4 Любой Любой
default
Исходящий трафик IPv6 Любой Любой ::/0
Исходящий трафик IPv4 Любой Любой 0.0.0.0/0

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

Назначение групп безопасности на порт

Платформа OpenStack, на базе которой развернут сервис SIM-Cloud, позволяет назначать группы безопасности на разные порты одного инстанса. Эта операция может быть выполнена как через веб-интерфейс Облака, так и через другие интерфейсы управления: «OpenStackClient» или «API». Возможность назначать разные правила на разные порты позволяет более гибко управлять исходящим и входящим сетевым трафиком, обеспечивая тем самым безопасность, управляемость проектом.

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

Более детально ознакомиться с процессом использования, изменения, назначения групп безопасности можно в нашей статье.