Интеграция с прокси-сервером Squid |
![]() ![]() ![]() |
1) Настройка параметров 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. •При необходимости, задавая значения параметров WhiteList и BlackList, определите пути к доменам, доступ к которым не должен блокироваться, или наоборот, должен блокироваться безусловно. Обратите внимание, что параметр BlackList имеет приоритет над параметром WhiteList, т.е. если один и тот же домен включен в оба параметра, то доступ к нему будет блокироваться. •Для более тонкой настройки доступа к сайтам (в зависимости от условий) отредактируйте правила проверки.
После внесения изменений в настройки следует перезапустить Dr.Web для Интернет-шлюзов UNIX (используйте команду drweb-ctl reload). Также вы можете выполнить перезапуск демона управления конфигурацией Dr.Web ConfigD (используйте команду service drweb-configd restart). 2) Настройка параметров Squid Для обеспечения взаимодействия между Squid и Dr.Web ICAPD требуется отредактировать конфигурационный файл squid.conf с целью подключения возможности использования протокола ICAP (этот файл обычно находится в каталоге /etc/squid3/). Настройка Squid состоит в задании следующих параметров: 1.Включение использования Squid протокола ICAP. 2.Регистрация Dr.Web ICAPD в качестве службы ICAP, используемой Squid. 3.Включение использования режима ICAP preview (опционально). 4.Разрешение передачи данных клиентов (IP-адреса и аутентифицированного на прокси-сервере имени пользователя) для использования в правилах Dr.Web ICAPD (опционально). 5.Включение поддержки постоянных соединений между Dr.Web ICAPD и Squid (опционально; использование постоянных соединений необязательно, но повышает производительность связки Squid + Dr.Web ICAPD). При настройке Squid следует иметь в виду следующее: •Чтобы 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-запроса. Достоверность и наличие этих данных не гарантируется. Dr.Web ICAPD предполагает, что имя пользователя и его IP-адрес передаются прокси-сервером в заголовках X-Client-Username и X-Client-IP, без использования методов кодирования значений, отличных от настроек, заданных для Squid по умолчанию. Поэтому не следует изменять значения параметров в настройке Squid, влияющих на способ передачи этих значений (таких как icap_client_username_encode и icap_client_username_header).
Перечень настраиваемых параметров настройки зависит от используемой версии сервера Squid (ниже приведено три варианта настройки: для Squid версии 3.2 (и старше), 3.1, и для версии 3.0). Если нижеприведенные строки уже есть в конфигурационном файле, то нужно исправить их значения на указанные ниже. Если указанные параметры присутствуют в файле, но закомментированы – раскомментируйте их. В случае отсутствия требуемых параметров в файле конфигурации Squid, добавьте их в файл, например – в конец.
Для Squid версии 3.2 и старше
Для Squid версии 3.1
Для Squid версии 3.0
После внесения изменений в настройки Squid следует перезапустить его. При необходимости вы можете ограничить размер данных, которые Squid будет передавать на проверку по протоколу ICAP. Для этого в файл конфигурации следует добавить условие, которому должно удовлетворять (или не удовлетворять) содержимое заголовка Content-Length, например:
(условие <name> будет истинно, если заголовок Content-Length в ответе сервера содержит число, большее 999999). Далее добавленное условие следует использовать для разрешения (allow) или запрещения (deny) проверки ответа от сервера по протоколу ICAP (следует заменить слово all в параметрах подключения Squid к внешнему ICAP-серверу на имя условия <name>). Так как пример, указанный выше, будет истинным при наличии в заголовке Content-Length числа, большего 999999, используем его для запрещения проверки ответов, для которых условие <name> будет истинно:
После внесения изменений в настройки Squid следует перезапустить его. За дополнительными сведениями по тонкой настройке Squid для ограничения проверки веб-трафика обратитесь к документации Squid. См. например, http://www.squid-cache.org/Doc/ (на англ. языке). |