EXAMPLES OF USING STATEFUL FIREWALL

Research article
DOI:
https://doi.org/10.18454/IRJ.2016.52.010
Issue: № 10 (52), 2016
Published:
2016/10/17
PDF

Кулиш А.В.

Аспирант, Санкт - Петербургский горный университет

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ МЕЖСЕТЕВОГО ЭКРАНА С СОХРАНЕНИЕМ СОСТОЯНИЯ

Аннотация

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

Ключевые слова: межсетевой экран, с сохранением состояния, без сохранения состояния, FTP-протокол, исходящий пакет.

Kulish A.V.

Postgraduate student, Saint - Petersburg Mining University

EXAMPLES OF USING STATEFUL FIREWALL

Annotation

In this paper we propose a model example of using a firewall with stateful.  In this example, a stateful firewall is a set of variables, called the state of the  firewall, which is used to store some packets received previously and to keep in  mind in the near future. Each firewall with stateful consists of two sections: in view of the persistence and stateless. This work is devoted to the verification of the model firewall with stateful tracking of outgoing packets and to monitor FTP -packages.

Keywords: firewall, stateful, stateless, FTP-protocol, outbound packet. Введение

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

В этой статье предлагаются примеры использования модели stateful межсетевого экрана. Целью данной работы является проверка работы модели stateful межсетевого экрана для отслеживания исходящих пакетов и для отслеживания FTP-пакетов.

Модель межсетевого экрана

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

21-09-2016-10-50-38

Рис.1 - Межсетевой экран для частной сети

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

Примеры межсетевого экрана

В этом разделе будут показаны два примера stateful межсетевых экранов.

Пример I: Отслеживание исходящих пакетов

Предполагается, что требования, предъявляемые к межсетевому экрану на рисунке 1 следующие:

  1. Любой пакет от внешнего злонамеренного домена 192.168.0.0/16 должен быть отброшен
  2. Почтовый сервер с IP-адресом 192.1.2.3, должен иметь возможность отправлять и получать электронную почту, но трафик, не относящийся к электронной почте не должен допускаться к почтовому серверу.
  3. Любой пакет с удаленного хоста на локальный хост, который не является почтовым сервером, отбрасывается, если локальный хост уже не отправил пакет на удаленный хост ранее. Другими словами, связь между локальным и удаленным хостом может быть установлена только локальным хостом.
  21-09-2016-10-52-07

Рис. 2 - Отслеживание исходящих пакетов

В этом примере предполагается, что каждый пакет имеет шесть полей. Четыре из них обсуждались ранее: I (интерфейс), S (IP-адрес источника), D (IP-адрес назначения) и P (тип протокола). Остальные два являются следующими:

Таблица 1

Имя Значение Область
SP Порт источника [0,216)
DP Порт назначения [0,216)
  На рисунке 2 показана спецификация этого межсетевого экрана. Его stateful секция состоит из одного правила I ∈ {0} ∧ S = D’ ∧ D = S’ ∧ SP = DP’ ∧ DP = SP’ ∧ P = P’ → тег: = 1. Смысл этого правила заключается в следующем: если р - входящий пакет (обозначается I ∈ {0}), и существует пакет p’ в таком состоянии, что следует пяти условиям:
  1. адрес источника р равен адресу назначения р’ (обозначается S = D’), 2. адрес назначения р равен адресу источника р’ (обозначается D = S’), 3. номер порта источника р равен номеру порта назначения р’ (обозначается SP = DP’), 4. номер порта получателя р равен номеру порта источника р’ (обозначаемое DP = SP’), 5. тип протокола р равно, что р’ (обозначается Р = Р’),

после тегу поля пакета р присваивается 1; в противном случае тег поля пакета р сохраняет значение 0.

Раздел stateless данного межсетевого экрана состоит из семи правил от r1 до r7. Смысл правила r2 выглядит следующим образом: любой исходящий пакет из локального хоста, кроме почтового сервера может перейти к месту назначения, также этот пакет, который представляет собой кортеж из шести полей (а именно I, S, D, P, SP, DP), вместе со своим значением тега, вставляется в состояние межсетевого экрана. Так как stateful часть этого межсетевого экрана исследует только пять полей (а именно S, D, P, SP, и DP) пакетов в состоянии этого межсетевого экрана, нужно только вставить эти пять полей пакета в состояние.

Пример 2: Отслеживание FTP протокола

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

Двойная функция подключения усложняет отслеживание FTP. FTP использует два соединения TCP для передачи файлов между двумя хостами: управляющее соединение и подключение для передачи данных. Когда клиент хочет подключиться к удаленному серверу FTP, он использует один из имеющихся номеров портов, скажем х, чтобы подключиться к серверу к известному порту 21. Это соединение между клиентом порта х и портом сервера 21, называется управляющее соединение. FTP использует управляющее соединение для передачи команд FTP, такие как CWD (изменить рабочий каталог) и PORT (указать номер порта, который клиент будет использовать для передачи данных). После этого управляющее соединение строится между клиентом и сервером, клиент посылает команду PORT со значением у, где у представляет собой доступный порт клиента, на сервер через это соединение управления. После того, как команда PORT получена, сервер использует известный порт 20 для подключения обратно к порту у клиента. Это соединение между портом клиента у и порта 20 сервера, называется соединение для передачи данных. Управляющее соединение инициируется клиентом FTP и соединение данных инициируется FTP-сервером. Это способ двойной связи протокола FTP показан на рисунке 3.

21-09-2016-10-55-03

21-09-2016-10-56-11

Рис. 3 - Протокол FTP

Этот межсетевой экран показан на рисунке 3. В этом примере, предполагается, что каждый пакет имеет восемь полей. Шесть из них уже указаны ранее: I (интерфейс), S (источник IP-адреса), D (IP-адрес назначения), P (тип протокола), SP (порт источника) и DP (порт назначения). Остальными двумя являются следующие:

Таблица 2

Имя Значение Область
T Тип приложения [0,1]
A Данные приложения [0,216)

Для пакета, если значение его поля Т равно 1, то значение его поля А это номер порта команды порта; в противном случае поле А содержит другую управляющую команду FTP.

В этом примере, межсетевой экран, принимает следующие четыре типа пакетов: исходящие TCP-пакеты на порт 21, входящие TCP-пакеты из порта 21, входящие TCP-пакеты из порта 20 и исходящие TCP-пакетов на порт 20. Далее рассмотрены каждый из этих четырех типов пакетов.

  1. Исходящие TCP-пакеты на порт 21: Любой пакет р этого типа принимается и вводится в состояние (см. правила r1 на рисунке 3). 2. Входящие пакеты TCP из порта 21: Пакет р этого типа принимается, если существует пакет р’ в таком состоянии, что IP-адрес источника р, равен IP-адресу получателя р’, IP-адрес получателя р, равен IP-адресу источника р’, номер порта получателя равен р, номер порта источника p’, и номер порта p’ назначения 21 (см три правила r1, R1 и r5 на рисунке 3). 3. Входящие пакеты TCP из порта 20: Пакет р этого типа принимается тогда и только тогда существует пакет p’ в таком состоянии, что IP-адрес источника р, равен IP-адресу назначения p’, IP-адрес назначения р, равен IP-адресу источника р’, пункта назначения р’ в номер порта 21, p’ содержит команду PORT и порт назначения р, равно числу портов в этом порту команды р’ (см. три правила r1, R2 и r4 на рисунке 3). 4. Исходящие TCP-пакеты на порт 20: Пакет р этого типа принимается, тогда и только тогда, когда существует пакет р’ в таком состоянии, что IP-адрес источника р, равен IP-адресу получателя р’, IP-адрес получателя р, равен IP адресу источника р’, номер порта источника p, равен номеру порта назначения р’, номер порта источника 20 (см. три правила r4, R3 и r2 на рисунке 3).

Заключение

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

Литература

  1. E. Al-Shaer and H. Hamed. Discovery of policy anomalies in distributed firewalls. In IEEE INFOCOM’04, pages 2605–2616, March 2004.
  2. M. G. Gouda and A. X. Liu. Firewall design: consistency, completeness and compactness. In Proc. of the 24th IEEE International Conference on Distributed Computing Systems (ICDCS’04), pages 320–327.
  3. Y . Bartal, A. J. Mayer, K. Nissim, and A. Wool. Firmato: A novel firewall management toolkit. Technical Report EES2003-1, Dept. of Electrical Engineering Systems, Tel Aviv University, 2003.
  4. CheckPoint FireWall-1. http://www.checkpoint.com/. Date of access: March 25, 2005.
  5. Netfilter/IPTables. http://www.netfilter.org/. Date of access: March 25, 2005.