Как использовать функционал vFirewall в 5nine Cloud Security

5nine Cloud Security
С помощью функционала vFirewall можно реализовать полноценный файервол\брандмауэр между Вашими ВМ и сетью Интернет. Для ограничения трафика можно использовать почти все протоколы TCP\IP (TCP, UDP, ICMP, …) и любые порты. Сам файервол работает на виртуальной инфраструктуре провайдера и никак не пересекается с файерволами установленными на ОС Ваших ВМ (если они там существуют и включены). Для использования услуги vFirewall Вам надо настроить соответствующие правила и принудительно включить функцию vFirewall для конкретных ВМ.
После того как Вы впервые запустили консоль управления 5nine Cloud Security под своей учетной записью, у Вас нет ни одного правила виртуального брандмауэра (vFirewall) для ваших ВМ, вы можете видеть вот такую картину:
 
Здесь слева внизу, вы можете видеть ваши ВМ для которой подключен функционал 5nine (в нашем случае это test-1_vm01), но который пока не работает, в пункте Notifications отображаются журналы событий для всех доступных функций 5nine. В пункте Templates отображаются глобальные и пользовательские шаблоны для правил vFirewall.
Сверху в разделе Global, указаны группы безопасности: глобальная «All VMs», в группе «All VMs» заданы правила vFirewall которые применимы ко всем Вашим ВМ. Эти правила созданы администраторами Облакотеки и их нельзя изменить или удалить. Правила из глобальной группы применяются ко всем виртуальным машинам в инфраструктуре (когда у них активирован vFirewall), в частности по умолчанию правило «ARP (all)» предназначено для разрешения любого трафика на уровне L2.
 
Примечание:
В 5nine Cloud Security существует три основных места где могут быть указаны правила виртуального брандмауэра:

  1. Глобальные правила для всех групп ВМ. Эти правила автоматически применяются ко всем виртуальным машинам в инфраструктуре (Пример: правило «ARP (all)»).
  2. Правила групп безопасности, определяемые пользователем. Эти правила применяются только на те виртуальные машины, в настройках которых назначена конкретная(ые) группа(ы). Каждая виртуальная машина может принадлежать нескольким группам безопасности (Правила для локальных групп безопасности).
  3. Локальные правила. Эти правила применяются только к конкретной виртуальной машине (Правила только для ВМ «test-1_vm01»). 
Так как глобальная группа по умолчанию уже есть, давайте рассмотрим пример создания локальной группы безопасности. Это удобно, т.к. правила локальных групп безопасности применяются только к виртуальным машинам, которые входят в их состав. Каждая виртуальная машина может входить в состав нескольких групп безопасности.
Чтобы создать такую группу нажмите правой кнопкой мыши на разделе Global, далее выберете Add Group:
 
Затем введите имя новой группы и ее описание (необязательно) в следующем окне. Нажмите OK.
 
Новая группа создана и появится в дереве объектов:
 
Нажав на ней правой кнопкой мыши, Вы можете отредактировать или удалить данную группу, импортировать или экспортировать правила в ней:
 
Чтобы добавить в данную группу Вашу ВМ, выделите ее и перейдите во вкладку Members в панели справа. Далее нажмите на Edit Members и в появившемся окне выберет Вашу ВМ и нажмите ОК:
 
Теперь ВМ test-1_vm01 является членом локальной группы безопасности test-1 VM Group:
 
 
После того как локальная группа безопасности создана, перейдем к рассмотрению примера создания правил для виртуального брандмауэра. Для этого, выделим нашу ВМ левой кнопкой мыши, и в правой панели во вкладке vFirewall показаны все правила, которые применяются к данной машине. На данный момент мы видим, что активно только одно правило, по умолчанию это глобальное правило ARP (all).
 
Очень важно: 5nine Cloud Security использует следующий подход к применению правил виртуального брандмауэра:
- Весь трафик блокируется по умолчанию, если для защищаемой виртуальной машины не добавлены никакие правила.
- Любое разрешающее правило открывает канал(ы), для которых оно настроено, и пропускает соответствующий трафик.
- Любое блокирующее правило имеет приоритет над любым разрешающим правилом в случае, если они относятся к одному(им) и тому(тем) же ресурсу(ам), и трафик, который попадает под критерии правила, блокируется.
 
Давайте приведём пример нового правила на vFirewall. Допустим, нам необходимо разрешить исходящий трафик с ВМ по протоколам DNS, HTTP, HTTPS и входящий трафик по RDP (терминальный сервер).
Рассмотрим для примера добавление локального правила, разрешающего исходящий трафик по протоколу DNS, для нашей конкретной ВМ test-1_vm01. Для этого в правой панели нажимаем на кнопку Add IP Rule
 
 
откроется окно добавления правил Add Rule:
 
 
Заполняем параметры на вкладке Common:
Name. Вводим имя правила - DNS.
Description. Вводим описание правила (необязательно);
Action. Выбираем действие, которое правило будет применять к соответствующему сетевому трафику. Для IP-правил доступны следующие варианты:
  • allow – разрешить все пакеты, включая SPI.
  • allow (no SPI) – разрешить только пакеты, передаваемые напрямую, пакеты SPI будут отфильтрованы. Технология SPI (Stateful Packet Inspection - инспекция пакетов с хранением состояния) позволяет дополнительно защититься от атак, выполняя проверку проходящего трафика на корректность (работают на сетевом, сеансовом и прикладном уровнях модели OSI).
  • block – блокировать все пакеты.
Выбираем действие Allow.
 
Direction. Настраиваем направление трафика относительно целевой(ых) ВМ:
  • any – чтобы применять правило в любом направлении;
  • inbound – чтобы применять правило только для входящего трафика (пакеты SPI будут исключены, если настроено действие allow);
  • outbound – чтобы применять правило только для исходящего трафика (пакеты SPI будут исключены, если настроено действие allow);
Выставляем направление Outbound.
 
Protocol. Выбираем протокол, который будет использоваться для передачи определенного типа трафика. Доступные варианты:
  • Any – любой IP-протокол. 
  • TCP протокол.
  • UDP протокол.
  • GRE протокол.
  • ICMP или ICMPv6 – протокол ICMP (ICMPv6). 
Выбираем протокол UDP.
 
Local Ports. Вводим 53 локальный порт, через который по умолчанию направляется трафик для протокола DNS. Разделы ниже можем не заполнять, и в итоге получаем следующее:
 
 
Далее мы можем заполнить параметры на вкладке Advanced:
 
 
Address type. Тут мы можем выбрать тип адреса, на который направляется трафик:
  • Any. Правило будет предусматривать все типы адресов.
  • Broadcast. Правило будет применяться только к широковещательному трафику. Например, к трафику, отправленному на IPv4-адреса вида x.x.x.255 для маски подсети вида 255.255.255.0 (широковещательные адреса VLSM также подразумеваются и в каждом случае они зависят от длины маски подсети).
  • Unicast. Правило будет предусматривать только трафик, направленный на одного получателя. Например, трафик, отправленный на единственный хост с IPv4-адресом вида 192.168.1.10 с маской подсети 255.255.255.0.
  • Multicast. Правило будет предусматривать только многоадресный трафик. Например, в IPv4 целевые адреса должны быть в пределах следующего диапазона: 224.x.x.x – 239.x.x.x.
Примечание. Трафик по определению делится на несколько типов: широковещательный, многоадресный и одноадресный. Например, соединение RDP через порт 3389 – это одноадресный тип. Протокол Link Local Multicast Name Resolution через порт 5355 – это многоадресный тип. Вам необходимо учитывать это, когда вы настраиваете данный параметр, чтобы правило применялось корректно, кроме случаев, когда вы выбираете параметр Any.
 
VLAN ID. Здесь ничего менять не нужно, оставляем параметр по умолчанию -  Any, т.е. правило будет применяться к любому пакету.
Local Address. Тут вводится IP-адрес или адрес подсети в формате: x.x.x.x/y.y.y.y, где x.x.x.x – адрес сети в десятичном виде; y.y.y.y – маска подсети в десятичном виде, например 192.168.0.0/255.255.255.0. Когда указан этот адрес, программа проверит, что локальный адрес, для которого применяется правило, совпадает с этим адресом. Если правило применяется к нескольким ВМ, которые принадлежат разным сетям/подсетям, правило применится только к тем ВМ, локальный адрес которых совпадает с IP-адресом или подсетью, указанной в правиле. Ввести диапазоны IP или сразу несколько IP-адресов в настоящее время невозможно. В связи с этим, либо старайтесь не использовать правило для нескольких 
виртуальных машин/групп из разных сетей, либо используйте правила, которые применяются отдельно для каждой ВМ или подсети (группы).
 
Time frame. Здесь мы можем указать период времени и дни недели, в течение которых правило должно действовать. Период времени применяется, если отмечен как минимум один день недели. Оставьте все дни неотмеченными, чтобы правило действовало постоянно.
 
Authorization required. Этот параметр изменять не нужно, т.е. оставляем его по умолчанию.
В нашем случае мы ничего не заполняем во вкладке Advanced, нажимаем OK. Правило будет создано и добавлено к выбранной ВМ и отобразится в правой панели вместе со всеми правилами.
 
 
Итак, правило для виртуального брандмауэра, разрешающее исходящий трафик по протоколу DNS для нашей ВМ создано. Далее необходимо создать разрешающие правила на исходящий трафик по протоколам HTTP и HTTPS.
В следующем примере, мы создадим данные правила уже для нашей локальной группы безопасности - test-1 VM Group, в которой находится ВМ test-1_vm01, и правила HTTP и HTTPS будут действовать непосредственно на нее, т.к. она включена в эту группу. 
 
 
Выделяем нашу группу безопасности левой кнопкой мыши и нажимаем кнопку Add IP Rule
 
 
В 5nine Cloud Security есть наборы параметров (шаблоны) для предустановленных правил, которые помогут вам заполнить необходимые значения правил для наиболее распространенных сценариев (например, для HTTP доступ; удаленного доступа по RDP, Telnet или SSH). Эти шаблоны уже содержат необходимые значения, которые надо ввести в диалоговое окно, т.е. протокол, номер порта TCP/UDP и т.д. Выберите необходимый шаблон и правильное направление, действие и удаленные ВМ/IP-адреса, для которых должно применяться правило.
Чтобы использовать шаблон правила, выберите Templates в окне Add Rule.
 
 
Выбираем необходимый нам шаблон HTTP и необходимое направление для исходящего трафика (outbound) и жмем Apply:
 
 
Поля в окне Add Rule автоматически заполнятся выбранным шаблоном правила:
 
 
Заполняем по желанию вкладку Advanced и жмем ОК, созданное правило отобразится панели правил:
 
 
По аналогичному сценарию создаем правило для исходящего трафика по протоколу HTTPS:
 
 
Теперь необходимо создать разрешающее правило для vFirewall на входящий трафик по протоколу RDP. Создадим данное правило в этот раз, конкретно для ВМ test-1_vm01. Выделаем ВМ, выбираем вкладку Rules в левом верхнем меню:
 
 
Далее выбираем шаблон RDP, и в поле Direction уже по умолчанию, должно стоять направление на входящий трафик (Inbound), нажимаем Apply и видим параметры для нашего правила RDP, затем нажимаем ОК. Правило успешно создано:
 
Теперь остался самый важный момент. Вы можете создавать любые правила для виртуального брандмауэра (vFirewall), но они не будут работать до того момента, пока вы не активируете его для вашей конкретной ВМ!!!
Для этого есть два способа:
1) Вы можете выделить ВМ правой кнопкой мыши и выбрать пункт vFirewall:
 
На вопрос в окне Enforce Configured Firewall Rules ответить Yes:
 
 
И виртуальный брандмауэра vFirewall для вашей ВМ будет активирован.
 
2) Вы можете в верхнем левом меню выбрать вкладку Settings, и в раскрывшемся списке так же выбрать пункт vFirewall:
 
Далее необходимо поставить галочку напротив вашей ВМ в окне Enforce Configured Firewall Rules, нажать ОК
 
 
И на вопрос в окне Enforce Configured Firewall Rules ответить Yes:
 
 
Затем виртуальный брандмауэра vFirewall для вашей ВМ будет активирован. С этого момента для данной ВМ будет разрешён только сетевой трафик который задан в соответствующих правилах vFirewall.Обратите внимание, что после этого имя вашей ВМ будет выделено жирным шрифтом, теперь вы будете видеть для какой из ваших ВМ включен vFirewall:
 
 
Чтобы убедиться, что виртуальный брандмауэр действительно работает вы, можете зайти в пункт vFirewall раздела Notifications и просмотреть журнал событий:
 
 
Наши правила успешно созданы и виртуальный брандмауэра vFirewall работает.          
Так же мы можем просмотреть текущие записи журнала виртуального брандмауэра, для определенной виртуальной машины, нажав Load Log на вкладке Firewall главного окна программы. Записи журнала будут показаны в нижней части главного окна:
 

Add Feedback