18. Служба wcf¶
18.1. Общие сведения¶
Служба wcf – это HTTP(S) прокси-сервер, позволяющий фильтровать содержимое веб-ресурсов на основе списков-ограничений для различных групп пользователей сети.
Настройка данной службы осуществляется на следующем уровне конфигурации:
[edit service wcf]
На данном уровне конфигурации осуществляются настройки групп пользователей, политик, журнала службы, MITM и сетевые настройки.
18.2. Глобальный MITM и фильтр mitm¶
По умолчанию MITM в службе wcf отключён. Настройка MITM осуществляется двумя способами:
через глобальный MITM;
через фильтр mitm, применяемый к группе.
18.2.1. Настройки глобального MITM¶
Настройки глобального MITM позволяют включить MITM, выбрать политику проверки сертификатов сайтов на ПАК “Фортикс”, указать сертификаты и ключи, используемые для MITM, указать сайты-исключения, для которых MITM не применяется.
Настройка глобального MITM осуществляется на следующем уровне конфигурации:
[edit service wcf mitm]
На данном уровне конфигурации доступны следующие настройки:
enable– включить глобальный MITM;root-path <file-path>– задать путь к файлу, содержащему корневой сертификат, устанавливаемый как корневой в цепочке доверия MITM-сертификата, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;root-key-path <file-path>– задать путь к файлу, содержащему закрытый ключ корневого сертификата, указанного в настройкеroot-path, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;cert-keypair <file-path>– задать путь к файлу, содержащему ключевую пару, используемую в сертификатах сайтов при включённом MITM, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;no-mitm <file-path>– задать путь к файлу(ам) со списком(ами) сайтов/IP-адресов, для которых MITM не применяется, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf, формат определения списков приведён в пункте 18.4.1 Правила составления списков;process-site-cert check on|off– включить/отключить проверку сертификатов сайта;process-site-cert check-exception <file-path>– задать путь к файлу с IP-адресами/сайтами, для которых проверка сертификатов сайта не осуществляется, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf.
Если для настройки process-site-cert check указан параметр off, настройка process-site-cert check-exception игнорируется.
18.2.2. Настройки фильтра mitm¶
Настройки фильтра mitm позволяют включить MITM для определённых групп (см. ниже) и указать сайты, для которых применяется MITM.
Настройка фильтра mitm осуществляется на следующем уровне конфигурации:
[edit service wcf filter mitm <filter-mitm-name>]
где <filter-mitm> – строка длиной от 1 до 128 символов.
На данном уровне конфигурации доступны следующие настройки:
enable– включить фильтр mitm;grey-ssl-list <address>|<host-name>– указать сайт/IP-адрес, для которого применяется MITM, где<address>– IPv4-адрес в форматеA.B.C.D[/mask]или IPv6-адрес в форматеA:B:...:H[/mask],<host-name>– доменное имя сайта, возможно определение нескольких настроек данного уровня конфигурации.
При определении настройки grey-ssl-list и ассоциации фильтра с политикой (при условии, что глобальный MITM и фильтр mitm включены), MITM применяется исключительно к сайтам/IP-адресам, содержащимся в наборе пользователей группы политики.
18.3. Служба wcf как ICAP-клиент¶
В ПАК “Фортикс” возможно использование службы wcf как ICAP-клиента посредством режима icap. Настройка данного режима осуществляется на следующем уровне конфигурации:
[edit service wcf icap]
На данном уровне конфигурации доступны следующие настройки:
enable– включить режим icap;url <url-address>– задать URL-адрес ICAP-сервера RESPMODE, где<url-address>– строка в форматеicap://<IP>:<PORT><optional path>;max-content-scan-size <max-content-scan-size-value>– задать максимальный размер файлов/страниц, которые могут быть обработаны с помощью ICAP, где<max-content-scan-size-value>– число килобайт от 0 до 4294967295, по умолчанию – 2048.
Пример конфигурации службы wcf в режиме icap:
# edit service wcf
# edit icap
# set enable
# set url "icap://192.168.56.1:1344/respmod"
# diff
service {
wcf {
+ icap {
+ enable
+ url icap://192.168.56.1:1344/respmod
+ }
}
}
Если размер загружаемого на ICAP-сервер файла/страницы превышает значение аргумента настройки max-content-scan-size, он обрезается с конца до размера, указанного в настройке. Параметр настройки max-content-scan-size влияет на быстродействие, так как содержимое файла/страницы заданного размера хранится в RAM ПАК “Фортикс”.
ICAP-сервер получает оригинальный IP-адрес клиента (заголовок X-Client-IP) и имя группы, к которой принадлежит клиент (заголовок X-Client-Username).
При блокировке URL-адреса или файла ICAP-сервер отправляет причину блокировки со следующими заголовками:
X-Infection-Found – время, когда файл был заражен;
X-Response-Info – время, когда файл/URL-адрес был заблокирован из-за локальных правил ICAP-сервера.
Если данные HTTP-заголовки не отправлены ICAP-сервером, в качестве причины блокировки указывается “Unknown”.
18.4. Фильтры¶
В службе wcf фильтром (filter) является набор списков для фильтрации или изменения содержимого HTTP-запросов. Каждый фильтр имеет имя, по которому он может быть ассоциирован с политикой (policy, см. подраздел 18.6 Политики). С одной политикой возможно ассоциировать несколько фильтров (исключение: фильтр mitm). В этом случае содержимое фильтров объединяется и обрабатывается в том порядке, в котором они были ассоциированы с политикой в конфигурации. Подробная механика работы фильтров описана в подразделе 18.7 Алгоритм анализа http(s) трафика службой.
18.4.1. Правила составления списков¶
Предусмотрены следующие типы списков:
список IP-адресов/сайтов/URL-адресов;
список фраз;
список регулярных выражений.
18.4.1.1. Списки IP-адресов/сайтов/URL-адресов¶
Списки IP-адресов/сайтов/URL-адресов формируются в файлах, где каждый из IP-адресов/сайтов/URL-адресов записывается с новой строки без указания протокола (HTTP(S)).
Для группировки IP-адресов/сайтов/URL-адресов в категорию перед группируемым набором применяется конструкция:
#listcategory: "Category"
Пример группировки IP-адресов/сайтов/URL-адресов в категории:
#listcategory: "Category 1"
website1.com
website2.ru
we.b.ru/s/i/te
22.11.22.11
#listcategory: "Category 2"
website3.ru
website4.ru
web.com/site
Предупреждение
При формировании и объединении списков необходимо учитывать механизм их объединения (см. пункт 18.4.8 Объединение списков).
18.4.1.2. Списки фраз¶
Списки фраз формируются в файлах, где каждая фраза записывается с новой строки и ограничивается <>. Категории формируются аналогично категориям в подпункте 18.4.1.1 Списки IP-адресов/сайтов/URL-адресов.
Поиск совпадений осуществляется без учёта регистра, все знаки препинания заменяются на пробелы (или игнорируются во избежание двойных пробелов).
При указании нескольких фраз в одной строке через запятую проверяется наличие всех фраз из набора на странице/в запросе.
Для применения фильтров относительно количества вхождений искомых фраз на странице/в запросе используются накопленный и предельный веса фразы: при обнаружении фразы на странице/в запросе её накопленный вес увеличивается (отрицательное значение веса уменьшает накопленный вес); если накопленный вес превышает предельный вес фразы, страница/запрос с данной фразой блокируется. Вес указывается в <> после фразы. В случае указания нескольких фраз через запятую вес применяется ко всему набору фраз, при этом учитывается вхождение всего набора (см. пункты 18.4.5 Фильтр phrase и 18.4.6 Фильтр search).
Пример составления списков фраз без весов:
#listcategory: "Category 1"
<phrase 1>
<phrase with white space in the end >
<phrase 2>,<phrase 3>
#listcategory: "Category 2"
<phrase 4>
< Phrase with white space in the begin>
Пример составления списков фраз с весами:
#listcategory: "Category 1"
<phrase 1><80>
<phrase with white space in the end ><100>
<phrase 2><-100>
<phrase 3>,<phrase 4>,<phrase 5><200>
#listcategory: "Category 2"
<phrase 6><40>
< Phrase with white space in the begin><100>
<phrase 7><-80>
Предупреждение
При формировании и объединении списков необходимо учитывать механизм их объединения (см. пункт 18.4.8 Объединение списков).
18.4.1.3. Списки регулярных выражений¶
Списки регулярных выражений формируются в файлах, где каждое регулярное выражение начинается с новой строки и указывается в «». Категории формируются аналогично категориям в подпункте 18.4.1.1 Списки IP-адресов/сайтов/URL-адресов.
При работе с регулярными выражениями применяется синтаксис PCRE-библиотеки (и синтаксис yang, в случае указания регулярного выражения непосредственно в конфигурации: например, для экранирования PCRE с помощью символа \ необходимо данный символ дополнительно экранировать для yang (тоже с помощью \)). При этом символ / экранировать необязательно.
Например:
"google.com/search\\\?client=firefox"
Для применения регулярных выражений с заменой применяется конструкция:
<regex-1>-><regex-2>
где
<regex-1>– заменяемое регулярное выражение;<regex-2>– регулярное выражение-замена.
Пример применения регулярного выражения для отключения safe-поиска в поиске по картинкам google:
"(^http://[0-9a-z]+\\.google\\.[a-z]+[-/%.0-9a-z]*/images\\\?)(.*)(&?)(safe=[^&]*)->\\1\\2\\3"
18.4.2. Фильтр url¶
Фильтр url позволяет осуществлять различные действия над запросами в зависимости от хоста запроса. Настройка данного фильтра осуществляется на следующем уровне конфигурации:
[edit service wcf filter url <filter-url-name>]
где <filter-url-name> – строка длиной от 1 до 128 символов.
На данном уровне конфигурации доступны следующие настройки:
banned-list <file-path>– указать файл со списком IP-адресов/URL-адресов/сайтов, которые блокируются без последующих проверок, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;exception-list <file-path>– указать файл со списком IP-адресов/URL-адресов/сайтов, которые пропускаются без последующих проверок, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;grey-list <file-path>– указать файл со списком IP-адресов/URL-адресов/сайтов, содержимое при запросе к которым проверяется, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;semi-exception-list <file-path>– указать файл со списком IP-адресов/сайтов, которые пропускаются без последующих проверок, если они не содержатся в списке настройкиbanned-list, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf.
Пример конфигурации фильтра url:
# edit service wcf
# edit filter url test
# set banned-list ban1
# set banned-list /system/wcf/ban2
# set exception-list good_sites
# diff
service {
wcf {
filter {
+ url test {
+ exception-list good_sites
+ banned-list /system/wcf/ban2
+ banned-list ban1
+ }
}
}
}
18.4.3. Фильтр ban¶
Фильтр ban позволяет блокировать HTTP-запросы на основе регулярных выражений. Настройка данного фильтра осуществляется на следующем уровне конфигурации:
[edit service wcf filter ban <filter-ban-name>]
где <filter-ban-name> – строка длиной от 1 до 128 символов.
Для применения фильтра ban применяется команда:
# set <http-method> <regex-name> regex <regex-value>
где
<http-method>– один из методов HTTP-запроса:delete,get,head,options,patch,post,put,trace;<regex-name>– строка длиной от 1 до 128 символов;<regex-value>– строка в кавычках, допустимо указание одного слова без кавычек.
Пример настройки фильтра ban:
[edit]
# set service wcf filter ban test get 1 regex "google.com/search\\\?client=firefox"
Метод connect в фильтре не предусмотрен. Для фильтрации с помощью данного метода применима настройка banned-list фильтра url.
Предупреждение
Регулярные выражения в данном фильтре указываются без протокола HTTP(S).
18.4.4. Фильтр file-type¶
Фильтр file-type позволяет блокировать скачивание файлов с определённым расширением или MIME-типом. Настройка данного фильтра осуществляется на следующем уровне конфигурации:
[edit service wcf filter file-type <filter-file-type-name>]
где <filter-file-type-name> – строка длиной от 1 до 128 символов.
На данном уровне конфигурации доступны следующие настройки:
banned-extensions <extension>– указать расширение, файлы с которым блокируются, где<extension>– строка с точкой в начале, возможно определение нескольких настроек данного уровня конфигурации;banned-mime <mime>– указать MIME-тип, файлы с которым блокируются, где<mime>– MIME-тип, указанный полностью (регулярные выражения, напримерtext/*, не поддерживаются);trusted-download-sites <site>– указать URL-адрес/сайт/IP-адрес, для которого блокировка согласно параметрам настроекbanned-mime/banned-extensionsне применяется, где<site>– URL-адрес/сайт/IP-адрес, возможно определение нескольких настроек данного уровня конфигурации.
Пример конфигурации фильтра file-type:
# edit service wcf
# edit filter file-type test
# set banned-extensions .rar
# set banned-extensions .zip
# set banned-mime image/webp
# set trusted-download-sites web.com
# diff
service {
wcf {
filter {
+ file-type test {
+ banned-extensions .rar
+ banned-extensions .zip
+ banned-mime image/webp
+ trusted-download-sites web.com
+ }
}
}
}
18.4.5. Фильтр phrase¶
Фильтр phrase позволяет блокировать страницы по их содержимому. Настройка фильтра осуществляется на следующем уровне конфигурации:
[edit service wcf filter phrase <filter-phrase-name>]
где <filter-phrase-name> – строка длиной от 1 до 128 символов.
На данном уровне конфигурации доступны следующие настройки:
banned-list <file-path>– указать файл со списком фраз (без веса), наличие которых приведёт к блокировке страницы, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;exception-list <file-path>– указать файл со списком фраз-исключений (без веса) для списка из параметра настройкиbanned-list(т.е. если страница блокируется по настройкеbanned-list, но в ней содержится фраза из списка данной настройки, блокировка к странице не применяется), где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;weighted-list <file-path>– указать файл со списком фраз (c весами), где<file-path>– полное имя файла или имя файла относительно директории/system/wcf.
При ассоциации с одной политикой фильтров, содержащих списки фраз с весами и без, или при указании в фильтре списков, содержащих фразы с весами и без, необходимо учитывать, что фразы из списка настройки banned-list имеют положительный “бесконечный” вес, а фразы из списка настройки exception-list – отрицательный “бесконечный” вес (но больший, чем вес фраз из списка в banned-list). Таким образом, при единовременном использовании списков с весами и без, списки с весами приоритетнее.
18.4.6. Фильтр search¶
Фильтр search позволяет блокировать поисковый запрос по содержимому (словам). Настройка фильтра осуществляется на следующем уровне конфигурации:
[edit service wcf filter search <filter-search-name>]
где <filter-search-name> – строка длиной от 1 до 128 символов.
На данном уровне конфигурации доступны следующие настройки:
banned-list <file-path>– указать файл со списком фраз (без веса), наличие которых приведёт к блокировке поискового запроса, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;exception-list <file-path>– указать файл со списком фраз-исключений (без веса) для списка из параметра настройкиbanned-list(т.е. если запрос блокируется по настройкеbanned-list, но в нём содержится фраза из списка данной настройки, блокировка к запросу не применяется), где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;weighted-list <file-path>– указать файл со списком фраз (c весами), где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;engine-regex <search-engine> regex <regex>– указать регулярное выражение для определения части запроса в указанной поисковой системе, к которой применяется фильтр, где<search-engine>– по умолчанию в ПАК “Фортикс” поддерживаются системы yandex, google, mail, rambler, duckduckgo, youtube, yahoo, bing, kiddle,<regex>– регулярное выражение, протокол в котором, в случае его указания, должен быть HTTP.
При ассоциации с одной политикой фильтров, содержащих списки фраз с весами и без, или при указании в фильтре списков, содержащих фразы с весами и без, необходимо учитывать, что фразы из списка в banned-list имеют положительный “бесконечный” вес, а фразы из списка в exception-list – отрицательный “бесконечный” вес (но больший, чем вес фраз из списка в banned-list). Таким образом, при единовременном использовании списков с весами и без, списки с весами приоритетнее.
Пример конфигурации фильтра search:
#edit service wcf
#edit filter search test
#set banned-list bad_search_words_1
#set banned-list catchy_search
#set exception-list legal_search
#set weighted-list w_search
#set engine-regex mail regex "^http://mail\\.ru/(.*?)\\&text=([^&]*)->\\2"
#diff
service {
wcf {
filter {
search test {
+ banned-list bad_search_words_1
+ banned-list catchy_search
+ exception-list legal_search
+ weighted-list w_search
+ engine-regex mail {
+ regex ^http://mail\\.ru/(.*?)\\&text=([^&]*)->\\2
+ }
}
}
}
}
18.4.7. Фильтр modify¶
Фильтр modify позволяет изменять запрос клиента в режиме реального времени. Настройка данного фильтра осуществляется на следующем уровне конфигурации:
[edit service wcf filter modify <filter-modify-name>]
где <filter-modify-name> – строка длиной от 1 до 128 символов.
На данном уровне конфигурации доступны следующие настройки:
redirect <regex-name> regex <regex-value>– перенаправить клиента на другой URL-адрес согласно регулярному выражению, где<regex-name>– строка длиной от 1 до 128 символов,<regex-value>– регулярное выражение, в котором после “->” указан URL-адрес;regex-replace <regex-name> regex <regex-value>– изменить HTTP-запрос с помощью регулярного выражения, где<regex-name>– строка длиной от 1 до 128 символов,<regex-value>– регулярное выражение.
Пример конфигурации фильтра modify:
# edit service wcf
# edit filter modify test
# set redirect sport regex "championat.com->sports.ru"
# set regex-replace 1 "(^http://[0-9a-z]+\\.google\\.[a-z]+[-/%.0-9a-z]*/images\\?)(.*)(&?)(safe=[^&]*)->\\1\\2\\3"
18.4.8. Объединение списков¶
Объединение списков осуществляется в порядке их определения в конфигурации. Пример 1 конфигурации объединения двух списков:
service {
wcf {
filter {
url test {
banned-list ban2
banned-list ban1
}
Содержимое списков примера 1:
ban1:
#listcategory: "Category 1"
web1.com
web2.com
ban2:
site1.com
site2.ru
Содержимое объединения данных списков в том порядке, в котором они объявлены в конфигурации:
ban2 + ban1:
site1.com
site2.ru
#listcategory: "Category 1"
web1.com
web2.com
При данном порядке объединения списков сайты site1.com и site2.ru категории не имеют.
Пример 2 конфигурации объединения списков:
service {
wcf {
filter {
url test {
banned-list ban1
banned-list ban2
}
Содержимое объединения списков примера 2 в том порядке, в котором они объявлены в конфигурации:
ban1 + ban2:
#listcategory: "Category 1"
web1.com
web2.com
site1.com
site2.ru
При данном порядке объединения списков сайты site1.com и site2.ru имеют категорию “Category 1”.
Данные примеры демонстрируют особенности механизма объединения списков.
18.5. Фильтр main-filter¶
Настройка фильтра main-filter осуществляется на следующем уровне конфигурации:
[edit service wcf main-filter]
Настройки данного уровня конфигурации повторяют настройки уровня конфигурации фильтра url со следующими дополнениями:
banned-regex-list <file-path>– указать файл со списком регулярных выражений для сайтов/URL-адресов/IP-адресов, которые блокируются без последующих проверок, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf;exception-regex-list <file-path>– указать файл со списком регулярных выражений для сайтов/URL-адресов/IP-адресов, которые пропускаются без последующих проверок, где<file-path>– полное имя файла или имя файла относительно директории/system/wcf.
Назначение данного фильтра см. в подразделе 18.7 Алгоритм анализа http(s) трафика службой.
18.6. Политики¶
Политики позволяют создавать группы пользователей и назначать им фильтры. При этом одной политике соответствует одна группа пользователей.
18.6.1. Настройки группы¶
Настройка группы осуществляется на следующем уровне конфигурации:
[edit service wcf policy group <group-name>]
где <group-name> – строка длиной от 1 до 128 символов.
По умолчанию предусмотрена группа “default”, особенности настройки и назначение которой описаны в пункте 18.6.3 Группа default.
На данном уровне конфигурации доступны следующие настройки:
ban <filter-ban-name>– указать имя(ена) фильтра(ов) ban, который(ые) должен(ы) применятся к пользователям группы, где<filter-ban-name>– имя существующего фильтра ban;modify <filter-modify-name>– указать имя(ена) фильтра(ов) modify, который(ые) должен(ы) применятся к пользователям группы, где<filter-modify-name>– имя существующего фильтра modify;file-type <filter-file-type-name>– указать имя(ена) фильтра(ов) file-type, который(ые) должен(ы) применятся к пользователям группы, где<filter-file-type-name>– имя существующего фильтра file-type;search <filter-search-name>– указать имя(ена) фильтра(ов) search, который(ые) должен(ы) применятся к пользователям группы, где<filter-search-name>– имя существующего фильтра search;phrase <filter-phrase-name>– указать имя(ена) фильтра(ов) phrase, который(ые) должен(ы) применятся к пользователям группы, где<filter-phrase-name>– имя существующего фильтра phrase;url <filter-url-name>– указать имя(ена) фильтра(ов) url, который(ые) должен(ы) применятся к пользователям группы, где<filter-url-name>– имя существующего фильтра url;mitm <filter-mitm-name>– указать имя фильтра mitm, который должен применятся к пользователям группы, где<filter-mitm-name>– имя существующего фильтра mitm;search-weight-limit <search-weight-limit-value>– указать предельный вес поискового запроса, при достижении которого запрос блокируется, где<search-weight-limit-value>– число от 0 до 65535, по умолчанию – 50;phrase-weight-limit <phrase-weight-limit-value>– указать предельный вес содержимого страницы, при достижении которого страница блокируется, где<weight>– число от 0 до 65535, по умолчанию – 150;user ip <ip>– указать IP-адрес, подсеть или диапазон IP-адресов, который принадлежит группе, где<ip>– IPv4-адрес в форматеA.B.C.D/[mask]или диапазон IP-адресов в форматеA.B.C.D-A.B.C.D, возможно определение нескольких настроек данного уровня конфигурации.
В аргументе настройки user ip указываются уникальные адреса/подсети/диапазоны адресов для каждой группы.
18.6.2. Аутентификация пользователей¶
Аутентификация пользователей осуществляется по их IP-адресам при присоединении к службе (как автоматически с помощью прозрачного режима, так и напрямую): пользователь ассоциируется с группой, которая содержит его IP-адрес, или с группой default, если ни одна группа не содержит его IP-адрес.
18.6.3. Группа default¶
По умолчанию с группой default ассоциируется только фильтр main-filter. Для ассоциации других фильтров с данной группой применяются настройки следующего уровня конфигурации:
[edit service wcf policy group default]
Настройки данного уровня конфигурации повторяют настройки уровня конфигурации группы, при этом настройка user ip неприменима.
18.7. Алгоритм анализа http(s) трафика службой¶
Схема работы службы wcf с входящим трафиком (от пользователя) представлена на рис. 18.1.
Схема работы службы wcf с входящим трафиком (от сайта) представлена на рис. 18.2.
Далее по тексту в данном подразделе HTTP-трафик и HTTPS-трафик (с включённым MITM для сайта, на который посылается запрос, у данного пользователя) называются открытым трафиком, остальные – закрытым; все фильтры url данного пользователя обозначаются одним фильтром local.
Рис. 18.1 Схема работы службы wcf с входящим трафиком от пользователя¶
Рис. 18.2 Схема работы службы wcf с входящим трафиком от сайта¶
Алгоритм прохождения трафика с вышеуказанными обозначениями:
Если хост запроса содержится в списке semi-exception фильтра local, этапы 2, 3 пропускаются.
Если хост запроса содержится в списке exception фильтра local, запрос проходит без последующей проверки.
Если хост запроса содержится в списке grey фильтра local, страница запроса загружается и проверяется её содержимое (этапы 5 и 11).
Если хост запроса содержится в списке banned фильтра local, запрос блокируется без последующей проверки.
Запрос проверяется по фильтру(ам) ban, ассоциированным(и) с данным пользователем.
Если хост запроса содержится в списке semi-exception фильтра main-filter, этапы 7, 8, 9 пропускаются.
Если хост запроса содержится в списке exception фильтра main-filter, запрос проходит без последующей проверки.
Если хост запроса содержится в списке exception-regex фильтра main-filter, страница запроса проходит без последующей проверки.
Если хост запроса содержится в списке grey фильтра main-filter, страница запроса загружается и проверяется её содержимое (этап 12).
Если хост запроса содержится в списке banned фильтра main-filter, запрос блокируется без последующей проверки.
Если хост запроса содержится в списке banned-regex фильтра main-filter, страница запроса блокируется без последующей проверки.
Страница запроса загружается, и проверяется её содержимое фильтрами phrase, file-type, search, modify.
Этап, фильтр или содержимое фильтра которого не задан, пропускается.
URL-адреса из списков фильтров local и main-filter в случае закрытого трафика службе не видны.
Фильтры ban, file-type, search, modify, phrase применяются исключительно для открытого трафика.
18.8. Настройки журнала службы¶
Настройка журнала службы осуществляется на следующем уровне конфигурации:
[edit service wcf log]
На данном уровне конфигурации доступны следующие настройки:
format <format-value>– задать формат журнала, где<format-value>– число от 1 до 8, по умолчанию – 7;verbosity <verbosity-value>– указать, какие сообщения от службы записываются в журнал, где<verbosity-value>– число от 0 до 3, по умолчанию – 1;level info|warning– указать уровень события, по умолчанию – info.
Для передачи информации об инцидентах на удалённый сервер указываются значение warning аргумента настройки level и значение 1 аргумента настройки verbosity в комбинации с настройками service journal.
18.9. Настройка портов и адресов службы¶
По умолчанию служба ожидает трафик на всех IP-адресах и на порте 8080 на данных адресах.
Настройка портов и адресов службы осуществляется на следующем уровне конфигурации:
[edit service wcf listen]
На данном уровне конфигурации доступны следующие настройки:
http-port <port-number>– указать порт(ы) для приёма HTTP(S)-трафика, где<port-number>– число от 1 до 65535;thttps-port <port>– указать порт(ы) для приёма HTTP(S)-трафика при работе в прозрачном режиме, где<port-number>– число от 1 до 65535;ipv4 address <address>– указать IP-адрес(а), на которых служба ожидает трафик, где<address>– IPv4-адрес в форматеA.B.C.D.
Все IP-адреса и порты, указанные в аргументах данных настроек, должны быть доступны.
Пример конфигурации портов и адресов службы:
# edit service wcf
# edit listen
# set http-port 8082
# set thttps-port 8143
# set ipv4 address 192.168.56.101
# diff
service {
wcf {
+ listen {
+ ipv4 {
+ address 192.168.56.101
+ }
+ http-port 8082
+ thttps-port 8143
+ }
}
}
Служба wcf работает как в прозрачном, так и в непрозрачном режиме. Для настройки прозрачного режима HTTP(S)-порты перенаправляются на порты, на которых принимает трафик служба wcf. Для HTTP-трафика (80 порт) возможно перенаправление трафика на порт, указанный в настройке http-port <port-number>, для HTTPS-трафика рекомендуется перенаправление на порт, указанный в настройке thttps-port <port-number>.
18.10. Настройка страницы блокировки¶
Для изменения страницы, демонстрируемой пользователям при их попытке получения доступа к нежелательной информации, в директорию /system/wcf/ban-page/ помещается файл template.html, содержащий необходимую для демонстрации пользователям страницу (размер файла не может превышать 1 МБ).
На данной странице возможно указание некоторых переменных окружения, полученных из причины блокировки:
URL – полный URL-адрес, который пользователь пытался получить;
REASONGIVEN – краткая причина блокировки;
REASONLOGGED – причина блокировки с детализацией;
FILTERGROUP – имя группы пользователя;
IP – IP-адрес пользователя;
CATEGORIES – категория заблокированного ресурса (#listcategory).