Перейти к содержанию

Обзор межсетевого экрана#

Функциональность межсетевого экрана Numa Edge#

Функциональность межсетевого экрана предназначена для анализа и фильтрации пакетов IP между сетевыми интерфейсами. Ее наиболее частое применение – защита трафика между внутренней сетью и Интернетом. Она позволяет фильтровать пакеты на основе их характеристик и выполнять действия над пакетами, соответствующими правилу. Функциональность межсетевого экрана Numa Edge предоставляет следующие возможности:

  • Фильтрация пакетов для транзитного (forwarded) трафика, проходящего через маршрутизатор, при помощи ключевых слов in и out на интерфейсе.
  • Фильтрация пакетов для трафика, предназначенного самому маршрутизатору, при помощи ключевого слова local.
  • Выборка трафика для правил при помощи фильтров.
  • Перенаправление сетевого трафика IPv4/IPv6, соответствующего заданным критериям правила, на указанный шлюз.

В межсетевом экране Numa Edge представлена проверка пакетов с поддержкой состояния, так что он может обеспечить существенную дополнительную защиту в многоуровневой стратегии безопасности. Система может перехватывать активность в сети, относить ее к категориям в соответствии с настроенной в ней базой данных разрешенного трафика и разрешать или отвергать попытку.

Определение политик межсетевого экранирования#

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

Правила политик межсетевого экрана#

Правила политик межсетевого экранирования используют фильтры, в которых указываются условия соответствия для трафика. Правило определяет действия, которые должны быть предприняты, если условия соответствия, прописанные в фильтрах, выполняются. Соответствие трафика может проверяться фильтрами по ряду характеристик, в том числе по IP-адресу отправителя, IP-адресу получателя, порту отправителя, порту получателя, протоколу IP и типу ICMP. Для настройки правил сетевого трафика IPv4 используется ветвь конфигурации policy firewall. Для настройки правил сетевого трафика IPv6 используется ветвь конфигурации policy firewall-ipv6.

Правила выполняются последовательно в соответствии с номером правила. Если трафик соответствует характеристикам, указанным в правиле, то выполняется действие правила; если не соответствует, то система переходит к следующему правилу.

Действие может быть одним из следующих:

  • Принять (accept). Трафик разрешается и пересылается.
  • Игнорировать (drop). Трафик отбрасывается без каких бы то ни было действий.
  • Отвергнуть (reject). Трафик отбрасывается со сбросом TCP.
  • Проверить (inspect). Трафик обрабатывается системой защиты от вторжений (IPS).
  • Задержать (tarpit). Подвесить входящее TCP соединение
  • Обмануть (delude). Создать видимость открытого TCP порта.

По умолчанию в любой политике межсетевого экранирования есть неявное окончательное действие drop (сброс). Это значит, что трафик, не соответствующий ни одному правилу политики, отбрасывается без каких бы то ни было действий. Действие по умолчанию может быть изменено при помощи команды policy firewall <имя> default-action <действие> для протокола IPv4, либо policy firewall-ipv6 <имя> default-action <действие> для протокола IPv6, соответственно.

Правила исключения#

Следует обратить внимание, что нужно проявлять аккуратность при использовании более чем одного правила «исключения» (то есть правила, в котором используется операция отрицания ("!") для исключения правила из обработки). Проверка соответствия правилам выполняется последовательно, так что последовательность из правил исключения может привести к поведению, отличному от ожидаемого.

Межсетевой экран с поддержкой состояния и отслеживание подключений#

Интерфейс командной строки Numa Edge взаимодействует с системой отслеживания подключений сетевого фильтра, которая является модулем, обеспечивающим отслеживание подключений для различных функций системы, в том числе для межсетевого экрана, NAT и балансировки нагрузки ГВС. В межсетевом экране отслеживание подключений делает возможной проверку пакетов с поддержкой состояния.

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

Параметры поддержки состояния по умолчанию могут быть изменены командами system conntrack table-size <размер> и system conntrack tcp-loose <состояние>.

Применение политик межсетевого экранирования к интерфейсам#

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

  • in (входящий). Если применить политику с использованием ключевого слова in, межсетевой экран будет фильтровать транзитный сетевой трафик, входящий в интерфейс и проходящий через Numa Edge. (Сюда не относится сетевой трафик предназначенный для самого МЭ) С использованием ключевого слова in можно применить один пакетный фильтр.
  • out (исходящий). Если применить политику с использованием ключевого слова out, межсетевой экран будет фильтровать транзитный сетевой трафик, покидающий интерфейс. (Сюда не относятся пакеты, исходящие от самого МЭ). С использованием ключевого слова out можно применить один пакетный фильтр.
  • local (локальный). Если применить политику с использованием ключевого слова local, межсетевой экран будет фильтровать пакеты, предназначенные для Numa Edge, входящие на интерфейсе. С использованием ключевого слова local можно применить один пакетный фильтр.

К интерфейсу может быть применено не более трёх политик межсетевого экранирования: одна с указанием ключевого слова in, одна – с указанием ключевого слова out и одна – с указанием ключевого слова local.

Политики межсетевого экранирования IPv6#

Защита, обеспечиваемая межсетевым экраном, для сайтов, использующих IPv6, очень важна, так как протокол IPv6 не предоставляет функциональности NAT. Таким образом, межсетевой экран является единственным способом защиты сети IPv6.

Следует заметить, что политики межсетевого экранирования задаются для IPv4 и для IPv6 независимо. Пакеты IPv4 не проверяются по правилам в политиках IPv6, и наоборот. Пакеты IPv6 проверяются ТОЛЬКО по правилам в таблице фильтра для IPv6, а пакеты IPv4 проверяются ТОЛЬКО по правилам в таблице фильтра для протокола IPv4.

В общем, поддержка IPv6 для межсетевого экрана параллельна поддержке для межсетевого экрана IPv4. Некоторые параметры, характерные для IPv4, не применяются в политиках межсетевого экранирования IPv6 и наоборот, например:

  • У протокола ICMP есть версия, характерная для IPv6: "ICMP для IPv6". Потому в межсетевом экране IPv6 имеется дополнительное ключевое слово icmpv6 для параметра фильтрации protocol. По той же причине ключевое слово icmp для межсетевого экрана IPv6 не поддерживается.
  • Параметр fragment не поддерживается для межсетевого экрана IPv6, так как фрагментация к IPv6 неприменима.

В IPv4 сопоставление L2-адреса (MAC-адреса сетевого адаптера) с L3-адресом (IP-адресом) в рамках широковещательного домена осуществляется посредством протокола ARP. ARP является протоколом канального уровня и не будет обработан политикой firewall или firewall-ipv6. В IPv6 сопоставление L2-адреса (MAC-адреса сетевого адаптера) с L3-адресом (IP-адресом) в рамках широковещательного домена осуществляется посредством части протоколов из NDP (Neighbor Discovery Protocol). Протоколы NDP используют IPV6. В связи с этим, протоколы, входящие в NDP, будут обработаны политикой firewall-ipv6.

В связи с этим, установка политики policy firewall для направления трафика local никак не повлияет на транзитный трафик IPv4, в то время как установка политики firewall-ipv6 для направления трафика local может полностью блокировать как транзитный трафик, так и локальный IPv6 трафик в связи с тем, что политикой могут быть блокированы запросы на сопоставления L2-адреса (MAC-адреса сетевого адаптера) с L3-адресом (IP-адресом).

Для того, чтобы была возможность сопоставления L2-адреса (MAC-адреса сетевого адаптера) с L3-адресом (IP-адресом) для IPv6 необходимо в политику policy firewall-ipv6 добавить фильтр, первые два правила которого должны выглядеть следующим образом:

1
2
3
4
5
6
7
8
[edit]
admin@edge# set filter-ipv6 HOP-LIMIT-FILTER rule 10 icmpv6 type neighbour-solicitation
[edit]
admin@edge# set filter-ipv6 HOP-LIMIT-FILTER rule 10 protocol icmpv6
[edit]
admin@edge# set filter-ipv6 HOP-LIMIT-FILTER rule 20 icmpv6 type neighbour-advertisement
[edit]
admin@edge# set filter-ipv6 HOP-LIMIT-FILTER rule 20 protocol icmpv6

Взаимодействие между межсетевыми экраном, NAT и маршрутизацией#

Один из наиболее важных моментов, с которыми следует ознакомиться при работе с межсетевым экраном, это порядок обработки различных служб, которые могут быть настроены в Numa Edge. Если порядок обработки не принимается во внимание, полученные результаты могут отличаться от ожидаемых. На рисунке ниже показан поток трафика через межсетевой экран, NAT и службы маршрутизации внутри Numa Edge.

Прохождение-трафика-через-Numa-Edge

Прохождение трафика через Numa Edge

Под блоком "Применение установленных политик маршрутизации трафика" подразумевается Policy-Based-Routing (PBR).

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

Базовая-схема

Базовая схема

Пример 1: прохождение транзитного трафика через Numa Edge; фильтрация транзитного трафика, приходящего на интерфейс#

На рисунке ниже оказаны взаимосвязи между межсетевым экраном, NAT и маршрутизацией в Numa Edge по ходу потока транзитного трафика (проходящего сквозь систему) и политики межсетевого экранирования, применённые к трафику, принимаемому (in) на интерфейсе.

Применение-правил-фильтрации-к-транзитному-трафику

Применение правил фильтрации к транзитному трафику, получаемому на интерфейсе

Настройка, выполненная на Numa Edge (не включает в себя описание DNAT и SNAT):

  1. Определение фильтра трафика FW-dst:
    [edit]
    admin@edge# set filter FW-dst
    
  2. Фильтр FW-dst определяет трафик, получателем которого является 192.168.10.1:
    [edit]
    admin@edge# set filter FW-dst rule 10 destination address 192.168.10.1
    
  3. Фильтр FW-det определяет трафик, относящийся к протоколу TCP:
    [edit]
    admin@edge# set filter FW-dst rule 10 protocol tcp
    
  4. Создание узла конфигурации для политики межсетевого экранирования FW-in, для которой по умолчанию определен запрет на прохождение трафика:
    [edit]
    admin@edge# set policy firewall FW-in default-action drop
    
  5. Создание правила Rule 10 для политики межсетевого экранирования FW-in. Это правило разрешает прохождение трафика, соответствующего только указанным критериям:
    [edit]
    admin@edge# set policy firewall FW-in rule 10 action accept
    
  6. В качестве критериев для правила Rule 10 определено соответствие трафика фильтру FW-dst:
    [edit]
    admin@edge# set policy firewall FW-in rule 10 match filter FW-dst
    
  7. Применение политики межсетевого экранирования FW-in к транзитному входящему трафику интерфейса eth0:
    [edit]
    admin@edge# set interfaces ethernet eth0 policy in firewall FW-in
    
  8. Фиксация настройки:
    [edit]
    admin@edge# commit
    
  9. Просмотр внесенных изменений:
    [edit]
    admin@edge# show   filter FW-dst {
          rule 10 {
             destination {
                address 192.168.10.1
             }
             protocol tcp
          }
       }
       interfaces {
          ethernet eth0 {
             address 192.168.11.254/24
             duplex auto
             mtu 1500
             policy {
                in {
                   firewall FW-in
                }
             }
             speed auto
          }
       }
       ...
       policy {
          firewall FW-in {
             default-action drop
             rule 10 {
                action accept
                match {
                   filter FW-dst
                }
             }
          }
       }
    

Соответствие политикам межсетевого экранирования проверяется после DNAT и решений о маршрутизации, но до SNAT. Именно по этому в качестве адреса получателя указывается адрес, фигурирующий в пакетах после выполнения DNAT.

Пример 2: прохождение транзитного трафика через Numa Edge; фильтрация транзитного трафика, уходящего через интерфейс#

На рисунке ниже показаны взаимосвязи между межсетевым экраном, NAT и маршрутизацией в Numa Edge по ходу потока транзитного трафика (проходящего сквозь систему) и экземпляры межсетевого экрана, применённые к трафику, уходящему (out) через интерфейс.

Применение-правил-фильтрации-к-транзитному-трафику-отправляемому

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

Настройка, выполненная на Numa Edge (не включает в себя описание DNAT и SNAT):

  1. Определение фильтра трафика FW-src:
    [edit]
    admin@edge# set filter FW-src
    
  2. Фильтр FW-src определяет трафик, источником которого является 192.168.11.1:
    [edit]
    admin@edge# set filter FW-src rule 10 source address 192.168.11.1
    
  3. Фильтр FW-src определяет трафик, относящийся к протоколу TCP:
    [edit]
    admin@edge# set filter FW-src rule 10 protocol tcp
    
  4. Создание узла конфигурации для политики межсетевого экранирования FW-out, для которой по умолчанию определен запрет на прохождение трафика:
    [edit]
    admin@edge# set policy firewall FW-out default-action drop
    
  5. Создание правила Rule 10 для политики межсетевого экранирования FW-out. Это правило разрешает прохождение трафика, соответствующего только указанным критериям:
    [edit]
    admin@edge# set policy firewall FW-out rule 10 action accept
    
  6. В качестве критериев для правила Rule 10 определено соответствие трафика фильтру FW-src:
    [edit]
    admin@edge# set policy firewall FW-out rule 10 match filter FW-src
    
  7. Применение политики межсетевого экранирования FW-out к исходящему транзитному трафику интерфейса eth1:
    [edit]
    admin@edge# set interfaces ethernet eth1 policy out firewall FW-out
    
  8. Фиксация настройки:
    [edit]
    admin@edge# commit
    
  9. Просмотр внесенных изменений:
    [edit]
    admin@edge# show   filter FW-src {
          rule 10 {
             source {
                address 192.168.11.1
             }
             protocol tcp
          }
       }
       interfaces {
          ethernet eth1 {
             address 192.168.10.254/24
             duplex auto
             mtu 1500
             policy {
                out {
                   firewall FW-out
                }
             }
             speed auto
          }
       }
       ...
       policy {
          firewall FW-out {
             default-action drop
             rule 10 {
                action accept
                match {
                   filter FW-src
                }
             }
          }
       }
    

Следует заметить, что соответствие политикам межсетевого экранирования проверяется после DNAT и решений о маршрутизации, но до SNAT. Именно по этому в качестве адреса отправителя указывается адрес, фигурирующий в пакетах до выполнения SNAT.

Пример 3: прохождение трафика, направленного в локальную систему, через Numa Edge; его фильтрация при вхождении на интерфейс#

На рисунке ниже показаны взаимосвязи между межсетевым экраном, NAT и маршрутизацией в Numa Edge по ходу потока трафика, приходящего в сам Numa Edge и политики межсетевого экранирования, применённые к локальному (local) трафику на интерфейсе.

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

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

Настройка, выполненная на Numa Edge (не включает в себя описание DNAT и SNAT):

  1. Определение фильтра трафика FW-dst-2:
    [edit]
    admin@edge# set filter FW-dst-2
    
  2. Фильтр FW-dst-2 определяет трафик, получателем которого является 192.168.10.1:
    [edit]
    admin@edge# set filter FW-dst-2 rule 10 destination address 192.168.10.254
    
  3. Фильтр FW-dst-2 определяет трафик, относящийся к протоколу TCP:
    [edit]
    admin@edge# set filter FW-dst-2 rule 10 protocol tcp
    
  4. Создание узла конфигурации для политики межсетевого экранирования FW-local, для которой по умолчанию определен запрет на прохождение трафика:
    [edit]
    admin@edge# set policy firewall FW-local default-action drop
    
  5. Создание правила Rule 10 для политики межсетевого экранирования FW-local. Это правило разрешает прохождение трафика, соответствующего только указанным критериям:
    [edit]
    admin@edge# set policy firewall FW-local rule 10 action accept
    
  6. В качестве критериев для правила Rule 10 определено соответствие трафика фильтру FW-dst-2:
    [edit]
    admin@edge# set policy firewall FW-local rule 10 match filter FW-dst-2
    
  7. Применение политики межсетевого экранирования FW-local к входящему трафику интерфейса eth0, предназначенному для Edge:
    [edit]
    admin@edge# set interfaces ethernet eth0 policy local firewall FW-local
    
  8. Фиксация настройки:
    [edit]
    admin@edge# commit
    
  9. Просмотр внесенных изменений:
    [edit]
    admin@edge# show   filter FW-dst-2 {
          rule 10 {
             destination {
                address 192.168.10.254
             }
             protocol tcp
          }
       }
       interfaces {
          ethernet eth0 {
             address 192.168.11.254/24
             duplex auto
             mtu 1500
             policy {
                local {
                   firewall FW-local
                }
             }
             speed auto
          }
       }
       ...
       policy {
          firewall FW-local {
             default-action drop
             rule 10 {
                action accept
                match {
                   filter FW-dst-2
                }
             }
          }
       }
    

Следует заметить, что соответствие политикам межсетевого экранирования проверяется после DNAT и маршрутизации. В текущем варианте SNAT не выполняется.

Пример 4: прохождение трафика, направленного из локальной системы, через Numa Edge#

На рисунке ниже показаны взаимосвязи между межсетевым экраном, NAT и маршрутизацией в Numa Edge по ходу потока трафика, исходящего из самого Numa Edge.

Прохождение-трафика-направленного-из-локальной-системы

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

Следует отметить, что к сетевому трафику, исходящему из Numa Edge нельзя применить политики межсетевого экранирования. В текущем варианте DNAT не выполняется. Выполняется SNAT для исходящего трафика.