Перехват трафика на ICAP-сервере¶
Введение¶
Сервер, реализующий ICAP-протокол, позволяет фильтровать и изменять HTTP(S)-запросы и HTTP(S)-ответы. Например, для антивирусной защиты, мониторинга и фильтрации нежелательного трафика, запрета доступа к определённым ресурсам и т.д.
Начиная с версии 5.2, в Staffcop Enetrprise доступен перехват следующих событий, зарегистрированных на ICAP-сервере:
файлы в POST-запросах;
посещение сайтов;
данные веб-форм;
чаты MS Teams;
чаты Bitrix24.
Предварительная настройка¶
Для перехвата трафика на ICAP-сервере понадобятся:
установленный и настроенный сервер Staffcop Enterprise;
прокси-сервер или UTM, настроенный для работы в сети пользователя;
ICAP-клиент, настроенный на прокси-сервере и передающий сведения на ICAP-сервер Staffcop.
Сервер Staffcop¶
Установка и подготовка к работе сервера Staffcop описаны в разделе Pуководство администратора.
Прокси-сервер¶
Работа модуля перехвата трафика на ICAP-сервере не зависит от прокси-сервера, который используется в системе заказчика.
В статье будет описана настройка перехвата трафика в случае, когда в сети используется Ideco UTM или Squid Proxy. При этом использовать можно любой другой прокси-сервер.
В отдельных статьях описаны процессы установки и настройки Ideco UTM и Squid Proxy. Установка и настройка UserGate UTM подробно описаны в пользовательской документации
При возникновении проблем с настройками других прокси, обратитесь в нашу службу технической поддержки.
Настройка ICAP-клиента¶
Чтобы настроить UserGate UTM в качестве ICAP-клиента
В веб-интерфейсе UserGate UTM в разделе Политики безопасности - ICAP-серверы добавьте новый сервер
В открывшемся окне Свойства ICAP-сервера на вкладке Общие укажите:
в строке Адрес сервера - IP-адрес сервера Staffcop;
в строке Порт - номер порта (по умолчанию - 13440);
активируйте опцию Пропускать при ошибках;
заполните значения в полях Название, Описание, Максимальный размер пакета и Период проверки доступности….
На вкладке Данные заполните поля Reqmod путь и Pespmod путь. Полный путь имеет вид icap://ip_address:13440/staffcop. Поскольку IP-адрес и номер порта указаны на вкладке Общие, в строках Reqmod путь и Pespmod путь укажите только /staffcop.
В разделе Политик безопасности - ICAP-правила создайте новое правило, по которому будет работать ICAP-сервер.
В окне создания нового правила на вкладке Общие укажите его название, описание и добавьте действие Переслать и игнорировать.
На вкладке ICAP-серверы выберите только что созданный ICAP-сервер.
На вкладке HTTP-метод укажите методы GET и POST.
На вкладке Сервисы в окне выбора добавляемых сервисов выберите только протокол HTTP.
Сохраните созданное правило и в окне ICAP-серверы дождитесь зелёного значка установления связи с сервером.
Готово! ICAP-сервер настроен и работает.
Теперь настройте правила расшифровки трафика на сервере:
В разделе Политики безпасности - Инспектирование SSL создайте новое правило:
в строке Действие укажите Расшифровать;
Профиль SSL оставьте без изменений;
включите Запись в журнал правил по желанию.
На вкладке Сервисы добавьте только HTTPS.
Настройте правила расшифровки трафика под свои требования согласно официальной документации UserGate UTM
В настройках межсетевого экрана разрешите трафик между локальной и внешней сетью. Также, если в локальной сети есть серверы с веб-интерфейсом (например, Staffcop) и пользователи, которые к нему подключаются, укажите в назначении саму локальную сеть.
Включите NAT из локальной сети во внешнюю для корректной работы прокси-сервера.
Готово! Настройка UserGate UTM завершена.
Настройте перенаправление трафика на ICAP-сервер Staffcop:
В разделе Сервисы - Прокси перейдите на вкладку ICAP. В строках URI REQMOD и URI RESPMOD укажите адрес ICAP-сервера Staffcop и порт для подключения. По умолчанию ICAP-сервер Staffcop использует для подключения порт 13440. В общем виде запись адреса будет иметь вид:
icap://10.0.0.1:13440/staffcop
Настройте перехват ICAP. В разделе Правила трафика - Контент-фильтр создайте правило фильтрации. Включите опцию Расшифровать. Это правило позволяет расшифровывать трафик, идущий по HTTPS-соединению, всем встроенным в Ideco UTM модулям и внешним ICAP-серверам.
Готово! Ideco UTM настроен и передаёт трафик на ICAP-сервер, предоставляемый Staffcop. Можно переходить к настройке работы самого Staffcop-сервера.
Для Squid Proxy версий 3.5 и выше, поддержка ICAP включена автоматически.
Для Squid Proxy версий ниже 3.5, при создании конфигурации пакетов в файл /usr/src/squid/squid3-3.5.27/debian/rules необходимо добавить строку –enable-icap-client.
Чтобы настроить на Squid Proxy подключение к ICAP серверу Staffcop, в конфигурационный файл /etc/squid/squid.conf внесите следующие изменения:
icap_enable on
icap_service_failure_limit -1
icap_preview_enable on
icap_preview_size 4096
adaptation_send_client_ip on
adaptation_send_username on
icap_service service_req reqmod_precache bypass=0 icap://ip_address:port/staffcop
icap_service service_resp respmod_precache bypass=0 icap://ip_address:port/staffcop
adaptation_access service_req allow all
adaptation_access service_resp allow all
Здесь icap://ip_address:port/staffcop - IP-адрес и порт сервера Staffcop, на котором запущена ICAP-служба.
После этого перезагрузите конфигурацию и перезапустите сервис:
squid -z
systemctl daemon-reload
systemctl restart squid
Настройка прокси-сервера завершена.
Перехват ICAP¶
Чтобы настроить перехват на сервере Staffcop, обновите список доступных пакетов и установите дополнительную библиотеку:
sudo apt-get update
sudo apt-get install libatomic1
Запустите ICAP-службу сервера Staffcop и проверьте её на ошибки:
staffcop enable-icap
staffcop icap dev
Чтобы служба ICAP работала не только на IPv6, в конфигурационном файле /etc/staffcop/icap.conf в строке Port укажите IP-адрес сервера:
Port ip_address:13440
Сохраните внесённые изменения и перезапустите службы строго в указанном порядке:
systemctl daemon-reload
staffcop icap stop
staffcop icap start
Проверить, что запуск перехвата прошёл успешно можно в логе событий. Для этого в консоли сервера Staffcop выполните команду:
sudo tail -n 10 /var/log/staffcop/icap-access.log
Если перехват запущен и работает в штатном режиме, запись в логах будет примерно такой:
В веб-интерфейсе Staffcop должен появиться новый пользователь ICAP. События для этого пользователя начнут генерироваться, как только поступят первые данные с прокси-сервера.
Готово! Трафик с ICAP-сервера перехватывается сервером Staffcop. Все события присваиваются пользователю ICAP.