Межсетевой экран и 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

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

В создании данного вида псевдонимов используется внешний ресурс, с которого ТИНГ берет актуальные базы соответствия IP адресов странам.

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

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

  1. Создайте аккаунт.

    Перейдите на страницу внешнего ресурса и выполните регистрацию. В процессе регистрации используйте действительный адрес электронной почты.

  2. Сгенерируйте ключ лицензии:

    После успешной регистрации перейдите в раздел Services ‣ My License Key.

    Нажмите Generate new license key и выполните шаги по генерированию ключа лицензии.

    Примечание

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

  3. Создайте ссылку:

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

    Для этого в ссылке https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=My_License_key&suffix=zip

    необходимо заменить My_License_key на содержимое лицензионного ключа, сгенерированного выше.

    Совет

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

  4. Настройка плагина:

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

    В поле URL впишите ссылку с лицензионным ключом, созданную в п.3

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

Теперь для создания псевдонима 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>.


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

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

  • pfInfo

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

  • pfTop

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

  • pfTables

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

  • Сокеты

    В данном разделе можно просмотреть состояние активных сокетов.

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

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

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

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

    1(1,2)

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

    Используйте сброс состояний с осторожностью.

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

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