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

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

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

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

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

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

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

Параметр

Описание

LogLevel

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

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

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

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

Log

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

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

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

ExePath

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

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

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

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

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

RunAsUser

{UID | имя пользователя}

Пользователь. Можно указать как числовой UID пользователя, так и его имя (логин). Если имя пользователя состоит из цифр (т. е. похоже на числовой UID), то оно указывается с префиксом «name:», например: RunAsUser = name:123456.

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

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

Start

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

Компонент должен быть запущен демоном управления конфигурацией Dr.Web ConfigD.

Установка данного параметра в Yes предписывает демону управления конфигурацией немедленно попытаться запустить компонент, а установка его в значение No — немедленно завершить работу компонента.

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

DebugDumpIcap

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

Сохранять в журнал содержимое сообщений, передаваемых по протоколу ICAP, если уровень подробности ведения журнала — отладочный (при LogLevel = DEBUG).

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

ListenAddress

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

Определяет сетевой сокет (IP-адрес и порт), прослушиваемый Dr.Web ICAPD в ожидании подключений от прокси-серверов HTTP.

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

UsePreview

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

Включить/отключить режим ICAP preview для Dr.Web ICAPD.

Не изменяйте значение этого параметра без необходимости.

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

Use204

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

Возвращать код ответа 204 не только в режиме ICAP preview.

Не изменяйте значение этого параметра без необходимости.

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

AllowEarlyResponse

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

Определяет, может ли Dr.Web ICAPD использовать режим «раннего» ответа ICAP, т. е. начинать отправлять ответ клиенту, не прочитав до конца запрос от прокси-сервера HTTP.

Не изменяйте значение этого параметра без необходимости.

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

TemplatesDir

{путь к каталогу}

Путь к каталогу c файлами шаблонов HTML-страниц уведомлений о блокировке веб-ресурсов.

Значение по умолчанию: <var_dir>/templates/icapd.

Для GNU/Linux: /var/opt/drweb.com/templates/icapd.

Для FreeBSD: /var/drweb.com/templates/icapd

Whitelist

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

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

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

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

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

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

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

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

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

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

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

Внимание!

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

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

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

Blacklist

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

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

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

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

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

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

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

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

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

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

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

Внимание!

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

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

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

Adlist

{список строк}

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

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

Пример: Добавить в список выражения '.*ads.+' и '.*/ad/.*\.gif$'.

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

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

[ICAPD]
Adlist = ".*ads.+", ".*/ad/.*\.gif$"

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

[ICAPD]
Adlist = .*ads.+
Adlist = .*/ad/.*\.gif$

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

# drweb-ctl cfset ICAPD.Adlist -a '.*ads.+'
# drweb-ctl cfset ICAPD.Adlist -a '.*/ad/.*\.gif$'

Регулярные выражения записываются с использованием синтаксиса POSIX (BRE, ERE) или Perl (PCRE, PCRE2).

Внимание!

Реальное использование списка выражений, указанного в данном параметре, зависит от того, как он используется в правилах управления доступом к веб-ресурсам, заданных для Dr.Web ICAPD.

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

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

BlockInfectionSource

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockNotRecommended

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockAdultContent

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockViolence

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockWeapons

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockGambling

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockDrugs

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockObsceneLanguage

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockChats

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockTerrorism

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockFreeEmail

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockSocialNetworks

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockDueToCopyrightNotice

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockOnlineGames

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockAnonymizers

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockCryptocurrencyMiningPools

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

BlockJobs

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

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

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

url_category in "ICAPD.BlockCategory" : BLOCK as _match

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

ScanTimeout

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

Тайм-аут на проверку одного файла по запросу Dr.Web ICAPD.

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

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

HeuristicAnalysis

{On | Off}

Использовать/не использовать эвристический анализ для поиска неизвестных угроз. Эвристический анализ повышает надежность проверки, но увеличивает ее длительность.

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

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

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

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

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

PackerMaxLevel

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

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

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

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

ArchiveMaxLevel

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

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

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

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

MailMaxLevel

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

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

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

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

ContainerMaxLevel

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

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

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

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

MaxCompressionRatio

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

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

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

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

BlockKnownVirus

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockSuspicious

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockAdware

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockDialers

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockJokes

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockRiskware

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockHacktools

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

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

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

threat_category in "ICAPD.BlockThreat" : BLOCK as _match

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

BlockUnchecked

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

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

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

MessageHook

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

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

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

Значение по умолчанию: Генерируется автоматически. Для настроек по умолчанию скрип выглядит так:

local dw = require "drweb"
local cfg = require "drweb.config"
local dwl = require "drweb.lookup"
local rx = require "drweb.regex"

function message_hook(ctx)
  if ctx.direction == "request" then
    local url = ctx.request.url
    if url.in_list(cfg.blacklist) then
      return "block"
    end
    if not url.in_list(cfg.whitelist) then
      if rx.search(cfg.adlist, url) or rx.search(cfg.adlist, url.raw) then
          return "block"
      end
      if url.in_categories(cfg.block_url_categories) then
          return "block"
      end
    end
  end
  if ctx.body.has_threat{category = cfg.block_threats} then
    return "block"
  end
  if cfg.block_unchecked and ctx.body.scan_error then
    return "block"
  end
  return "pass"
end

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

В дополнение к параметрам, перечисленным выше, в секции присутствует семь наборов правил RuleSet* (RuleSet0, …, RuleSet6), непосредственно управляющих проверкой трафика и блокировкой доступа пользователей к веб-ресурсам, а также загрузкой контента из интернета. Для некоторых значений в условиях (например, диапазоны 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 для просмотра правил.

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

# drweb-ctl cfshow ICAPD.RuleSet1

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

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

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

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

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

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

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

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

# drweb-ctl cfset -r ICAPD.RuleSet1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RuleSet0 =
RuleSet1 = direction request, url_host in "ICAPD.Blacklist" : BLOCK as BlackList
RuleSet1 = direction request, url_host not in "ICAPD.Whitelist", url match "ICAPD.Adlist" : BLOCK as BlackList
RuleSet2 =
RuleSet3 = direction request, url_host not in "ICAPD.Whitelist", url_category in "ICAPD.BlockCategory" : BLOCK as _match
RuleSet4 =
RuleSet5 = threat_category in "ICAPD.BlockThreat" : BLOCK as _match
RuleSet6 =

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

Правило, указанное в RuleSet5, проверяет, не содержатся ли в теле проверяемого HTTP-запроса или HTTP-ответа угрозы, относящиеся к категориям, которые следует блокировать, и если да, то соединение блокируется по причине обнаружения угрозы. Обратите внимание, что из-за отсутствия условия direction по умолчанию проверяются как запросы клиентов (request), так и ответы серверов (response).

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

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

src_ip in (10.10.0.0/24), url_category not in (Chats) : PASS

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

url_host in "ICAPD.Blacklist" : BLOCK as BlackList

разместить в списке правил выше (т. е. раньше) указанного правила, то доступ к доменам из черного списка, т. е. доменам, перечисленным в параметре ICAPD.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, если они не находятся в черном списке, но при этом не разрешать загрузку угроз, используйте следующее правило:

url_category not in (Chats), url_host not in "ICAPD.Blacklist", threat_category not in "ICAPD.BlockCategory" : PASS

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

content_type in ("video/*") : PASS