Межсетевой экран и NAT

Логика работы

В решении Traffic Inspector Next Generation используется межсетевой экран Packet Filter.

Межсетевой экран решает множество задач. Вот лишь некоторые из них:

  • Защита устройства TING и компьютеров внутренней сети от несанкционированного доступа со стороны Интернета

  • Трансляция сетевых адресов (Network Address Translation)

  • Публикация внутренних служб (проброс портов)

  • Контроль доступа внутренних пользователей к компьютерам в сети Интернет

  • Перехват пакетов и их перенаправление на само устройство TING (как часть прозрачного проксирования и функционала SSL Bump)

Обработка пакетов межсетевым экраном осуществляется в соответствии с директивами и правилами, содержащимися в конфигурационном файле /tmp/rules.debug. Не стоит вручную менять содержимое данного файла, так как он генерируется автоматически, в соответствии с настройками, задаными в веб-интерфейсе устройства TING.

Примечание

Настройка межсетевого экрана должна осуществляться через веб-интерфейс устройства TING.

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

_images/rule_order.png

Если сетевой пакет удовлетворяет критериям правила, то к пакету применяется действие, заданное в правиле. Если к пакету применено правило, то обработка пакета сетевым экраном прекращается. Такой пакет далее не будет сверяться с оставшимися правилами в списке.

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

Если сетевой пакет не удовлетворяет критериям ни одного правила, то пакет блокируется (т.е. отбрасывается без индикации удаленной стороне).

Порядок правил в списке, имеет значение и им можно управлять.

Межсетевой экран в Traffic Inspector Next Generation поддерживает контекстную инспекцию пакетов - режим работы, обозначаемый в англоязычной литературе термином stateful packet inspection. Это означает, что межсетевой экран может может рассматривать не каждый пакет в отдельности, а вместо этого усматривает существование соединений, т.е. последовательности пакетов тесно связанных между собой и составляющих сеанс взаимодействия между парой хостов.

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

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

_images/packet_processing.png

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

С помощью правил межсетевого экрана также осуществляется перенаправление пакетов (redirect) и трансляция сетевых адресов (NAT).

Функционал трансляции сетевых адресов (network address translation) более известен как механизм, позволяющий «раздать Интернет на пользователей внутренней сети». В наиболее общем сценарии, организации выделяется один «белый» IP-адрес, который присваивается WAN-адаптеру шлюза Traffic Inspector Next Generation. Компьютеры внутренней сети настраиваются с использованием диапазона «серых» IP-адресов (IP-адреса из диапазонов, описанных в RFC 1918). Для того, чтобы работать в Интернете, компьютеры внутренней сети должны иметь «белые» IP-адреса. Компьютеры внутренней сети таких адресов не имеют и, если нужно взаимодействовать с компьютерами в Интернете, отсылают свой трафик через шлюз Traffic Inspector Next Generation. Шлюз не только маршрутизируют пакеты, но еще и переписывает адрес источника (и, если необходимо, порт источника) в этих пакетах. За счет подобной обработки пакетов, компьютеры внутренней сети, фактически, работают в Интернете под «белым» IP-адресом WAN-адаптера шлюза. Сам шлюз также сохраняет возможность работать с этого адреса. Устройство Traffic Inspector Next Generation отслеживает соединения и осуществляет все необходимые прямые и обратные преобразования адресов в пакетах.

Псевдонимы

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

Типы псевдонимов

TING предлагает следующие типы псевдонимов:

Хост(-ы)

Одиночные хосты, указынные по IP адресу или по имени FQDN ( mydomain.com или 192.168.1.11 )

Сеть(-и)

Адреса сетей в формате IPv4 или IPv6 (к примеру, 192.0.0.0/24 )

Порт(-ы)

Номер порта или диапазон портов, разделенный двоеточием ( 2000:3000 )

URL (IP адреса)

Список IP адресов, загружаемый единожды с указанного URL

Таблица URL (IP адреса)

Список IP адресов, загружаемый с указанного URL c заданным интервалом

GeoIP

Страна либо целый регион

Внешний (расширенный)

Внешний псевдоним ( только объявление )

Совет

Каждый псевдоним может содержать от одного, до нескольких значений

_images/aliases_multi_rec.png

Флаг Статистические данные позволяет в дальнейшем просмотреть статистические данные по использованию данного псевдонима в разделе диагностики pfTables

Хосты

Хосты могут вводиться как одиночными IP адресами, так и доменными именами в формате FQDN. При использовании доменного имени происходит периодический его резолвинг (по умолчанию каждые 300с.)

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

_images/aliases_single_host.png

Сети

Сети указываются в формате CIDR. Используются списки сетей IPv4 и IPv6. Сети с масками /32 и /128 соответствуют одиночным хостам соответственно.

Порты

Указываются одиночные порты, либо диапазоны портов, разделенные двоеточием, к примеру 2000:3000 будет соответствовать диапазону портов от 2000 до 3000.

URL / Таблицы URL

Списки IP адресов, загружаемые с удаленных сайтов. Вариант URL загружает список IP однократно, Таблицы URL будет загружать списки IP адресов с заданным интервалом.

GeoIP

Данный вид псевдонимов предназначен для создания правил межсетевого экрана на основе принадлежности адреса отправителя или получателя конкретной стране или региону.

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

Для это выполние следующие шаги:

На странице Межсетевой экран ‣ Псевдонимы перейдите на закладку Настройки GeoIP.

В поле URL впишите ссылку https://geoip.smart-soft.ru/api/v1/geo/region

Нажмите Применить

Теперь для создания псевдонима GeoIP вам необходимо всего лишь выбрать данный тип псевдонима и указать нужный регион и страну.

Внешние пвевдонимы

Содержимое Внешних псевдонимов не изменяется посредством WEB интерфейса. В данном разделе выполняется только объявление псевдонима для дальнейшего использования его в правилах межсетевого экрана. Наполнение содержимого данного псевдонима предполагается внешними скриптами.

Группировка псевдонимов

Для псевдонимов типа Хост и Сети допускается группировка в отдельные псевдонимы. Выполнение группировки облегчает управление псевдонимами и написание правил межсетевого экрана.

К примеру, у вас есть два пула серверов к которым должны применяться разные правила на одном этапе и одно общее правило на другом. В таком случае удобно сгрупировать сервера в псевдонимы следующим образом:

для индивидуального применения создать отдельные пулы:

_images/aliases_pool_ab.png

для общего применения создать общий пул:

_images/aliases_pool.png

Использование псевдонимов в правилах межсетевого экрана

Созданные псевдонимы вы можете использовать в качестве Отправителя либо Получателя при создании правил фильтрования, NAT, преадресации портов.

Импорт/Экспорт

В межсетевом экране ТИНГ предусмотрен механизм импорта/экспорта псевдонимов. Для этого не закладке Псевдонимы необходимо воспользоваться соответствующими кнопками (Скачать/Закачать) в правом нижнем углу.

_images/aliases_import_export.png

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

Преднастроенные правила

По умолчанию, межсетевой экран преднастроен таким образом, что:

  1. блокирует любое несанкционированное обращение со стороны Интернета к самому устройству TING и любой машине во внутренней сети

  2. разрешает пользователям внутренней сети беспрепятственно обращаться к компьютерам в Интернет

  3. обеспечивает раздачу Интернета на пользователей внутренней сети (функционал NAT)

  4. защищает пользователя от самоблокировки при доступе по веб-интерфейсу или SSH

За (1) отвечает отсутствие разрешающих правил в разделе Межсетевой экран -> Правила на вкладке WAN.

За (2) отвечают преднастроенные правила

Default allow LAN to any rule
Default allow LAN IPv6 to any rule

в разделе Межсетевой экран -> Правила на вкладке LAN , благодаря которым, из внутренней сети разрешен любой доступ как на сам шлюз (LAN-адаптер шлюза), так и в Интернет. Любой ответный трафик из Интернета также свободно пропускается межсетевым экраном.

За (3) отвечают автоматически создаваемые правила в разделе Межсетевой экран -> NAT -> Исходящий.

За (4) отвечает преднастроенное Правило антиблокировки в разделе Межсетевой экран -> Правила на вкладке LAN.

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

Оно не допускает перемещения и удаления, и разрешает доступ по TCP-портам 22 (SSH), 80 (HTTP), 443 (HTTPS).

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

Также, Другое преднастроенное Правило антиблокировки находится в разделе Межсетевой экран -> NAT -> Переадресация портов.

Данное правило также располагается вверху списка, оно не допускает перемешещения и удаления, и запрешает редирект для TCP-портов 22 (SSH), 80 (HTTP), 443 (HTTPS).

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

Создание правил

Создание правил может потребоваться, если нужно:

  • открыть доступ на устройство TING со стороны сети Интернет

  • запретить пользователям внутренней сети обращаться в сеть Интернет по IP-адресу / протоколу / порту

  • предоставить доступ из Интернета к службам, выполняемым на хостах во внутренней LAN-сети (проброс портов)

Доступ на устройство TING со стороны сети Интернет

Для примера, разрешим подключение к шлюзу Traffic Inspector Next Generation со стороны WAN-адаптера по протоколу SSH.

Пройдите в раздел Межсетевой экран -> Правила, вкладка WAN. Кликните на значок + Добавить для создания нового правила. Cоздайте правило со следующими настройками:

Действие

Разрешение

Интерфейс

WAN

Версия TCP/IP

IPv4

Протокол

TCP

Отправитель

Любой

Получатель

WAN адрес

Диапазон портов назначения

SSH

Описание

Правило для разрешения подключений по SSH со стороны Интернета

Нажмите Сохранить для применения настроек.


Запрет на обращение в сеть Интернет

Для примера, запретим пользователям внутренней сети обращаться в Интернет по протоколу HTTPS.

Пройдите в раздел Межсетевой экран -> Правила, вкладка LAN. Кликните на значок + Добавить для создания нового правила. Cоздайте правило со следующими настройками:

Действие

Запрет

Интерфейс

LAN

Версия TCP/IP

IPv4

Протокол

TCP

Отправитель

LAN сеть

Получатель

Любой

Диапазон портов назначения

HTTPS

Описание

Правило для запрета обращения в Интернет по протоколу HTTPS

Нажмите Сохранить для применения настроек.


Проброс портов

Механизм NAT позволяет множеству компьютеров работать в Интернет под одним «белым» IP-адресом. С другой стороны, возможность обращения к компьютерам внутренней сети из Интернета затруднена и требует дополнительной настройки, которая известна как «проброс портов».

Для примера, разрешим доступ к веб-сайту во внутренней сети со стороны Интернета. Веб-сайт работает на компьютере с IP-адресом 192.168.1.80 и слушает порт 80.

Пройдите в раздел Межсетевой экран -> NAT -> Переадресация. Кликните на кнопку + Добавить в верхнем правом для создания нового правила. Cоздайте правило со следующими настройками:

Интерфейс

WAN

Версия TCP/IP

IPv4

Протокол

TCP

Отправитель

любой

Получатель

WAN адрес

Диапазон портов назначения

HTTP - HTTP

Адрес перенаправления

192.168.1.80

Порт перенаправления

HTTP

Описание

Публикация веб-сервера в Интернет

Зеркальный NAT

Включить (чистый NAT)

Ассоциированное правило сетевого экрана

Добавить ассоциированное правило


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

Приводим пример создания дополнительного правила вручную для нашего сценария. Пройдите в раздел Межсетевой экран -> Правила, вкладка WAN. Кликните на значок + Добавить для создания нового правила. Cоздайте правило со следующими настройками:

Действие

Разрешение

Интерфейс

WAN

Версия TCP/IP

IPv4

Протокол

TCP

Источник

Любой

Назначение

192.168.1.80

Диапазон портов назначения

80 – 80

Описание

Правило для разрешения преобразованного трафика

Теперь, пользователи из Интернета смогут обращаться на <IP-адрес WAN-адаптера:порт 80> и будут переадресовываться на машину во внутренней сети, т.е. на <192.168.1.80:80>.

Категории.

Данный функционал предназначен для облегчения восприятия отображения правил межсетевого экрана.

Логика использования Категорий следующая:

  1. Вы создаете различные категории, по которым хотите отображать правила.

    Для создания категории перейдите в раздел Межсетевой экран -> Категории

    Кликните на значок + для создания новой категории.

    Выберите имя и цвет создаваемой категории.

    _images/firewall_nat_create_category.png
  2. При создании правила вы выбираете категорию, к которой данное правило относится.

    Для этого при создании либо редактировании правила, в поле Категория выберите ранее созданную категорию.

  3. При просмотре правил в таких разделах, как NAT, Правила, вы можете с помощью селектора Выберите категорию выбрать правила для отображения из нужной категории. [1]

    _images/firewall_nat_select_category_for_view.png

    Примечание

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


Диагностика.

В данном разделе находится разнообразная сетевая информация и статистические данные.

  • pfInfo

    Детальная статистика работы межсетевого экрана.

  • pfTop

    В данном разделе отобразается активная информация о работе межсетевого экрана: сотояние счеткиков, правил и др.

  • pfTables

    В данном разделе можно просмотреть содержимое таблиц межсетевого экрана.

  • Снимок состояний

    В данном разделе можно с помощью фильтра найти нужное состояние и удалить его. [2]

  • Сброс состояний

    В данном разделе можно сбросить все активные состояния, отслеживаемые межсетевым экраном. [2]

  • Сводка состояний

    Просмотр состояний с различной сортировкой.