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

Описание#

ПО Факел использует для фильтрации сетевых пакетов стандартную подсистему netfilter, которая интегрирована в Linux.

Межсетевой экран предоставляет возможность создания групп портов, адресов и подсетей с помощью механизма ipset, а также возможность задания политики фильтрации, основанной на интерфейсах или зонах. Межсетевой экран в составе ПО Факел предоставляет возможность использования в правилах фильтрации групп - списков IP адресов, подсетей или портов. После создания группа может быть указана в правилах в качестве отправителя или получателя. Записи могут добавляться в группу или удалятся из нее без необходимости изменения самой группы или правил, в которых она указана.

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

Межсетевой экран в части политики фильтрации оперирует такими объектами как in, out и local. Пользователи, знакомые с подсистемой netfilter часто ошибочно ассоциируют объект in с цепочкой INPUT, а объект out - с цепочкой OUTPUT. В действительности же оба этих объекта ассоциированы с цепочкой FORWARD, но обозначают входящий и исходящий сетевой интерфейс по отношению к проходящему через устройство трафику соответственно. Цепочка INPUT, которая определяет порядок обработки трафика, адресованного локальным сервисам ПО Факел, ассоциирована с объектом local, но с учетом определенного входящего сетевого интерфейса.

Настройка#

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

Пример конфигурации межсетевого экрана:

firewall {
    all-ping enable
    broadcast-ping disable
    config-trap disable
    group {
        network-group BAD-NETWORKS {
            network 198.51.100.0/24
            network 203.0.113.0/24
        }
        network-group GOOD-NETWORKS {
            network 192.0.2.0/24
        }
        port-group BAD-PORTS {
            port 65535
        }
    }
    name FROM-INTERNET {
        default-action accept
        description "From the Internet"
        rule 10 {
            action accept
            description "Authorized Networks"
            protocol all
            source {
                group {
                    network-group GOOD-NETWORKS
                }
            }
        }
        rule 11 {
            action drop
            description "Bad Networks"
            protocol all
            source {
                group {
                    network-group BAD-NETWORKS
                }
            }
        }
        rule 30 {
            action drop
            description "BAD PORTS"
            destination {
                group {
                    port-group BAD-PORTS
                }
            }
            log enable
            protocol all
        }
    }
}
interfaces {
    ethernet eth1 {
        address dhcp
        description OUTSIDE
        duplex auto
        firewall {
            in {
                name FROM-INTERNET
            }
        }
    }
}

Список команд#

Глобальные настройки#

set firewall all-ping enable#

Активирует механизм отправки ответа на каждое сообщение ICMP Echo Request, адресованное локальным сервисам. В случае наличия других правил для блокировки данного трафика ПО Факел не будет отвечать на сообщения ICMP Echo Request.

set firewall all-ping disable#

Отключает механизм отправки ответа на сообщение ICMP Echo Request, адресованное локальным сервисам.

Примечание

Команда firewall all-ping влияет только на локальный трафик и всегда используется для ограничения доступа. По умолчанию ПО Факел при получении сообщения ICMP Echo Request в свой адрес будет отвечать сообщением ICMP Echo Reply до тех пор, пока данный трафик не будет заблокирован с помощью межсетевого экрана.

set firewall broadcast-ping [enable | disable]#

Включает/отключает возможность ответа на широковещательные ICMP сообщения.

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

  • net.ipv4.icmp_echo_ignore_broadcasts

set firewall ip-src-route [enable | disable]#
set firewall ipv6-src-route [enable | disable]#

Включают/отключают возможность приема IP пакетов с опцией Source Route в заголовке.

При использовании команд изменяются значения следующих системных параметров

  • net.ipv4.conf.all.accept_source_route

  • net.ipv6.conf.all.accept_source_route

set firewall receive-redirects [enable | disable]#
set firewall ipv6-receive-redirects [enable | disable]#

Включают/отключают возможность приема сообщений ICMP Redirect.

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

  • net.ipv4.conf.all.accept_redirects

  • net.ipv6.conf.all.accept_redirects

set firewall send-redirects [enable | disable]#

Включает/отключает возможность передачи сообщений ICMP Reidrect.

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

  • net.ipv4.conf.all.send_redirects

set firewall log-martians [enable | disable]#

Включает/отключает регистрацию прохождения видимых в общих сетях (Интернет) IPv4 пакетов - Martian Packets.

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

  • net.ipv4.conf.all.log_martians

set firewall source-validation [strict | loose | disable]#

Включает/отключает возможность валидации IPv4 адреса отправителя - фактически защиту от подмены IP адресов - IP Spoofing.

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

  • net.ipv4.conf.all.rp_filter

set firewall syn-cookies [enable | disable]#

Включает/отключает возможность использования механизма TCP SYN Cookies, используемого для противодействия DoS атакам типа SYN Flood.

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

  • net.ipv4.tcp_syncookies

set firewall twa-hazards-protection [enable | disable]#

Обеспечивает соответствие ПО Факел положениям спецификации RFC 1337.

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

  • net.ipv4.tcp_rfc1337

set firewall state-policy established action [accept | drop | reject]#

Определяет политику фильтрации для установленных соединений (соединений, для которых состояние - ESTABLISHED).

set firewall state-policy established log enable#

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

set firewall state-policy invalid action [accept | drop | reject]#

Определяет политику фильтрации для некорректных пакетов - пакетов, не прошедших проверку Packet Sanity.

set firewall state-policy invalid log enable#

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

set firewall state-policy related action [accept | drop | reject]#

Определяет политику фильтрации для связанных соединений (соединений, для которых состояние - RELATED).

set firewall state-policy related log enable#

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

Настройка группы адресов#

Примечание

Группа адресов представляет собой список IP адресов хостов или диапазонов IP адресов.

set firewall group address-group <name> address [address | address range]#

Создает группу <name> IPv4 адресов <address | address range>.

set firewall group ipv6-address-group <name> address <address>#

Создает группу <name> IPv6 адресов <address>.

set firewall group address-group <name> description <text>#

Добавляет текстовое описание <text> для созданной группы адресов IPv4 <name>.

set firewall group ipv6-address-group <name> description <text>#

Добавляет текстовое описание <text> для созданной группы адресов IPv6 <name>.

Настройка группы подсетей#

Примечание

Группа подсетей представляет собой список IP подсетей в нотации CIDR. Определенные адреса могут быть добавлены в качестве 32-разрядного префикса. Если есть необходимость включить в группу одновременно адреса хостов и адреса подсетей, то рекомендуется использовать именно данный тип группы.

set firewall group network-group <name> network <CIDR>#

Создает группу <name> подсетей IPv4 <CIDR>.

set firewall group ipv6-network-group <name> network <CIDR>#

Создает группу <name> подсетей IPv6 <CIDR>.

set firewall group network-group <name> description <text>#

Добавляет текстовое описание <text> для созданной группы подсетей IPv4 <name>.

set firewall group ipv6-network-group <name> description <text>#

Добавляет текстовое описание <text> для созданной группы подсетей IPv6 <name>.

Настройка группы портов#

Примечание

Группы портов представляют собой список только номеров портов, без указания протокола. Группы портов могут быть указаны в правиле фильтрации только совместно с протоколами TCP и UDP. Рекомендуется отдельно группировать порты для протоколов TCP и UDP, чтобы избежать случайной блокировки портов, доступ к которым необходимо сохранить. Диапазон номеров портов может быть определен с помощью символа -.

set firewall group port-group <name> port [portname | portnumber | startport-endport]#

Создает группу портов. Значение параметра portname должно быть символьным именем сервиса из списка, определенного в файле /etc/services, например http.

Пример работы команды set firewall group port-group <name> port [portname | portnumber | startport-endport]:

set firewall group port-group PORT-TCP-SERVER1 port http
set firewall group port-group PORT-TCP-SERVER1 port 443
set firewall group port-group PORT-TCP-SERVER1 port 5000-5010
set firewall group port-group <name> description <text>#

Добавляет текстовое описание <text> для созданной группы портов <name>.

Настройка набора правил#

Примечание

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

set firewall name <name> description <text>#

Добавляет текстовое описание <text> для набора привил фильтрации трафика IPv4 <name>.

set firewall ipv6-name <name> description <text>#

Добавляет текстовое описание <text> для набора привил фильтрации трафика IPv6 <name>.

set firewall name <name> default-action [drop | reject | accept]#

Задает действие по умолчанию для созданного набора правил фильтрации трафика IPv4 - действия, которое будет применено к пакету в случае, если ни одно правило не подошло.

set firewall ipv6-name <name> default-action [drop | reject | accept]#

Задает действие по умолчанию для созданного набора правил фильтрации трафика IPv6 - действия, которое будет применено к пакету в случае, если ни одно правило не подошло.

set firewall name <name> enable-default-log#

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

set firewall ipv6-name <name> enable-default-log#

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

set firewall name <name> rule <1-999999> action [drop | reject | accept]#

Задет действие для выбранного правила <1-999999> из созданного набора правил фильтрации трафика IPv4 <name> .

set firewall ipv6-name <name> rule <1-999999> action [drop | reject | accept]#

Задет действие для выбранного правила <1-999999> из созданного набора правил фильтрации трафика IPv6 <name> .

set firewall name <name> rule <1-999999> description <text>#

Добавляет текстовое описание <text> для выбранного правила <1-999999> из набора правил фильтрации трафика IPv4 <name>.

set firewall ipv6-name <name> rule <1-999999> description <text>#

Добавляет текстовое описание <text> для выбранного правила <1-999999> из набора правил фильтрации трафика IPv6 <name>.

set firewall name <name> rule <1-999999> log [disable | enable]#

Включает запись событий правил фильтрации трафика IPv4, для выбранного правила <1-999999> из созданного набора <name>.

set firewall ipv6-name <name> rule <1-999999> log [disable | enable]#

Включает запись событий правил фильтрации трафика IPv6, для выбранного правила <1-999999> из созданного набора <name>.

set firewall name <name> rule <1-999999> disable#

Отключает выбранное правило <1-999999> из набора правил фильтрации трафика IPv4 <name>. После отключения, правило фильтрации остается в конфигурации операционной системы.

set firewall ipv6-name <name> rule <1-999999> disable#

Отключает выбранное правило <1-999999> из набора правил фильтрации трафика IPv6 <name>. После отключения, правило фильтрации остается в конфигурации операционной системы.

Классификатор правила#

Примечание

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

set firewall name <name> rule <1-999999> source address [address | addressrange | CIDR]#

Задает классификатор проверки соответствия адреса источника [address | addressrange | CIDR] для правила фильтрации трафика IPv4 <1-999999>. Можно задавать отрицание (инверсию) с помощью символа !.

set firewall name <name> rule <1-999999> destination address [address | addressrange | CIDR]#

Задает классификатор проверки соответствия адреса получателя [address | addressrange | CIDR] для правила фильтрации трафика IPv4 <1-999999>. Можно задавать отрицание (инверсию) с помощью символа !.

set firewall ipv6-name <name> rule <1-999999> source address [address | addressrange | CIDR]#

Задает классификатор проверки соответствия адреса источника [address | addressrange | CIDR] для правила фильтрации трафика IPv6 <1-999999>. Можно задавать отрицание (инверсию) с помощью символа !.

set firewall ipv6-name <name> rule <1-999999> destination address [address | addressrange | CIDR]#

Задает классификатор проверки соответствия адреса получателя [address | addressrange | CIDR] для правила фильтрации трафика IPv6 <1-999999>. Можно задавать отрицание (инверсию) с помощью символа !.

Примеры создания классификаторов проверки трафика IPv4 и IPv6 по адресам:

set firewall name WAN-IN-v4 rule 100 source address 192.0.2.10-192.0.2.11
set firewall name WAN-IN-v4 rule 101 source address !203.0.113.0/24
set firewall ipv6-name WAN-IN-v6 rule 100 source address 2001:db8::202
set firewall name <name> rule <1-999999> source mac-address <mac-address>#

Задает классификатор проверки соответствия MAC адреса источника <mac-address> для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> source mac-address <mac-address>#

Задает классификатор проверки соответствия MAC адреса источника <mac-address> для правила фильтрации трафика IPv6 <1-999999>.

Примеры создания классификаторов проверки трафика IPv4 и IPv6 по MAC адресам:

set firewall name LAN-IN-v4 rule 100 source mac-address 00:53:00:11:22:33
set firewall name LAN-IN-v4 rule 101 source mac-address !00:53:00:aa:12:34
set firewall name <name> rule <1-999999> source port [1-65535 | portname | start-end]#

Задает классификатор проверки соответствия порта источника [1-65535 | portname | start-end] для правила фильтрации трафика IPv4 <1-999999>.

set firewall name <name> rule <1-999999> destination port [1-65535 | portname | start-end]#

Задает классификатор проверки соответствия порта получателя [1-65535 | portname | start-end] для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> source port [1-65535 | portname | start-end]#

Задает классификатор проверки соответствия порта источника [1-65535 | portname | start-end] для правила фильтрации трафика IPv6 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> destination port [1-65535 | portname | start-end]#

Задает классификатор проверки соответствия порта получателя [1-65535 | portname | start-end] для правила фильтрации трафика IPv6 <1-999999>.

Примеры создания классификаторов проверки трафика IPv4 и IPv6 по портам:

set firewall name WAN-IN-v4 rule 10 source port '22'
set firewall name WAN-IN-v4 rule 11 source port '!http'
set firewall name WAN-IN-v4 rule 12 source port 'https'
set firewall ipv6-name WAN-IN-v6 rule 13 source port '!22,https,3333-3338'
set firewall ipv6-name WAN-IN-v4 rule 14 source port '22,https,3333-3338'

Примечание

При определении классификатора вы можете использовать номер порта или символьное имя сервиса из списка, определенного в файле /etc/services. Можно также задавать несколько значений в виде списка значений, разделенных символом ,. Весь список значений может быть инвертирован с помощью символа !.

set firewall name <name> rule <1-999999> source group address-group <name>#

Задает классификатор проверки соответствия адреса источника из группы адресов <name> для правила фильтрации трафика IPv4 <1-999999>.

set firewall name <name> rule <1-999999> destination group address-group <name>#

Задает классификатор проверки соответствия адреса получателя из группы адресов <name> для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> source group address-group <name>#

Задает классификатор проверки соответствия адреса источника из группы адресов <name> для правила фильтрации трафика IPv6 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> destination group address-group <name>#

Задает классификатор проверки соответствия адреса получателя из группы адресов <name> для правила фильтрации трафика IPv6 <1-999999>.

set firewall name <name> rule <1-999999> source group network-group <name>#

Задает классификатор проверки соответствия подсети источника из группы подсетей <name> для правила фильтрации трафика IPv4 <1-999999>.

set firewall name <name> rule <1-999999> destination group network-group <name>#

Задает классификатор проверки соответствия подсети получателя из группы подсетей <name> для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> source group network-group <name>#

Задает классификатор проверки соответствия подсети источника из группы подсетей <name> для правила фильтрации трафика IPv6 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> destination group network-group <name>#

Задает классификатор проверки соответствия подсети получателя из группы подсетей <name> для правила фильтрации трафика IPv6 <1-999999>.

set firewall name <name> rule <1-999999> source group port-group <name>#

Задает классификатор проверки соответствия порта источника из группы портов <name> для правила фильтрации трафика IPv4 <1-999999>.

set firewall name <name> rule <1-999999> destination group port-group <name>#

Задает классификатор проверки соответствия порта получателя из группы портов <name> для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> source group port-group <name>#

Задает классификатор проверки соответствия порта источника из группы портов <name> для правила фильтрации трафика IPv6 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> destination group port-group <name>#

Задает классификатор проверки соответствия порта получателя из группы портов <name> для правила фильтрации трафика IPv6 <1-999999>.

set firewall name <name> rule <1-999999> protocol [<text> | <0-255> | all | tcp_udp]#

Задает классификатор проверки соответствия протокола [<text> | <0-255> | all | tcp_udp] для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> protocol [<text> | <0-255> | all | tcp_udp]#

Задает классификатор проверки соответствия протокола [<text> | <0-255> | all | tcp_udp] для правила фильтрации трафика IPv6 <1-999999>.

Примеры создания классификаторов проверки трафика IPv4 и IPv6 по протоколам:

set firewall name WAN-IN-v4 rule 10 protocol tcp_udp
set firewall name WAN-IN-v4 rule 11 protocol !tcp_udp
set firewall ipv6-name WAN-IN-v6 rule 10 protocol tcp

Примечание

При определении классификатора вы можете использовать номер протокола или его символьное имя из списка, определенного в файле /etc/protocols. Также для использования доступны специальные обозначения all (все протоколы), tcp_udp (только протоколы TCP и UDP) и ! (инверсия списка заданных значений).

set firewall name <name> rule <1-999999> tcp flags <text>#

Задает классификатор проверки соответствия флагов в TCP заголовке <text> для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> tcp flags <text>#

Задает классификатор проверки соответствия флагов в TCP заголовке <text> для правила фильтрации трафика IPv6 <1-999999>.

Примеры создания классификаторов проверки трафика IPv4 и IPv6 по протоколам:

set firewall name WAN-IN-v4 rule 10 tcp flags 'ACK'
set firewall name WAN-IN-v4 rule 12 tcp flags 'SYN'
set firewall name WAN-IN-v4 rule 13 tcp flags 'SYN,!ACK,!FIN,!RST'

Примечание

При определении классификатора вы можете указать флаги в заголовке TCP. Доступны следующие значения: SYN, ACK, FIN, RST, URG, PSH, ALL. Можно также задавать несколько значений в виде списка значений, разделенных символом ,. Каждое отдельное значение в списке может быть инвертировано с помощью символа !.

set firewall name <name> rule <1-999999> state [established | invalid | new | related] [enable | disable]#

Задает классификатор проверки соответствия состояния соединений [established | invalid | new | related] для правила фильтрации трафика IPv4 <1-999999>.

set firewall ipv6-name <name> rule <1-999999> state [established | invalid | new | related] [enable | disable]#

Задает классификатор проверки соответствия состояния соединений [established | invalid | new | related] для правила фильтрации трафика IPv6 <1-999999>.

set firewall name <name> rule <1-999999> recent count <1-255>#
set firewall name <name> rule <1-999999> recent time <second | minute | hour>#

Задает классификатор проверки количество соединений (recent count) <1-255> за определенный промежуток времени - (time) <second | minute | hour> для правила фильтрации трафика IPv4. Классификатор, заданный таким образом, может быть использован для блокировки атак типа Brute Force.

set firewall ipv6-name <name> rule <1-999999> recent count <1-255>#
set firewall ipv6-name <name> rule <1-999999> recent time <second | minute | hour>#

Задает классификатор проверки количество соединений (recent count) <1-255> за определенный промежуток времени - (time) <second | minute | hour> для правила фильтрации трафика IPv6. Классификатор, заданный таким образом, может быть использован для блокировки атак типа Brute Force.

Применение наборов правил к сетевому интерфейсу#

Примечание

Набор правил может быть применен к каждому сетевому интерфейсу устройства одним из следующих способов:

  • in - набор правил для транзитного трафика на входящем интерфейсе.

  • out - набор правил для транзитного трафика на исходящем интерфейсе.

  • local - набор правил для входящего трафика, получателем которого является само устройство.

set interface ethernet <ethN> firewall [in | out | local] [name | ipv6-name] <rule-set>#

Применяет набор правил <rule-set> к сетевому интерфейсу <ethN> с учетом пути прохождения трафика [in | out | local].

Пример назначения набора правил сетевому интерфейсу:

set interface ethernet eth1 vif 100 firewall in name LANv4-IN
set interface ethernet eth1 vif 100 firewall out name LANv4-OUT
set interface bonding bond0 firewall in name LANv4-IN
set interfaces openvpn vtun1 firewall in name Lanv4-IN

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

Мониторинг#

Просмотр общих сведений о межсетевом экране#

show firewall#

Выводит на экран общие сведения о межсетевом экране.

Пример работы команды show firewall:

admin@fakel:~$ show firewall

------------------------
Firewall Global Settings
------------------------

Firewall state-policy for all IPv4 and Ipv6 traffic

state           action   log
-----           ------   ---
invalid         accept   disabled
established     accept   disabled
related         accept   disabled

-----------------------------
Rulesets Information
-----------------------------
--------------------------------------------------------------------------
IPv4 Firewall "DMZv4-1-IN":

Active on (eth0,IN)

rule  action   proto     packets  bytes
----  ------   -----     -------  -----
10    accept   icmp      0        0
condition - saddr 10.1.0.0/24 daddr 0.0.0.0/0 LOG enabled

10000 drop     all       0        0
condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 LOG enabled

--------------------------------------------------------------------------
IPv4 Firewall "DMZv4-1-OUT":

Active on (eth0,OUT)

rule  action   proto     packets  bytes
----  ------   -----     -------  -----
10    accept   tcp_udp   1        60
condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 match-DST-PORT-GROUP DMZ-Ports /* DMZv4-1-OUT-10 */LOG enabled

11    accept   icmp      1        84
condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 /* DMZv4-1-OUT-11 */LOG enabled

10000 drop     all       6        360
condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 LOG enabled

--------------------------------------------------------------------------
IPv4 Firewall "LANv4-IN":

Inactive - Not applied to any interfaces or zones.

rule  action   proto     packets  bytes
----  ------   -----     -------  -----
10    accept   all       0        0
condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 /* LANv4-IN-10 */

10000 drop     all       0        0
condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0
show firewall summary#

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

Пример работы команды show firewall summary:

admin@fakel:~$ show firewall summary

------------------------
Firewall Global Settings
------------------------

Firewall state-policy for all IPv4 and Ipv6 traffic

state           action   log
-----           ------   ---
invalid         accept   disabled
related         accept   disabled
established     accept   disabled

------------------------
Firewall Rulesets
------------------------

IPv4 name:

Rule-set name             Description    References
-------------             -----------    ----------
DMZv4-1-OUT                              (eth0,OUT)
DMZv4-1-IN                               (eth0,IN)

------------------------
Firewall Groups
------------------------

Port Groups:

Group name                Description    References
----------                -----------    ----------
DMZ-Ports                                DMZv4-1-OUT-10-destination

Network Groups:

Group name                Description    References
----------                -----------    ----------
LANv4                                    LANv4-IN-10-source,DMZv4-1-OUT-10-source,DMZv4-1-OUT-11-source
show firewall statistics#

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

show firewall [name | ipv6name] <name> rule <1-999999>#

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

show firewall group <name>#

Выводит на экран сведения об определенной группе: ее тип, состав и в каких правилах она используется.

Пример работы команды show firewall group <name>:

admin@fakel:~$ show firewall group DMZ-Ports
Name       : DMZ-Ports
Type       : port
References : none
Members    : 80
             443
             8080
             8443

admin@fakel:~$ show firewall group LANv4
Name       : LANv4
Type       : network
References : LANv4-IN-10-source
Members    : 10.10.0.0/16
show firewall [name | ipv6name] <name>#

Выводит на экран сведения об определенном наборе правил.

show firewall [name | ipv6name] <name> statistics#

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

Получение сведений о политике на основе зон#

show zone-policy zone <name>#

Выводит на экран сведения об определенной зоне.

Пример работы команды show zone-policy zone <name>:

admin@fakel:~$ show zone-policy zone DMZ
-------------------
Name: DMZ

Interfaces: eth0 eth1

From Zone:
name                                    firewall
----                                    --------
LAN                                     DMZv4-1-OUT

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

show log firewall [name | ipv6name] <name>#

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

Примечание

Полный список событий, зарегистрированных в ходе работы межсетевого экрана, доступен для просмотра в файле /var/logs/messages.

Управление TCP MSS#

Широко распространенный в сети Интернет механизм Path MTU Discovery в действительности работает крайне редко. Поэтому иногда приходится фиксировать определенное значение параметра TCP MSS. Это поле используется в заголовке TCP совместно с флагом SYN. Устанавливая определенное значение TCP MSS, вы таким образом сообщаете удаленному участнику коммуникации, чтобы он не направлял вам блоки данных, превышающие по объему данное значение. Данный подход называется TCP MSS Clamping

ПО Факел содержит параметр межсетевого экрана, который позволяет зафиксировать значение TCP MSS для протоколов IPv4 и IPv6.

Примечание

Обычно значение TCP MSS рассчитывается по следующей формуле: TCP MSS = MTU - IP Header - TCP Header, где IP Header = 20 байт и TCP Header = 20 байт. Поэтому для MTU = 1492 байт в результате получается значение TCP MSS = 1452 байт.

Фиксация для IPv4#

set firewall options interface <interface> adjust-mss <mss | clamp-mss-to-pmtu>#

Задает значение TCP MSS для транзитного IPv4 трафика на определенном сетевом интерфейсе. Возможны значения в диапазоне 536 - 65535 байт.

Вместо задания числового значения TCP MSS вручную вы можете установить флаг clamp-mss-to-pmtu. Тогда значение TCP MSS будет определено системой автоматически на основе результатов работы механизма Path MTU Discovery.

Пример#

Необходимо зафиксировать значение TCP MSS для исходящего трафика следующим образом:

  • 1452 байта для логического сетевого интерфейса pppoe0 (PPP туннель).

  • 1372 байта для логического сетевого интерфейса wg02 (WireGuard туннель).

set firewall options interface pppoe0 adjust-mss '1452'
set firewall options interface wg02 adjust-mss '1372'

Фиксация для IPv6#

set firewall options interface <interface> adjust-mss6 <mss | clamp-mss-to-pmtu>#

Задает значение TCP MSS для транзитного IPv6 трафика на определенном интерфейсе. Возможны значения в диапазоне 1220 - 65535 байт.

Вместо задания числового значения TCP MSS вручную вы можете установить флаг clamp-mss-to-pmtu. Тогда значение TCP MSS будет определено системой автоматически на основе результатов работы механизма Path MTU Discovery.

Пример#

Необходимо зафиксировать значение TCP MSS для исходящего трафика следующим образом:

  • 1280 байт для логического сетевого интерфейса pppoe0 (PPP туннель).

  • 1280 байт для логического сетевого интерфейса wg02 (WireGuard туннель).

set firewall options interface pppoe0 adjust-mss6 '1280'
set firewall options interface wg02 adjust-mss6 '1280'