Настройка Squid для взаимодействия с drweb-icapd

Общая схема взаимодействия Squid, drweb-icapd и клиента:

Рис. 16. Общая схема взаимодействия прокси-сервера, drweb-icapd и клиента

В данной схеме клиент взаимодействует с HTTP-сервером через прокси-сервер. При этом прокси-сервер является одновременно ICAP-клиентом по отношению к ICAP-серверу drweb-icapd. Модуль drweb-icapd, в свою очередь, является клиентом по отношению к Dr.Web Daemon. Модуль drweb-icapd позволяет проверять на наличие вирусов с помощью Dr.Web Daemon весь исходящий от HTTP-сервера HTTP-трафик, переданный прокси-сервером по протоколу ICAP. Заметим, что данная схема не позволяет проверять FTP-трафик. Организация такой проверки с использованием Squid описана далее.

Также следует уточнить, что проверка HTTPS-трафика не производится, поскольку этот протокол передает данные в зашифрованном виде, и их невозможно расшифровать, не имея открытого ключа сервера, осуществившего передачу.

Для обеспечения взаимодействия между Squid и Dr.Web ICAPD требуется отредактировать конфигурационный файл squid.conf с целью подключения возможности использования ICAP-протокола (этот файл обычно находится в каталоге /usr/local/squid/etc/).

Порядок настройки ICAP-взаимодействия зависит от используемой версии сервера Squid.

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

1. Подключение возможности использования протокола ICAP:

icap_enable on

2. Регистрация новой службы ICAP:

для Squid 3.0:

icap_service service_1 respmod_precache 0 icap://127.0.0.1:1344/respmod
icap_class class_1 service_1
icap_access class_1 allow all

для Squid 3.1:

icap_service service_1 respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access service_1 allow all

Внимание!

Обратите внимание, что адрес и порт, указанные в icap_service, должны совпадать с адресом и портом, указанными в параметрах BindAddress и BindPort конфигурационного файла Dr.Web ICAPD.

При использовании возможности ICAP preview необходимы дополнительные настройки.

3. Подключение возможности использования режима ICAP preview:

icap_preview_enable on

4. Установка размера тела сообщения (в байтах), посылаемого в ICAP preview:

icap_preview_size 0

Внимание!

Обратите внимание, что для прокси-сервера Squid установка любого другого значения этого параметра, кроме 0 при включенном ICAP preview, и -1 при выключенном, не имеет никакого эффекта (т.е. в данный момент не имеется возможность регулировать размер предпросматриваемых объектов).

5. Для вывода в файл отчета информации об IP-адресе клиента, запрашивающего ресурс:

icap_send_client_ip on

6. Для поддержки постоянных соединений между drweb-icapd и Squid, что повышает производительность:

icap_persistent_connections on

Внимание!

В связи с тем, что на данный момент в Squid не реализован режим respmod-postcache, при использовании данного прокси-сервера невозможно произвести проверку контента после того, как он попал в кэш.