Глава 35. ICAP и антивирусная проверка¶
Действия ICAP (Internet Content Adaptation Protocol, RFC 3507) позволяют передавать трафик на внешние серверы для антивирусной проверки, DLP (Data Loss Prevention) и других видов анализа контента.
Аналоги BlueCoat:
request.icap_service(),response.icap_service().
35.1. virus_check(yes/no) — антивирусная проверка¶
Статус: планируется. Использование в CPL файле приведёт к ошибке парсинга.
Включает антивирусное сканирование через настроенный ICAP-бэкенд (RESPMOD).
Синтаксис:
where: yes — включить антивирусную проверку; no — отключить.
Тип: Нетерминальное.
Слои и транзакции: Proxy.
35.2. request.icap_service(service) — ICAP REQMOD¶
Направляет HTTP-запрос на именованный ICAP-сервис для модификации запроса (REQMOD). Используется для DLP, проверки загрузок, модификации заголовков.
Синтаксис:
where: service_name — имя ICAP-сервиса, определённое в конфигурации.
Тип: Нетерминальное.
Слои и транзакции: Proxy. Применяется к HTTP-запросам.
Пример:
См. также: response.icap_service
35.3. response.icap_service(service) — ICAP RESPMOD¶
Направляет HTTP-ответ на именованный ICAP-сервис для модификации ответа (RESPMOD). Используется для антивирусного сканирования, content disarm, watermarking.
Синтаксис:
where: service_name — имя ICAP-сервиса, определённое в конфигурации.
Тип: Нетерминальное.
Слои и транзакции: Proxy. Применяется к HTTP-ответам.
Пример:
См. также: request.icap_service
35.4. icap_service(service) — ICAP обе фазы¶
Направляет и запрос, и ответ на именованный ICAP-сервис (REQMOD + RESPMOD).
Синтаксис:
where: service_name — имя ICAP-сервиса.
Тип: Нетерминальное.
Слои и транзакции: Proxy.
35.5. icap_reqmod(service) / icap_respmod(service) — ICAP модификация¶
Альтернативный синтаксис для направления на ICAP-сервис. Могут использоваться без аргумента (используется ICAP-сервис по умолчанию).
Синтаксис:
where: service_name — имя ICAP-сервиса (опционально).
Тип: Нетерминальное (оба).
Слои и транзакции: Proxy.
Пример:
35.6. icap_bypass — пропустить ICAP¶
Пропускает ICAP-обработку для текущего запроса.
Синтаксис:
Тип: Нетерминальное.
Слои и транзакции: Proxy.
Пример:
35.7. icap_fail_mode(open/closed) — поведение при ошибке ICAP¶
Статус: в процессе реализации. Принимается, но пока не применяется — выбор режима по правилу не учитывается (поведение по умолчанию задаётся конфигурацией ICAP).
Определяет поведение при недоступности или ошибке ICAP-сервиса.
Синтаксис:
где: open — при ошибке ICAP пропустить трафик (пропуск по умолчанию, небезопасный режим); closed — при ошибке ICAP заблокировать трафик (безопасный отказ, блокировка).
Тип: Нетерминальное.
Слои и транзакции: Proxy.
Пример:
Комплексный пример:
<Proxy>
; Антивирусная проверка загрузок
url.extension=(exe, dll, zip, rar) response.icap_service(av_scanner)
; DLP для исходящих данных
http.method=POST request.icap_service(dlp_scanner)
; Не сканировать внутренний трафик
url.host.is_private=yes icap_bypass
; При недоступности ICAP — пропустить (не блокировать)
icap_fail_mode(open)
allow