В этом уроке мы рассмотрим о том, как реализован внешний файрвол в Cloud2 и научимся настраивать группы безопасности.
Группы безопасности — объект CloudStack, который обеспечивает защиту виртуальной машины с помощью внешнего механизма правил ограничения трафика по протоколам, портам и сетевым маскам (CIDR).
Для успешного использования данной функции вы должны понимать следующие концепции:
- Протоколы TCP, UDP, ICMP;
- сетевые порты;
- CIDR v4, CIDR v6.
Каждая группа безопасности содержит два вида правил:
- Ingress — правила, которые определяют политики для входящего в виртуальную машину трафика;
- Egress — правила, которые определяют политики для исходящего с виртуальной машины трафика.
По умолчанию, пустая группа безопасности не пропускает трафик ни к машине ни от машины.
При создании машины вы можете указать одну или более групп безопасности.
Часто применяется реализация двух схем:
- каждый сервер получает отдельную, созданную специально для него группу безопасности.
- все серверы, у которых одна и та же согласованная политика доступа получают общую группу безопасности.
Подход №1 позволяет гибко управлять трафиком каждой машины по отдельности. Этот подход может успешно применяться при создании логически несвязанных машин.
Подход №2 позволяет управлять политикой пропуска трафика для нескольких машин, например, для серверов СУБД одного проекта из одной точки.
В рамках данной статьи мы будем рассматривать подход №1, как более простой и характерный для большинства пользователей, у которых в аккаунте 1-2 виртуальных машины. Второй подход более характерен для массированных аккаунтов с десятками и сотнями машин в аккаунте.
Группа безопасности по умолчанию Default
В каждом аккаунте при выделении сразу создается группа безопасности default, которая имеет установленные по умолчанию правила, пропускающие трафик во всех направлениях, кроме 25 порта на исходящем трафике протокола TCP. Это ограничение по умолчанию создано для исключения нежелательной блокировки IP вашей машины в случае возможного взлома системы спамерами. Вы можете открыть 25 порт при необходимости отредактировав данное правило.
Для просмотра групп выберите пункт меню Брандмауэр (1) — здесь вы можете управлять своими группами безопасности. Давайте исследуем группу default в качестве примера. Нажмите кнопку в виде трёх точек (2) рядом с названием группы и выберите пункт «Правила» (3):
Отображение правил группы можно фильтровать по версии интернет протокола IPv4/IPv6 (1), по типу трафика (2) и протоколам передачи данных (3). А также сгруппировать вывод по типу и/или протоколу (4) для удобства чтения.
Поскольку в группе default правила уже сформированы, давайте их посмотрим. Выберем тип трафика «Входящий» и сгруппируем вывод по протоколам:
Как можно видеть для входящего трафика определены правила для всех типов трафика, которые все разрешают:
- ICMP (-1, -1) разрешает весь трафик по ICMP, если требуется разрешить только определенные коды, то требуется указывать явно ICMP Type, ICMP Code.
- Для TCP разрешен трафик со всех ipv4 узлов (0.0.0.0/0) и для всех ipv6 узлов (::/0) на все порты (1-65535).
- Для UDP все аналогично TCP.
При редактировании правил изменения происходят автоматически. Однако, если вы не видите изменений, просто остановите виртуальную машину и запустите ее заново.
В каких группах безопасности находится машина
Для того, чтобы узнать в каких группах находится виртуальная машина, кликните по ней мышкой (1) и в открывшейся панели справа перейдите на вкладку сетевых устройств (2). В разделе «Правила брандмауэра» будут указаны активные для данной виртуальной машины группы безопасности.
Как видно в примере, машина находится в группе default.
Заключение
В этом уроке вы научились пользоваться группами безопасности и можете использовать эту возможность для внешнего ограничения трафика к виртуальным машинам.