2.7 Сетевые политики ПК «Tionix – Сервер безопасности»

Настройка сетевых политик в системе проходит в две стадии:

  1. Подготовительная часть после аутентификации.
  2. Применение правил контура при запуске.

Подготовительная часть представляет собой базовую часть правил iptables и применима, как к настройке межсетевого экрана, так и к настройкам маршрутизации. Приведена в виде текстового поля, для удобства, она подставляется на клиенте (автоматически).

Синтаксис допустимых вводимых данных поддерживает комментарии (строки-комментарии, начинающиеся с символа решетки – #).

Базовые команды по настройке iptables:

# очистка правил
iptables -F

# политики по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# разрешить root любые подключения, -I добавить правило в начало
iptables -I INPUT -m owner --uid-owner root -j ACCEPT
iptables -I OUTPUT -m owner --uid-owner root -j ACCEPT

# разрешить пакеты соединений, которые были помечены как ESTABLISHED
(уже установленные соединения) и RELATED (пакеты связанных соединений, например icmp ответ на udp пакет)
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

При запуске контура к нему применяются настройки iptables, привязанные к соответствующему контуру.

Токен $CONT_UID сконвертируется в правило для привязки к соответствующему пользователю/контуру. Пример:

iptables -I OUTPUT $CONT_UID -p tcp -d 192.168.1.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT

Данное правило будет применяться только для соединений данного контура:

iptables -I OUTPUT -p tcp -d 192.168.1.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT

Если необходимо применить правило глобально:

# добавить правило в конец цепочки chain, возможный вид правила для входящего трафика
iptables -A <chain> -i <interface> -p <protocol (tcp/udp)> -s <source> --dport <port no.>  -j <target>

# добавить правило в начало, возможный вид правила для входящего трафика
iptables -I <chain> -i <interface> -p <protocol (tcp/udp)> -s <source> --dport <port no.>  -j <target>

Возможные параметры правил:

-s <ip>[/<mask>] | -d <ip>[/<mask>]
-sport <port> | -dport <port> | -m multiport --sports <port>[,<port>...] | -m multiport --dports <port>[,<port>...] | -m multiport --ports port[,port|,port:port]
-p all|tcp|udp|sctp|icmp|icmpv6
-i <interface> | -o <interface>
-m state --state NEW,ESTABLISHED,RELATED | -m conntrack --ctstate NEW,ESTABLISHED,RELATED

# эквивалентны
$CONT # правило только для текущего контура / контейнера

Примечание.

multiport поддерживает до 15 портов, интервал port:port счиатется за 2.

Администратор имеет возможность определить для субъекта доступа типа «Контейнер» право использования (приема и передачи сетевого трафика) объекта доступа типа «Сетевой интерфейс». Это дает возможность разным контейнерам иметь непересекающийся доступ к различным сегментам вычислительной сети и фильтровать сетевой трафик по сетевым адресам узлов, протоколам, сетевым портам. Реализуется следующей настройкой:

# разрешить контуру создавать подключения с указанного сетевого адреса/подсети
iptables -I OUTPUT $CONT -p tcp -s 192.168.1.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# разрешить контуру создавать подключения с указанного сетевого адреса
iptables -I OUTPUT $CONT -p tcp -s 192.168.1.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

«Tionix VDI Security» обеспечивает управление информационными потоками при передаче информаци между устройствами и сегментами в рамках вычислительной сети, в которой оно функционирует.

Фильтрации подлежат информационные потоки, передаваемые посредством различных сетевых интерфейсов СВТ, на котором функционирует «Tionix VDI Security», в соответствии с правилами управления потоками, установленными администратором.

«Tionix VDI Security» разрешает передачу информации в вычислительной сети только по маршруту, установленному администратором.

«Tionix VDI Security» разрешает сетевой поток между управляемым субъектом и управляемой информацией посредством управляемой операции, если сетевые адреса узлов отправителя и получателя находится в атрибутах безопасности контейнера и сетевой протокол, транспортный протокол, порты источника и получателя находятся в списке разрешенных для комбинации «сетевой адрес узла отправителя и получателя» в атрибутах безопасности контейнера.

Правила управления информационными потоками должны включать следующие атрибуты безопасности:

Отправитель - сетевой адрес узла отправителя, идентификатор контейнера:

(-s <ip>, -sport <port>, $CONT)

Получатель - сетевой адрес узла получателя, идентификатор контейнера:

(-d <ip>, -dport <port>, $CONT)

Контейнер - сетевой адрес интерфейса:

(-s <ip> для OUTPUT, -d <ip> для INPUT, $CONT)

«Tionix VDI Security» блокирует передачу защищаемой информации, сетевые запросы и трафик, несанкционированно исходящие или входящие в сегменты вычислительной сети, подключаемые к сетевым интерфейсам СВТ, на котором установлен ПК «Tionix - Терминал». Обеспечивается значением DROP политики по умолчанию и отключенным ip forward.

«Tionix VDI Security» осуществляет фильтрацию сетевого потока на основе задания следующих правил управления доступом:

  1. Определение и идентификация объектов типа «Сетевой интерфейс» для терминалов и контейнеров.
  2. Определение параметров сетевых интерфейсов (IP-адрес, маска сети, IP-адрес шлюза, IP-адрес сервера безопасности, диапазон допустимых для взаимодействия IP-адресов сегмента, протокол, сетевые порты), разрешенных для взаимодействия по данному интерфейсу.

У сетевого интерфейса есть наборов параметров:

  1. IP-адрес, маска сети – задаются на этапе конфигурирования терминала.
  2. IP-адрес шлюза (маршрут default) – задается на этапе конфигурирования терминала (указывается явно в конфигурации Static, либо автоматически по DHCP), либо на этапе применения политик маршрутизации после аутентификации (на этом этапе его можно изменить).

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

Задание правил для субъектов доступа типа «Контейнер», разрешающих доступ к объектам типа «Сетевой интерфейс» – через правила разрешить исходящий трафик для контура, например:

iptables -I OUTPUT $CONT -s 192.168.1.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Задание правил для пользователей, разрешающих доступ к объектам типа «Контейнер» - назначение контура пользователю в интерфейсе администратора.

«Tionix VDI Security» обеспечивает невозможность доступа к информации, передаваемой различными сетевыми интерфейсами, из контейнеров, не имеющих права доступа к данным сетевым интерфейсам, или с сетевыми параметрами, не определенными как допустимые. Реализуется тем, что чтение, прямой доступ к сетевым интерфейсам и конфигурирование сетевых политик на терминальном клиенте доступны только привилегированным пользователям ОС.

«Tionix VDI Security» предоставляет возможность разбиения вычислительной сети на сегменты (сегментирование информационной системы) и обеспечивает защиту периметров сегментов.

Сегментирование проводится посредством подключения различных сегментов сети к различным физических сетевым интерфейсам терминальной станции и назначением каждого интерфейса отдельным контейнерам при работе ПК «Tionix - Терминал».

«Tionix VDI Security» должно обеспечивать невозможность передачи информации между контейнерами, функционирующими на одном СВТ. Сегментирование обеспечивает возможность разделения информационной системы на сегменты, имеющие различные классы защищенности.

Реализуется такими настройками как:

а) запрет на передачу трафика (ip forward);

б) разрешение работы разных контуров с разными сетевыми диапазонами.

Пример настройки

Ограничение на используемые сетевой интерфейс для исходящего трафика для конутра 1:

iptables -I OUTPUT $CONT -s 192.168.1.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Для контура 2:

iptables -I OUTPUT $CONT -s 192.168.3.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Разрешение для контура на взаимодействие только с узлами в локальной сети:

iptables -I OUTPUT $CONT ! -s 192.168.1.2 -j DROP
iptables -I OUTPUT $CONT ! -d 192.168.1.2/24 -j DROP

При сегментировании сети обеспечена защита периметров сегментов сети в соответствии с мерами защиты УПД.3 и ЗИС.23 (фильтрация iptables, маршрутизация ip route, изменение маршрута передачи, запись во временное хранилище до принятия решения/до разрешения передачи).

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

Пример правила, которое может выполнять данную функцию – перенаправление соединений на 443 порт к другому узлу локальной сети, представлен ниже:

iptables -A PREROUTING -p tcp -в 192.168.3.2 --dport 443 -m state --state NEW -j
DNAT --to-destination 192.168.1.41:443