Параметры конфигурации

В этом разделе

Параметры компонента

Правила проверки трафика и блокировки доступа

Компонент использует параметры конфигурации, заданные в секции [LinuxFirewall] объединенного конфигурационного файла Dr.Web для интернет-шлюзов UNIX.

Параметры компонента

В секции представлены следующие параметры:

Параметр

Описание

LogLevel

{уровень подробности}

Уровень подробности ведения журнала компонента.

Если значение параметра не указано, используется значение параметра DefaultLogLevel из секции [Root].

Значение по умолчанию: Notice

Log

{тип журнала}

Метод ведения журнала компонента.

Значение по умолчанию: Auto

ExePath

{путь к файлу}

Путь к исполняемому файлу компонента.

Значение по умолчанию: <opt_dir>/bin/drweb-firewall.

Для GNU/Linux: /opt/drweb.com/bin/drweb-firewall.

Для FreeBSD: /usr/local/libexec/drweb.com/bin/drweb-firewall

XtablesLockPath

{путь к файлу}

Путь к файлу блокировки таблиц iptables (NetFilter). Если значение параметра не указано, проверяются пути /run/xtables.lock и /var/run/xtables.lock. Если файл блокировок не обнаружен по указанному пути или путям по умолчанию, при запуске компонента происходит ошибка.

Значение по умолчанию: (не задано)

InspectFtp

{On | Off}

Проверять данные, передаваемые по протоколу FTP.

Данные будут проверены в соответствии с заданными правилами (см. ниже).

Значение по умолчанию: On

InspectHttp

{On | Off}

Проверять данные, передаваемые по протоколу HTTP.

Данные будут проверены в соответствии с заданными правилами (см. ниже).

Значение по умолчанию: On

InspectSmtp

{On | Off}

Проверять данные, передаваемые по протоколу SMTP (использует компонент Dr.Web MailD, если установлен).

Данные будут проверены в соответствии с заданными правилами (см. ниже).

Значение по умолчанию: On

InspectPop3

{On | Off}

Проверять данные, передаваемые по протоколу POP3 (использует компонент Dr.Web MailD, если установлен).

Данные будут проверены в соответствии с заданными правилами (см. ниже).

Значение по умолчанию: On

InspectImap

{On | Off}

Проверять данные, передаваемые по протоколу IMAP (использует компонент Dr.Web MailD, если установлен).

Данные будут проверены в соответствии с заданными правилами (см. ниже).

Значение по умолчанию: On

AutoconfigureIptables

{Yes | No}

Включить/отключить режим настройки правил для системного компонента NetFilter через интерфейс iptables.

Допустимые значения:

Yes — автоматически настраивать правила для NetFilter при запуске компонента и их удаление при завершении работы компонента (рекомендуется);

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

Внимание!

Если автоматическая настройка правил для iptables не разрешена, необходимо обеспечить наличие необходимых правил iptables к моменту начала работы компонента.

Значение по умолчанию: Yes

AutoconfigureRouting

{Yes | No}

Режим настройки правил и политик маршрутизации ip route и ip rule.

Допустимые значения:

Yes — настраивать автоматически правила и политики маршрутизации ip route и ip rule при запуске компонента и их удаление при завершении работы компонента (рекомендуется);

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

Внимание!

Если автоматическая настройка правил и политик маршрутизации не разрешена, необходимо обеспечить наличие необходимых правил ip route и ip rule к моменту начала работы компонента.

Значение по умолчанию: Yes

LocalDeliveryMark

{целое число | Auto}

Метка <LDM>, для пакетов перенаправляемых на сетевой сокет Dr.Web Firewall для Linux (определяется в параметре TproxyListenAddress, см. ниже) для перехвата соединения.

Допустимые значения:

<целое число> — метка <LDM>, присваиваемая пакетам. Численно равна 2N, где N — номер бита LDM в пакете, 0 ≤ N ≤ 31;

Auto — разрешить Dr.Web Firewall для Linux выбрать подходящий бит в метке пакета автоматически (рекомендуется).

Внимание!

При назначении числа <LDM> вручную убедитесь, что соответствующий бит в метке пакетов не используется никакими другими приложениями, управляющими маршрутизацией соединений и пакетов (в том числе — через NetFilter). Если указано недопустимое значение, запуск компонента завершится ошибкой.

Указанное число <LDM> должно использоваться в правилах маршрутизации, которые необходимо добавлять вручную, если AutoconfigureIptables = No и/или AutoconfigureRouting = No.

Значение по умолчанию: Auto

ClientPacketsMark

{целое число | Auto}

Метка <CPM>, которой помечаются пакеты, следующие между клиентом (инициатором соединения) и Dr.Web Firewall для Linux.

Допустимые значения:

<целое число> — метка <СPM>, присваиваемая пакетам. Численно равна 2N, где N — номер бита CPM в пакете, 0 ≤ N ≤ 31;

Auto — позволить Dr.Web Firewall для Linux выбрать подходящий бит в метке пакета автоматически (рекомендуется).

Внимание!

При назначении числа <СPM> вручную необходимо убедиться, что соответствующий бит в метке пакетов не используется никакими другими приложениями, управляющими маршрутизацией соединений и пакетов (в том числе — через NetFilter). Если указано недопустимое значение, то запуск компонента завершится ошибкой.

Указанное число <СPM> должно использоваться в правилах маршрутизации, которые необходимо добавлять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: Auto

ServerPacketsMark

{целое число | Auto}

Метка <SPM>, которой помечаются пакеты, следующие между Dr.Web Firewall для Linux и сервером (приемником соединения).

Допустимые значения:

<целое число> — метка <SPM>, присваиваемая пакетам. Численно равна 2N, где N — номер бита SPM в пакете, 0 ≤ N ≤ 31;

Auto —разрешить Dr.Web Firewall для Linux выбрать подходящий бит в метке пакета автоматически (рекомендуется).

Внимание!

При назначении числа <SPM> вручную необходимо убедиться, что соответствующий бит в метке пакетов не используется никакими другими приложениями, управляющими маршрутизацией соединений и пакетов (в том числе — через NetFilter). Если указано недопустимое значение, то запуск компонента завершится ошибкой.

Указанное число <SPM> должно использоваться в правилах маршрутизации, которые необходимо добавлять вручную, если AutoconfigureIptables = No и/или AutoconfigureRouting = No.

Значение по умолчанию: Auto

TproxyListenAddress

{сетевой сокет}

Сетевой сокет (<IP-адрес>:<порт>), на котором Dr.Web Firewall для Linux принимает перехваченные соединения. Если задан нулевой порт, то он выбирается системой автоматически.

Внимание!

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

Указанное IP-адрес и порт должны использоваться в правилах маршрутизации, которые необходимо добавлять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: 127.0.0.1:0

OutputDivertEnable

{Yes | No}

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

Допустимые значения:

Yes — перехватывать и обрабатывать исходящие соединения;

No — не перехватывать и не обрабатывать исходящие соединения.

Внимание!

Данная настройка добавляет или удаляет правило маршрутизации № 5, которое необходимо добавлять или удалять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: No

OutputDivertNfqueueNumber

{целое число | Auto}

Номер очереди NFQUEUE, из которой Dr.Web Firewall для Linux будет извлекать SYN-пакеты, инициирующие исходящие соединения.

Допустимые значения:

<целое число> — номер очереди <ONum> для отслеживания SYN-пакетов перехватываемых исходящих соединений в NFQUEUE;

Auto —разрешить Dr.Web Firewall для Linux выбрать подходящий номер очереди автоматически (рекомендуется).

Внимание!

При назначении числа <ONum> вручную необходимо убедиться, что соответствующая очередь не используется никакими другими приложениями, управляющими контролем соединений и пакетов (в том числе через правила NetFilter). Если указано недопустимое значение, то запуск компонента завершится ошибкой.

Указанное число <ONum> должно использоваться в правиле маршрутизации № 5, которое необходимо добавлять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: Auto

OutputDivertConnectTransparently

{Yes | No}

Включить/отключить режим эмуляции подключения к получателю (серверу) с IP-адреса отправителя перехваченного пакета (клиента) для исходящих соединений.

Допустимые значения:

Yes — при перехвате соединения подключаться к серверу не со своего адреса, а с адреса клиента, который запросил соединение;

No — подключаться к серверу с адреса Dr.Web Firewall для Linux.

Поскольку в режиме перехвата исходящих соединений адреса клиента и Dr.Web Firewall для Linux чаще всего совпадают, значение по умолчанию — No.

Значение по умолчанию: No

InputDivertEnable

{Yes | No}

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

Допустимые значения:

Yes — перехватывать и обрабатывать входящие соединения;

No — не перехватывать и не обрабатывать входящие соединения.

Внимание!

Данная настройка добавляет или удаляет правило маршрутизации № 6, которое необходимо добавлять или удалять вручную, если AutoconfigureIptables = No. Если указано недопустимое значение, то запуск компонента завершится ошибкой.

Значение по умолчанию: No

InputDivertNfqueueNumber

{целое число | Auto}

Номер очереди NFQUEUE, из которой Dr.Web Firewall для Linux будет извлекать SYN-пакеты, инициирующие входящие соединения.

Допустимые значения:

<целое число> — номер очереди <INum> для отслеживания SYN-пакетов перехватываемых входящих соединений в NFQUEUE;

Auto — позволить Dr.Web Firewall для Linux выбрать подходящий номер очереди автоматически (рекомендуется).

Внимание!

При назначении числа <INum> вручную необходимо убедиться, что соответствующая очередь не используется никакими другими приложениями, управляющими контролем соединений и пакетов (в том числе через правила NetFilter). Если указано недопустимое значение, то запуск компонента завершится ошибкой.

Указанное число <INum> должно использоваться в правиле маршрутизации № 6, которое необходимо добавлять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: Auto

InputDivertConnectTransparently

{Yes | No}

Включить/отключить режим эмуляции подключения к получателю (серверу) с IP-адреса отправителя перехваченного пакета (клиента) для входящих соединений.

Допустимые значения:

Yes — при перехвате соединения подключаться к серверу не со своего адреса, а с адреса клиента, который запросил соединение;

No — подключаться к серверу с адреса Dr.Web Firewall для Linux.

В режиме перехвата входящих соединений весь трафик проходит через Dr.Web Firewall для Linux и можно безопасно подключиться к серверу с поддельного адреса клиента. Поэтому значение по умолчанию — Yes.

Значение по умолчанию: Yes,

ForwardDivertEnable

{Yes | No}

Режим перехвата транзитных соединений (т. е. соединений, инициированных приложениями на одном удаленном узле с приложениями, работающими на другом удаленном узле).

Допустимые значения:

Yes — перехватывать и обрабатывать транзитные соединения;

No — не перехватывать и не обрабатывать транзитные соединения.

Внимание!

Данная настройка добавляет или удаляет правило маршрутизации № 7, которое необходимо добавлять или удалять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: No

ForwardDivertNfqueueNumber

{целое число | Auto}

Номер очереди NFQUEUE, из которой Dr.Web Firewall для Linux будет извлекать SYN-пакеты, инициирующие транзитные соединения.

Допустимые значения:

<целое число> — номер очереди <FNum> для отслеживания SYN-пакетов перехватываемых транзитных соединений в NFQUEUE;

Auto — позволить Dr.Web Firewall для Linux выбрать подходящий номер очереди автоматически (рекомендуется).

Внимание!

При назначении числа <FNum> вручную необходимо убедиться, что соответствующая очередь не используется никакими другими приложениями, управляющими контролем соединений и пакетов (в том числе через правила NetFilter). Если указано недопустимое значение, то запуск компонента завершится ошибкой.

Указанное число <FNum> должно использоваться в правиле маршрутизации № 7, которое необходимо добавлять вручную, если AutoconfigureIptables = No.

Значение по умолчанию: Auto

ForwardDivertConnectTransparently

{Yes | No}

Включить/отключить режим эмуляции подключения к получателю (серверу) с IP-адреса отправителя перехваченного пакета (клиента) для транзитных соединений.

Допустимые значения:

Yes — при перехвате соединения подключаться к серверу не со своего адреса, а с адреса клиента, который запросил соединение;

No — подключаться к серверу с адреса Dr.Web Firewall для Linux.

Поскольку в режиме перехвата транзитных соединений нет гарантии, что весь трафик проходит через один и тот же узел (маршрутизатор), на котором установлен Dr.Web Firewall для Linux, для корректной работы значение по умолчанию — No. Если конфигурация сети гарантирует, что все защищаемые приложения все находятся за одним и тем же маршрутизатором, параметр можно установить в Yes, и в этом случае Dr.Web Firewall для Linux всегда будет при подключении к серверам эмулировать подключение с адреса клиента.

Значение по умолчанию: No

ExcludedProc

{путь к файлу}

Белый список процессов (процессы, сетевая активность которых не контролируется).

Можно указать несколько значений в виде списка. Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Пример: Добавить в список процессы wget и curl.

1.Добавление значений в файл конфигурации.

Два значения в одной строке:

[LinuxFirewall]
ExcludedProc = "/usr/bin/wget", "/usr/bin/curl"

Две строки (по одному значению в строке):

[LinuxFirewall]
ExcludedProc = /usr/bin/wget
ExcludedProc = /usr/bin/curl

2.Добавление значений через команду drweb-ctl cfset:

# drweb-ctl cfset LinuxFirewall.ExcludedProc -a /usr/bin/wget
# drweb-ctl cfset LinuxFirewall.ExcludedProc -a /usr/bin/curl

Внимание!

Реальное использование списка процессов, указанного в данном параметре, зависит от того, как он используется в правилах проверки, заданных для Dr.Web Firewall для Linux.

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

Значение по умолчанию: (не задано)

UnwrapSsl

{логический}

Проверять/не проверять зашифрованный трафик, передаваемый через SSL.

Внимание!

В текущей реализации значение данной переменной не оказывает никакого влияния на проверку защищенного трафика. Для реального управления проверкой нужно создать правило, в котором содержится действие SET Unwrap_SSL = true/false (см. ниже).

Если значение параметра изменять через команду cfset утилиты drweb-ctl или через веб-интерфейс управления, то зависимые правила будут перестраиваться автоматически.

Значение по умолчанию: No

BlockInfectionSource

{логический}

Блокировать попытки подключения к веб-сайтам, содержащим вредоносное ПО (входящим в категорию InfectionSource).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: Yes

BlockNotRecommended

{логический}

Блокировать попытки подключения к нерекомендуемым веб-сайтам (входящим в категорию NotRecommended).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: Yes

BlockAdultContent

{логический}

Блокировать попытки подключения к веб-сайтам, содержащим материалы для взрослых (входящим в категорию AdultContent).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockViolence

{логический}

Блокировать попытки подключения к веб-сайтам, содержащим сцены насилия (входящим в категорию Violence).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockWeapons

{логический}

Блокировать попытки подключения к веб-сайтам, посвященным оружию (входящим в категорию Weapons).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockGambling

{логический}

Блокировать попытки подключения к веб-сайтам, посвященным азартным играм и играм на деньги (входящим в категорию Gambling).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockDrugs

{логический}

Блокировать попытки подключения к веб-сайтам, посвященным наркотикам (входящим в категорию Drugs).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockObsceneLanguage

{логический}

Блокировать попытки подключения к веб-сайтам, содержащим нецензурную лексику (входящим в категорию ObsceneLanguage).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockChats

{логический}

Блокировать попытки подключения к веб-сайтам чатов (входящим в категорию Chats).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockTerrorism

{логический}

Блокировать попытки подключения к веб-сайтам, посвященным терроризму (входящим в категорию Terrorism).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockFreeEmail

{логический}

Блокировать попытки подключения к веб-сайтам бесплатных почтовых служб (входящим в категорию FreeEmail).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockSocialNetworks

{логический}

Блокировать попытки подключения к веб-сайтам социальных сетей (входящим в категорию SocialNetworks).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockDueToCopyrightNotice

{логический}

Блокировать попытки подключения к веб-сайтам, ссылки на которые были добавлены по обращению правообладателей (входящим в категорию DueToCopyrightNotice).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: Yes

BlockOnlineGames

{логический}

Блокировать попытки подключения к веб-сайтам онлайн-игр (входящим в категорию OnlineGames).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockAnonymizers

{логический}

Блокировать попытки подключения к веб-сайтам анонимайзеров (входящим в категорию Anonymizers).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockCryptocurrencyMiningPools

{логический}

Блокировать попытки подключения к веб-сайтам, объединяющим пользователей с целью добычи (майнинга) криптовалют (входящим в категорию CryptocurrencyMiningPool).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

BlockJobs

{логический}

Блокировать попытки подключения к веб-сайтам, предназначенным для поиска вакансий (входящим в категорию Jobs).

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

url_category in "LinuxFirewall.BlockCategory" : Block as _match

Значение по умолчанию: No

Whitelist

{список доменов}

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

Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Пример: Добавить в список домены example.com и example.net.

1.Добавление значений в файл конфигурации.

Два значения в одной строке:

[LinuxFirewall]
Whitelist = "example.com", "example.net"

Две строки (по одному значению в строке):

[LinuxFirewall]
Whitelist = example.com
Whitelist = example.net

2.Добавление значений через команду drweb-ctl cfset:

# drweb-ctl cfset LinuxFirewall.Whitelist -a example.com
# drweb-ctl cfset LinuxFirewall.Whitelist -a example.net

Внимание!

Реальное использование списка доменов, указанного в данном параметре, зависит от того, как он используется в правилах проверки, заданных для Dr.Web Firewall для Linux.

В перечне правил, заданных по умолчанию (см. ниже), гарантируется, что доступ к доменам (и их поддоменам) из данного списка будет обеспечен, даже если там будут находиться домены из блокируемых категорий веб-ресурсов, но только если производится запрос к узлу с использованием протокола HTTP. Кроме этого условия правил по умолчанию гарантируют, что данные, загружаемые с доменов из белого списка, будут проверяться на наличие угроз (так как данные возвращаются в ответе, и переменная direction имеет значение response).

Значение по умолчанию: (не задано)

Blacklist

{список доменов}

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

Значения в списке указываются через запятую (каждое значение в кавычках). Допускается повторение параметра в секции (в этом случае все значения объединяются в единый список).

Пример: Добавить в список домены example.com и example.net.

1.Добавление значений в файл конфигурации.

Два значения в одной строке:

[LinuxFirewall]
Blacklist = "example.com", "example.net"

Две строки (по одному значению в строке):

[LinuxFirewall]
Blacklist = example.com
Blacklist = example.net

2.Добавление значений через команду drweb-ctl cfset:

# drweb-ctl cfset LinuxFirewall.Blacklist -a example.com
# drweb-ctl cfset LinuxFirewall.Blacklist -a example.net

Внимание!

Реальное использование списка доменов, указанного в данном параметре, зависит от того, как он используется в правилах проверки, заданных для Dr.Web Firewall для Linux.

Условия правил, заданных по умолчанию (см. ниже), гарантируют, что доступ к доменам (и их поддоменам) из данного списка по протоколу HTTP будет запрещен всегда. Если домен добавлен одновременно в список Whitelist и список Blacklist, то правила, заданные по умолчанию, гарантируют, что доступ пользователей к нему по протоколу HTTP будет заблокирован.

Значение по умолчанию: (не задано)

ScanTimeout

{интервал времени}

Устанавливает тайм-аут на проверку одного файла по запросу SpIDer Gate.

Допустимые значения: от 1 секунды (1s) до 1 часа (1h).

Значение по умолчанию: 30s

HeuristicAnalysis

{On | Off}

Определяет, использовать ли эвристический анализ для поиска возможных неизвестных угроз при проверке файла, инициированной по запросу SpIDer Gate. Использование эвристического анализа повышает надежность проверки, но увеличивает ее длительность.

Реакция на срабатывание эвристического анализа задается в параметре BlockSuspicious.

Допустимые значения:

On — использовать эвристический анализ при проверке;

Off — не использовать эвристический анализ.

Значение по умолчанию: On

PackerMaxLevel

{целое число}

Максимальный уровень вложенности для запакованных объектов. Под запакованным объектом понимается исполняемый код, сжатый при помощи специализированных инструментов (UPX, PELock, PECompact, Petite, ASPack, Morphine и других). Такие объекты могут включать другие запакованные объекты, в состав которых тоже могут входить другие запакованные объекты, и т. п. Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого объекты внутри объектов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

Значение по умолчанию: 8

ArchiveMaxLevel

{целое число}

Максимальный уровень вложенности для архивов (zip, rar и т. п.), в которые вложены другие архивы, в которые, в свою очередь, могут быть вложены еще архивы, и т. п. Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого архивы внутри архивов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

Значение по умолчанию: 8

MailMaxLevel

{целое число}

Максимальный уровень вложенности объектов для файлов почтовых программ (pst, tbb и т. п.), в которые могут быть вложены объекты, в которые также могут быть вложены объекты, и т. п. Значение этого параметра устанавливает предельный уровень иерархии вложенности, после которого объекты внутри объектов не будут проверяться.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

Значение по умолчанию: 8

ContainerMaxLevel

{целое число}

Максимальный уровень вложенности для других типов объектов с вложениями (HTML-страниц, jar-файлов и т. п.). Задает уровень в иерархии вложенности, после которого объекты внутри объектов будут пропускаться при проверке файла, инициированной по запросу SpIDer Gate.

Ограничений уровня вложенности нет. Значение 0 указывает, что вложенные объекты не проверяются.

Значение по умолчанию: 8

MaxCompressionRatio

{целое число}

Максимальная допустимая степень сжатия запакованных объектов (отношение сжатого объема к несжатому). Если степень сжатия объекта превысит указанную величину, он будет пропущен при проверке файла, инициированной по запросу SpIDer Gate.

Величина степени сжатия должна быть не менее 2.

Значение по умолчанию: 500

BlockKnownVirus

{логический}

Блокировать получение или передачу данных, если они содержат известную угрозу.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: Yes

BlockSuspicious

{логический}

Блокировать получение или передачу данных, если они содержат неизвестную угрозу, обнаруженную эвристическим анализатором.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: Yes

BlockAdware

{логический}

Блокировать получение или передачу данных, если они содержат рекламную программу.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: Yes

BlockDialers

{логический}

Блокировать получение или передачу данных, если они содержат программу дозвона.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: Yes

BlockJokes

{логический}

Блокировать получение или передачу данных, если они содержат программу-шутку.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: No

BlockRiskware

{логический}

Блокировать получение или передачу данных, если они содержат потенциально опасную программу.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: No

BlockHacktools

{логический}

Блокировать получение или передачу данных, если они содержат программу взлома.

Для реальной блокировки необходимо, чтобы в настройках присутствовало правило вида (см. ниже):

threat_category in "LinuxFirewall.BlockThreat" : Block as _match

Значение по умолчанию: No

BlockUnchecked

{логический}

Блокировать получение или передачу данных, если они не могут быть проверены.

Внимание!

Значение этого параметра влияет на обработку правил, в которых невозможно определить истинность или ложность условия вследствие ошибки: в случае No правило будет пропущено как не сработавшее, а в случае Yes будет выполнено действие Block as BlackList.

Значение по умолчанию: No

InterceptHook

{путь к файлу | функция Lua}

Скрипт обработки соединений на языке Lua, либо путь к файлу, хранящему этот скрипт (см. раздел Обработка соединений на Lua).

Если указанный файл недоступен, то при загрузке компонента будет выдана ошибка.

Значение по умолчанию:

local dwl = require 'drweb.lookup'

function intercept_hook(ctx)

 -- do not check if group == Root.TrustedGroup
 if ctx.divert == "output" and ctx.group == "drweb"
 then
     return "pass"
 end

 -- do not check connections from privileged ports
 -- except FTP active mode
 if ctx.src.port >= 0 and ctx.src.port <= 1024
     and ctx.src.port ~= 20
 then
     return "pass"
 end

 return "check"
end

Изменения, внесенные в настройки проверки соединений, не влияют на проверку соединений, которые уже были установлены приложениями до внесения изменений. Если необходимо применить их для уже запущенных приложений, необходимо заставить их разорвать и повторно установить сетевое соединение, например, путем перезапуска этих приложений.

Правила проверки трафика и блокировки доступа

В дополнение к параметрам, перечисленным выше, в секции присутствует 11 наборов правил RuleSet* (RuleSet0, …, RuleSet10), непосредственно управляющих проверкой трафика и блокировкой доступа пользователей к веб-ресурсам, а также загрузкой контента из интернета. Для некоторых значений в условиях (например: диапазоны IP-адресов, перечни категорий веб-сайтов, черные и белые списки веб-сайтов и т. п.) предусмотрена подстановка значений, загружаемых из текстовых файлов, а также извлеченных из внешних источников данных через LDAP (используется компонент Dr.Web LookupD). При обработке соединений все правила проверяются в порядке сверху вниз, единым списком, до момента нахождения сработавшего правила, содержащего финальную резолюцию. Пропуски в списке правил, если встречаются, игнорируются.

Подробно правила рассмотрены в разделе Правила проверки трафика Приложения Г.

Просмотр и редактирование правил

Для удобства редактирования списка правил, по умолчанию в списке оставлены «пустоты», т. е. наборы RuleSet<i>, не содержащие правил (где <i> — номер набора RuleSet). Обратите внимание, что вы не можете добавлять элементы списка, отличные от уже имеющихся RuleSet<i>, но можете добавить и удалить любое правило в любом элементе RuleSet<i>. Просматривать и редактировать правила можно любым из следующих способов:

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

через веб-интерфейс управления (если установлен);

через интерфейс командной строки Dr.Web Ctl (команды drweb-ctl cfshow и drweb-ctl cfset).

Если вы редактировали правила, внося изменения в файл конфигурации, для применения внесенных изменений перезапустите Dr.Web для интернет-шлюзов UNIX. Для этого воспользуйтесь командой drweb-ctl reload.

Использование команды drweb-ctl cfshow для просмотра правил

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

# drweb-ctl cfshow LinuxFirewall.RuleSet1

Использование команды drweb-ctl cfset для редактирования правил (здесь и далее <правило> — текст правила).

Замена всех правил в наборе правил LinuxFirewall.RuleSet1 на новое правило:

# drweb-ctl cfset LinuxFirewall.RuleSet1 '<правило>'

Добавление еще одного правила в набор правил LinuxFirewall.RuleSet1:

# drweb-ctl cfset -a LinuxFirewall.RuleSet1 '<правило>'

Удаление конкретного правила из набора правил LinuxFirewall.RuleSet1:

# drweb-ctl cfset -e LinuxFirewall.RuleSet1 '<правило>'

Возврат набора правил LinuxFirewall.RuleSet1 к состоянию по умолчанию:

# drweb-ctl cfset -r LinuxFirewall.RuleSet1

При использовании утилиты drweb-ctl для редактирования правил заключайте строку добавляемого правила <правило> в одинарные или двойные кавычки, а внутренние кавычки, если они встречаются в правиле, экранируйте символом обратной косой черты '\'.

Важно помнить, следующие особенности хранения правил в переменных конфигурации RuleSet<i>:

При добавлении безусловных правил условная часть и двоеточие могут быть опущены, однако такие правила всегда сохраняются в списке правил в виде строки ' : <действие>';

При добавлении правил, содержащих несколько действий (правила вида '<условие> : <действие 1><действие 2>'), такие правила будут преобразованы в цепочку элементарных правил '<условие> : <действие 1>' и '<условие> : <действие 2>'.

Так как в записи правил не предусмотрено дизъюнкции (логическое «ИЛИ») условий в условной части, для реализации логического «ИЛИ» запишите цепочку правил, в условии каждого из которых будет указано условие-дизъюнкт.

Чтобы добавить в набор правил LinuxFirewall.RuleSet1 правило безусловного пропуска (действие Pass), достаточно выполнить команду:

# drweb-ctl cfset -a LinuxFirewall.RuleSet1 'Pass'

Однако, чтобы удалить это правило из указанного набора правил, необходимо выполнить команду:

# drweb-ctl cfset -e LinuxFirewall.RuleSet1 ' : Pass'

Чтобы добавить в набор правил LinuxFirewall.RuleSet1 правило, изменяющее для соединений, следующих с неразрешенных адресов, путь к стандартным шаблонам и выполняющее блокировку, достаточно выполнить команду:

# drweb-ctl cfset -a LinuxFirewall.RuleSet1 'src_ip not in file("/etc/trusted_ip") : set http_template_dir = "mytemplates", Block'

Однако, эта команда добавит два правила в указанный набор правил, поэтому, чтобы удалить их, необходимо выполнить две команды:

# drweb-ctl cfset -e LinuxFirewall.RuleSet1 'src_ip not in file("/etc/trusted_ip") : set http_template_dir = "mytemplates"'
# drweb-ctl cfset -e LinuxFirewall.RuleSet1 'src_ip not in file("/etc/trusted_ip") : Block'

Чтобы добавить в набор правил LinuxFirewall.RuleSet1 правило вида «Осуществить блокировку, если обнаружен вредоносный объект типа KnownVirus или URL из категории Terrorism», необходимо добавить в этот набор сразу два правила:

# drweb-ctl cfset -a LinuxFirewall.RuleSet1 'threat_category in (KnownVirus) : Block as _match'
# drweb-ctl cfset -a LinuxFirewall.RuleSet1 'url_category in (Terrorism) : Block as _match'

Для их удаления их также потребуется две команды, как в примере выше.

Набор правил по умолчанию

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

RuleSet0 =
RuleSet1 = divert output : set HttpTemplatesDir = "output"
RuleSet1 = divert output : set MailTemplatesDir = "firewall"
RuleSet1 = divert input : set HttpTemplatesDir = "input"
RuleSet1 = divert input : set MailTemplatesDir = "server"
RuleSet1 = proc in "LinuxFirewall.ExcludedProc" : Pass
RuleSet1 =  : set Unwrap_SSL = false
RuleSet2 =
RuleSet3 =
RuleSet4 =
RuleSet5 = protocol in (Http), direction request, url_host in "LinuxFirewall.Blacklist" : Block as BlackList
RuleSet5 = protocol in (Http), direction request, url_host in "LinuxFirewall.Whitelist" : Pass
RuleSet6 =
RuleSet7 = protocol in (Http), direction request, url_category in "LinuxFirewall.BlockCategory" : Block as _match
RuleSet8 =
RuleSet9 = protocol in (Http), divert input, direction request, threat_category in "LinuxFirewall.BlockThreat" : Block as _match
RuleSet9 = protocol in (Http), direction response, threat_category in "LinuxFirewall.BlockThreat" : Block as _match
RuleSet9 = protocol in (Smtp), threat_category in "LinuxFirewall.BlockThreat" : REJECT
RuleSet9 = protocol in (Smtp), url_category in "LinuxFirewall.BlockCategory" : REJECT
RuleSet9 = protocol in (Smtp), total_spam_score gt 0.80 : REJECT
RuleSet9 = protocol in (Pop3, Imap), threat_category in "LinuxFirewall.BlockThreat" : REPACK as _match
RuleSet9 = protocol in (Pop3, Imap), url_category in "LinuxFirewall.BlockCategory" : REPACK as _match
RuleSet9 = protocol in (Pop3, Imap), total_spam_score gt 0.80 : REPACK as _match
RuleSet10 =

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

Следующие пять правил регламентируют обработку исходящих HTTP-соединений.

1.Если узел, с которым устанавливается соединение, включен в черный список, соединение блокируется, и дальнейшие проверки не производятся.

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

3.Если URL, к которому обращается клиент, находится в категории нежелательных для посещения веб-ресурсов, то соединение блокируется, и дальнейшие проверки не производятся.

4.Если ответ, поступивший от удаленного узла по HTTP, содержит угрозу, относящуюся к категориям, которые следует блокировать, то соединение блокируется, и дальнейшие проверки не производятся.

5.Если данные, передаваемые с локального узла на удаленный сервер, содержат угрозу, относящуюся к категориям, которые следует блокировать, то соединение блокируется, и дальнейшие проверки не производятся.

Эти пять правил будут работать только в том случае, если параметр InspectHttp имеет значение On. В противном случае ни одно из них не сработает.

Следующие шесть правил, указанных в RuleSet9, регламентируют проверку данных, передаваемых по протоколам электронной почты (SMTP, POP3 или IMAP), и срабатывают в следующих случаях:

сообщение содержит вложения;

сообщение содержит URL из категорий, подлежащих блокировке;

сообщение оценено как спам с индексом не менее 0,8.

При этом к письмам, передаваемым по протоколу SMTP, применяется действие, блокирующее передачу письма (т. е. его отправку или прием), а для протоколов IMAP и POP3 производится обработка письма, заключающаяся в удалении из него вредоносного содержимого («перепаковка»).

Так как компонент проверки сообщений электронной почты на наличие признаков спама Dr.Web Anti-Spam отсутствует в составе Dr.Web для интернет-шлюзов UNIX, то проверка писем на наличие признаков спама не производится. В этом случае правила, содержащие проверку порога спама (переменную total_spam_score) отсутствуют.

Обратите внимание, что правила проверки электронной почты будут работать только в том случае, если соответствующие разрешающие параметры Inspect<EmailProtocol> имеют значение On. В противном случае ни одно из них не сработает. Кроме того, для непосредственной проверки передаваемого письма на предмет наличия в нем вредоносных вложений, а также для анализа на признаки спама должен быть установлен дополнительный компонент проверки электронной почты — Dr.Web MailD. Если он не установлен, передаваемые сообщения будут блокироваться по причине ошибки «Невозможно проверить». Чтобы разрешить прохождение писем, которые невозможно проверить, установите параметр BlockUnchecked в значение No (см. выше). Кроме того, при отсутствии компонента проверки электронной почты рекомендуется установить значение No для параметров InspectSmtp, InspectPop3 и InspectImap.

Dr.Web MailD не входит в состав Dr.Web для интернет-шлюзов UNIX.

 

Примеры правил проверки трафика и блокировки доступа

1.Разрешить для пользователей с диапазона IP-адресов 10.10.0.0 — 10.10.0.254 доступ по протоколу HTTP к веб-сайтам любых категорий, кроме категории Chats:

protocol in (HTTP), src_ip in (10.10.0.0/24), url_category not in (Chats) : Pass

Обратите внимание, что если правило:

protocol in (HTTP), url_host in "LinuxFirewall.Blacklist" : Block as BlackList

разместить в списке правил выше (т. е. раньше) указанного правила, то доступ к доменам из черного списка, т. е. доменам, перечисленным в параметре LinuxFirewall.Blacklist, будет блокироваться и для пользователей с диапазона IP-адресов 10.10.0.0 — 10.10.0.254. А если это правило разместить ниже (т. е. позже), то пользователям с диапазона IP-адресов 10.10.0.0 — 10.10.0.254 будут доступны также и веб-сайты из черного списка.

Так как резолюция Pass является конечной, более никакие правила не проверяются, следовательно, проверка загружаемых данных на вирусы производиться также не будет. Чтобы разрешить пользователям с диапазона IP-адресов 10.10.0.0 — 10.10.0.254 доступ к веб-сайтам любых категорий, кроме категории Chats, если они не находятся в черном списке, но при этом не разрешать загрузку угроз, используйте следующее правило:

protocol in (HTTP), url_category not in (Chats), url_host not in "LinuxFirewall.Blacklist", threat_category not in "LinuxFirewall.BlockCategory" : Pass

2.Не выполнять проверку содержимого загружаемых из интернета видеофайлов (т. е. данных с типом MIME 'video/*', где * соответствует любому типу MIME-класса video):

direction response, content_type in ("video/*") : Pass

Обратите внимание, что выгружаемые с локального компьютера файлы (в том числе и с типом MIME 'video/*') будут проверяться, так как они передаются в запросах, а не ответах, т. е. для них переменная direction имеет значение request.