Настройка межсетевого экрана происходит на уровне network-policy firewall. Подробнее о структуре команд читайте в разделе UserGate Policy Language.
Admin@nodename# create network-policy firewall
Параметры правил межсетевого экрана:
Параметр
Описание
PASS
DENY
Действие правила межсетевого экрана:
PASS — разрешить трафик.
DENY — запретить трафик.
enabled
Включение/отключение правила:
enabled(yes) или enabled(true).
enabled(no) или enabled(false).
name
Название правила межсетевого экрана.
Например: name("Rule example").
desc
Описание правила.
Например: desc("Firewall rule example configured in CLI").
ips_profile
Профиль СОВ. Подробнее о создании и настройке профилей СОВ с использованием интерфейса командной строки читайте в разделе Настройка профилей СОВ.
Например: ips_profile("Test ips profile").
l7_profile
Профиль приложений. Подробнее о создании и настройке профилей приложений с использованием интерфейса командной строки читайте в разделе Настройка профилей приложений.
Например: l7_profile("Test application-profile").
reject_with
Настройка доступна для правил с действием Запретить:
reject_with("tcp_rst") — посылать TCP reset: блокировка трафика с отправкой сообщения о разрыве TCP-соединения.
Важно! При выборе действия Посылать TCP reset необходимо указание сервиса, использующего протокол TCP (подробнее о добавлении и настройке сервисов читайте в разделе ов).
reject_with("tcp_reset-both") — посылать TCP reset в обе стороны — блокировка трафика с отправкой сообщения о разрыве TCP-соединения клиенту и серверу.
scenario
Сценарий, который должен быть активным для срабатывания правила.
Для указания сценария: scenario = "Example of a scenario".
Запись в журнал информации о трафике при срабатывании правила. Возможны варианты:
rule_log(no) или rule_log(false) — отключить журналирование. Если при создании правила rule_log не указано, функция журналирования отключена.
rule_log(yes) или rule_log(true) — журналировать все сетевые пакеты без установки лимитов. Для установки лимитов необходимо указать число событий, записываемых в журнал за единицу времени (s — секунда; min — минута; h — час; d — день, нельзя установить лимит журналирования менее 5-ти пакетов в день) и максимальное количество пакетов, журналируемых на событие. Например, rule_log(yes, "3/h", 5) — включение журналирования с установкой лимитов: в журнал записывается 3 события в час; максимальное количество пакетов, журналируемых на событие равно 5.
rule_log(session) — журналировать начало сессии.
fragmented
Указание пакетов, к которым применяется правило межсетевого экрана:
fragmented(yes) или fragmented(true) — применить правило к только фрагментированным пакетам.
fragmented(no) или fragmented(false) — применить правило к только нефрагментированным пакетам.
fragmented(all) — применить правило ко всем пакетам.
Если не указать fragmented при создании правила, то правило межсетевого экрана применяется ко всем пакетам.
src.zone
Зона источника трафика.
Для указания зоны источника, например, Trusted: src.zone = Trusted.
Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.
src.ip
Добавление списков IP-адресов или доменов источника.
Для указания списка IP-адресов: src.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.
Для указания списка доменов источника: src.ip = lib.url(); в скобках необходимо указать название URL, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.
src.geoip
Указание GeoIP источника; необходимо указать код страны (например, src.geoip = RU).
Коды названий стран доступны по ссылке ISO 3166-1.
Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.
user
Пользователи и группы пользователей, для которых применяется правило межсетевого экрана (локальные или LDAP).
Для добавления LDAP групп и пользователей необходим корректно настроенный LDAP-коннектор (о настройке LDAP-коннектора через CLI читайте в разделе Настройка LDAP-коннектора).
Примеры добавления пользователей в правило:
user = known
user = "user"
user = "testd.local\\user1"
user = ("user", "testd.local\\user1")
dst.zone
Зона назначения трафика.
Для указания зоны источника, например, Untrusted: dst.zone = Untrusted.
Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.
dst.ip
Добавление списков IP-адресов или доменов назначения.
Для указания списка IP-адресов: dst.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.
Для указания списка доменов назначения: dst.ip = lib.url(); в скобках необходимо указать название URL-списка, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.
dst.geoip
Указание GeoIP назначения; необходимо указать код страны (например, dst.geoip = RU).
Коды названий стран доступны по ссылке ISO 3166-1.
Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.
Чтобы указать сервис: service = "service name"; для указания нескольких сервисов: service = (service-name1, service-name2, ...).
Чтобы указать группу сервисов: service = lib.service(); в скобках необходимо указать название группы сервисов.
time
Настройка расписания работы правила.
Для установки расписания: time = lib.time(); в скобках необходимо указать название группы календарей. Подробнее о настройке календарей читайте в разделе Настройка календарей.
Пример создания правила межсетевого экрана с использованием UPL: