В этом разделе
•Настройка параметров Dr.Web ICAPD
•Настройка параметров Squid
•Дополнительные настройки Squid
Настройка параметров Dr.Web ICAPD
Для интеграции Dr.Web ICAPD с прокси-сервером HTTP Squid нужно проверить и при необходимости изменить значения ряда параметров в секции настроек Dr.Web ICAPD (секция [ICAPD]):
•В параметре ListenAddress укажите путь к сетевому сокету (<IP-адрес>:<порт>), который Dr.Web ICAPD будет прослушивать в ожидании подключений от прокси-сервера (по умолчанию используется сокет 127.0.0.1:1344).
•В параметрах Block* включите или отключите категории веб-сайтов и типы угроз, которые должен блокировать и наоборот, разрешать Dr.Web ICAPD.
•При необходимости укажите пути доменов доступ к которым должен блокироваться при любых условиях, в параметре BlackList. В параметре WhiteList вы можете указать пути к доменам, доступ к которым никогда не должен блокироваться.
|
Параметр BlackList имеет приоритет над параметром WhiteList. Если один и тот же домен указан в значениях обоих параметров, он будет заблокирован.
|
•Для более детальной настройки доступа к веб-сайтам (в зависимости от условий) отредактируйте правила проверки.
|
Значения параметров UsePreview, Use204 и AllowEarlyResponse в секции настроек Dr.Web ICAPD, заданные по умолчанию, разрешают использование компонентом соответствующих возможностей протокола ICAP (использование режима ICAP preview, возврат кода 204 не только в режиме ICAP preview и «раннее» начало отправки ответа клиенту, не дожидаясь окончания приема запроса, поступившего от прокси-сервера). Значения этих параметров рекомендуется оставить заданными по умолчанию, изменяя их только в случае возникновения проблем в обработке HTTP-запросов.
|
После внесения изменений в настройки перезапустите Dr.Web для интернет-шлюзов UNIX, выполнив команду:
Также вы можете перезапустить демон управления конфигурацией Dr.Web ConfigD с помощью команды:
# service drweb-configd restart
|
Настройка параметров Squid
Для обеспечения взаимодействия между Squid и Dr.Web ICAPD требуется указать в конфигурационном файле squid.conf (обычно он находится в каталоге /etc/squid3/) настройки для активации протокола ICAP. Для настройки интеграции с Dr.Web для интернет-шлюзов UNIX ICAP необходимо:
1.Активировать протокол ICAP в настройках Squid.
2.Зарегистрировать Dr.Web ICAPD в качестве службы ICAP для Squid.
3.Активировать режим ICAP preview (опционально).
4.Разрешить передачу данных клиентов (IP-адреса и аутентифицированного на прокси-сервере имени пользователя) для использования в правилах Dr.Web ICAPD (опционально).
5.Активировать поддержку постоянных соединений между Dr.Web ICAPD и Squid (опционально; использование постоянных соединений необязательно, но повышает производительность связки Squid + Dr.Web ICAPD).
|
•Чтобы Squid проверял через ICAP HTTP-запросы (REQMOD) и HTTP-ответы (RESPMOD), требуется добавить две службы ICAP соответствующего типа.
•Чтобы Squid использовал Dr.Web ICAPD в качестве службы ICAP, адрес и порт, указанные в icap_service, должны совпадать с адресом и портом, указанными в параметре ListenAddress настроек Dr.Web ICAPD.
•Dr.Web ICAPD не будет работать со Squid, если значение icap_preview_size не равно 0.
•Значения «IP-адрес клиента» и «Имя пользователя» Squid формирует самостоятельно и передает их Dr.Web ICAPD в ICAP-запросе в заголовках X-Client-Username и X-Client-IP. Значения этих заголовков должны быть закодированы с при помощи методов, используемых Squid. Настройки Squid, которые влияют на способ кодирования этих заголовков (icap_client_username_encode и icap_client_username_header) изменять не следует. |
|
Для интеграции с Dr.Web для интернет-шлюзов UNIX Squid должен быть собран с поддержкой ICAP (т. е. скомпилирован с опцией --enable-icap-client). В противном случае подключение Squid к Dr.Web ICAPD невозможно.
Для работы по протоколу HTTPS Squid должен быть собран с поддержкой SSL-сертификатов (скомпилирован с опциями --with-openssl и --enable-ssl-crtd). В настройках Squid должен обязательно быть активирован SSL Bumping.
|
Настройки для разных версий Squid могут различаться. В этом разделе приведены три варианта настройки для следующих версий Squid: 3.2 и более ранних, 3.1, и 3.0. Откорректируйте ваш конфигурационный файл в соответствии с примерами.
Если строки из примеров ниже в вашем конфигурационном файле закомментированы, раскомментируйте их. Если строки из примеров отсутствуют в вашем конфигурационном файле, просто добавьте их.
|
Для настройки взаимодействия между Dr.Web ICAPD и Squid обязательны только параметры из секций №1 и №2. Настройки из секций №3 и №4 являются факультативными.
|
Для Squid 3.2 и более поздних версий
#1
icap_enable on
#2
icap_service i_req reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
icap_service i_res respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access i_req allow all
adaptation_access i_res allow all
#3
icap_preview_enable on
icap_preview_size 0
#4 (В версии Squid 3.2 параметры icap_send_client_ip и icap_send_client_username были переименованы)
adaptation_send_client_ip on
adaptation_send_username on
#5
icap_persistent_connections on
|
Для Squid версии 3.1
#1
icap_enable on
#2 (В версии Squid 3.1 формат определения сервиса был изменен, а параметр icap_access был переименован)
icap_service i_req reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
icap_service i_res respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access i_req allow all
adaptation_access i_res allow all
#3
icap_preview_enable on
icap_preview_size 0
#4
icap_send_client_ip on
icap_send_client_username on
#5
icap_persistent_connections on
|
Для Squid версии 3.0
#1
icap_enable on
#2
icap_service i_req reqmod_precache 0 icap://127.0.0.1:1344/reqmod
icap_service i_res respmod_precache 0 icap://127.0.0.1:1344/respmod
icap_class icapd_class_req i_req
icap_class icapd_class_resp i_res
icap_access icapd_class_req allow all
icap_access icapd_class_resp allow all
#3
icap_preview_enable on
icap_preview_size 0
#4
icap_send_client_ip on
icap_send_client_username on
#5
icap_persistent_connections on
|
После редактирования конфигурационного файла и сохранения изменений нужно перезапустить Squid.
Дополнительные настройки Squid: ограничение размера данных
При необходимости вы можете ограничить размер данных, которые Squid будет передавать на проверку по протоколу ICAP. Для этого в конфигурационном файле укажите в значении заголовка Content-Length конкретную цифру или регулярное выражение, например:
acl <name> rep_header Content-Length ^[0-9]{7,}$
|
В этом примере условие <name> будет выполняться, если значение заголовка Content-Length превышает 999999.
Условие из примера выше можно использовать для разрешения (allow) или запрета (deny) проверки ответа от сервера по протоколу ICAP (в параметрах подключения Squid к внешнему ICAP-серверу all потребуется заменить на имя условия <name>).
Ниже приводится пример настроек для запрета проверки ответов, для которых условие <name> выполняется:
#версия Squid 3.1 и более поздняя
adaptation_access i_res deny <name>
#версия Squid 3.0 и более поздняя
icap_access icapd_class_resp deny <name>
|
|
Заголовок Content-Length может отсутствовать в ответе веб-сервера. В этом случае описанные выше настройки не будут действовать.
|
Подробные инструкции по настройке ограничения проверки веб-трафика для Squid приведены в официальной документации (на английском языке).
|
Чтобы измененные настройки вступили в силу, необходимо перезапустить Squid.
|
|