Перейти к содержанию

Глава 39. Визуальный редактор политик (VPM)

Визуальный редактор политик (VPM) доступен по адресу Configuration > Policy > Visual Policy Manager (маршрут /configuration/policy/vpm). Позволяет создавать и редактировать правила через графический интерфейс без знания синтаксиса CPL.

38.1. Обзор интерфейса

Интерфейс VPM состоит из четырёх зон:

1. Вкладки слоёв — горизонтальные вкладки вверху. Каждая вкладка соответствует CPL-секции:

Вкладка VPM CPL-секция Иконка Описание
Web Access Layer proxy Globe Правила веб-доступа по URL-категориям и группам пользователей
SSL Inspection Layer ssl_intercept Shield Политики TLS-инспекции
Forwarding Layer forward Settings Правила маршрутизации через upstream-прокси
DNS Proxy Layer dns_proxy FileText DNS-прокси фильтрация
Web Content Layer cache Database Кэширование и анализ контента
SSL Access Layer ssl Lock Allow/deny для HTTPS-трафика
Admin Layer admin Users Административный контроль доступа

2. Таблица правил — основная область, где каждое правило представлено строкой:

Колонка Содержимое CPL-поля Примеры
Source Условия по источнику запроса client.address, user, group, authenticated, geo.src.country, request.header.* 10.0.0.0/8, HR_Users (define-ссылка)
Destination Условия по назначению url.domain, url.path, category, url.extension, geo.dst.country facebook.com, Social Media
Service Тип сервиса http.method, url.scheme POST, HTTPS
Action Действие (цветовая индикация) 17 типов действий ALLOW (зелёная), DENY (красная)
Enable/Disable Переключатель активности enabled flag Toggle switch
Menu Контекстное меню -- Edit, Duplicate, Delete

Правила, содержащие конструкции, не отображаемые в VPM (вложенные OR-группы, не-VPM поля), помечаются индикатором и доступны только для просмотра.

3. Панель инструментов:

Кнопка Описание
Upload Загрузить .cpl файл: содержимое читается, проверяется синтаксис, при успехе правила разбираются в редактор и помечаются как несохранённые изменения
Download Скачать текущую активную политику как .cpl файл
Add Rule Добавить новое правило в текущий подслой
Add Sublayer Добавить подслой с условием-ограничителем (guard)
Open CPL Editor Переход на CPL Editor (без перезагрузки страницы)
Reload Загрузить текущую политику с сервера

4. Policy Apply Bar (внизу экрана) — общий с CPL Editor компонент: - Индикатор несохранённых изменений - Кнопка Save Policy — сериализация CPL из store, валидация, установка - Кнопка Reload — принудительная загрузка с сервера

38.2. Слои и подслои (sublayers)

Правила внутри каждого слоя организованы в подслои (sublayers). Каждый подслой имеет:

  • Guard — условие, применяемое ко всем правилам подслоя. Берётся из заголовка CPL-секции: <Proxy client.address=10.0.0.0/8>. Редактируется через диалог настройки условия
  • Label — текстовая метка для идентификации (редактируется по клику прямо в строке). Сохраняется в CPL как комментарий ; @sublayer-label: My Name перед заголовком секции. Метка сохраняется при загрузке и обратном сохранении файла
  • Сворачивание — переключатель стрелкой. В свёрнутом состоянии отображается только заголовок с меткой и количеством правил
  • Rules — список правил внутри подслоя

Два <Proxy> блока в CPL-файле создают два независимых подслоя с собственными условиями-ограничителями (guard) и правилами. При загрузке и обратном сохранении структура файла полностью сохраняется.

Пример CPL с sublayer'ами:

; @sublayer-label: Corporate LAN
<Proxy client.address=10.0.0.0/8>
    url.domain=internal.corp allow
    allow
</Proxy>

; @sublayer-label: Guest Network
<Proxy client.address=192.168.100.0/24>
    category=Malware deny
    authenticated=no deny
    allow
</Proxy>

Операции с подслоями: - Добавить новый подслой - Удалить подслой по индексу - Установить/изменить условие-ограничитель (guard) - Установить текстовую метку - Переключить активный подслой

38.3. Редактирование правил (RuleEditorDialog)

Клик на любую ячейку правила открывает единый диалог редактирования правила с четырьмя вкладками:

Source — условия по источнику запроса:

Поле CPL-условие Описание
Client IP client.address IP-адрес или CIDR клиента
User user Имя пользователя
Group group Группа пользователя
Authenticated authenticated Статус аутентификации (yes/no)
Source Country geo.src.country Геолокация источника
Source Region geo.src.region Регион источника
Source City geo.src.city Город источника
Source ASN geo.src.asn AS-номер источника
Source Organization geo.src.org Организация источника
Request Header request.header.* Произвольный HTTP-заголовок (поле с автоподстановкой стандартных заголовков)

Destination — условия по назначению:

Поле CPL-условие Описание
Domain url.domain Доменное имя
Path url.path URL-путь
Category category Категория URL
Extension url.extension Расширение файла
Destination Country geo.dst.country Геолокация назначения
Destination Region geo.dst.region Регион назначения
Destination City geo.dst.city Город назначения
Destination ASN geo.dst.asn AS-номер назначения
Destination Organization geo.dst.org Организация назначения

Service — условия по типу сервиса:

Поле CPL-условие Описание
HTTP Method http.method GET, POST, PUT, DELETE и др.
URL Scheme url.scheme HTTP, HTTPS, FTP

Action — действия (17 типов): - Выбор основного действия: Allow, Deny, Force Deny, Authenticate, Redirect, SSL No Intercept и др. - Параметры действия: realm для Authenticate, URL для Redirect и т.д. - Дополнительные действия: Log, Label, Set Header

Операторы (14 типов): equals, not_equals, prefix, not_prefix, suffix, not_suffix, substring, not_substring, regex, in, not_in, between, exists, not_exists

Ссылки на define-объекты: При вводе значения можно выбрать именованный объект из библиотеки. В таблице правил define-ссылки отображаются как цветные бейджи с иконкой типа (Network для subnet, Globe для domain, Tag для category и др.).

Диалог накапливает изменения до подтверждения и содержит единую кнопку Save Rule.

38.4. Библиотека объектов (Object Library)

Библиотека объектов доступна по адресу Configuration > Policy > Object Library (маршрут /configuration/policy/objects). Управляет define-блоками, которые используются в правилах по имени.

Интерфейс разделён на две панели: - Левая панель (3/12 ширины) — список категорий объектов с иконками и счётчиками - Правая панель (9/12 ширины) — объекты выбранной категории с поиском, добавлением, редактированием и удалением

7 типов объектов:

Тип CPL define Иконка Описание Preview
Subnets define subnet Network IP-сети (CIDR) Первые 3 сети + "+N more"
Domain Lists define url.domain condition Globe Списки доменов Первые 3 домена + "+N more"
URL Lists define url condition Globe URL-паттерны Первые 3 паттерна + "+N more"
Category Groups define category Tag Группы URL-категорий Первые 3 категории + "+N more"
Conditions define condition Zap Именованные составные условия Первые 2 строки текста
Actions define action Zap Именованные блоки действий Первые 2 действия
Exception Pages (наше расширение) Shield Страницы ошибок Заголовок или HTTP-код

Для каждого объекта отображается: - Моноширинное имя - Бейдж с описанием: 3 networks, 5 domains, HTTP 403 и др. - Бейдж со счётчиком ссылок: 2 refs, 5 refs — количество правил, ссылающихся на объект - Описание (опциональное текстовое поле) - Превью содержимого — первые 3 элемента в виде моноширинных бейджей

CRUD-операции: - Add — кнопка открывает диалог редактора объекта в режиме создания. Имя проверяется на уникальность - Edit — контекстное меню > Edit. Открывает диалог редактора объекта в режиме редактирования - Delete — контекстное меню > Delete. Защита от удаления: кнопка Delete неактивна, если на объект ссылается хотя бы одно правило. При попытке удаления используемого объекта отображается всплывающее уведомление с ошибкой

Каждый тип объекта имеет свой диалог редактирования: - редактор подсетей (Subnets) - редактор списков доменов (Domain Lists) - редактор URL-списков (URL Lists) - редактор групп категорий (Category Groups) - редактор условий (Conditions) - редактор действий (Actions) - редактор страниц ошибок (Exception Pages)

SSE-интеграция: Страница автоматически обновляется при изменении политики из внешнего источника. Если есть несохранённые изменения, отображается предупреждение с кнопкой Reload.

38.5. Навигация между страницами политик

Все три страницы (VPM, CPL Editor, Object Library) + Policy Files объединены общим макетом с горизонтальной навигацией:

Вкладка Маршрут Иконка Описание
Visual Policy Manager /configuration/policy/vpm Layers Визуальный редактор правил
CPL Editor /configuration/policy/cpl-editor Terminal Текстовый редактор CPL
Object Library /configuration/policy/objects BookOpen Именованные объекты и определения
Policy Files /configuration/policy/policy-files FileText Управление файлами политик