@ Карта сайта News Автора!

Bog BOS: Блокировка вирусов при работе с прокси-сервером squid

Последние изменения:
2024.03.28: sysadmin: Файловая система zfs под Linux для архива (обновление от 0.6 до 2.2)

Последнее изменение файла: 2009.10.29
Скопировано с www.bog.pp.ru: 2024.04.26

Bog BOS: Блокировка вирусов при работе с прокси-сервером squid

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

Для блокировки вирусов при работе с прокси-сервером squid можно использовать следующие схемы:

Во всех случаях используется антивирус clamav, который необходимо установить предварительно. Коммерческие антивирусы имеют в своём составе собственные ICAP серверы.

HAVP

Использование промежуточного прокси-сервера HAVP. К сожалению, браузеры пользователей должны быть настроены на обращение к этому промежуточному прокси, что означает повторную борьбу с аутентификацией/авторизацией.

viralator

viralator использует сложную схему: браузер обращается к squid, squid использует squidGuard, в настройках squidGuard делается перенаправление на локальный сервер apache, у которого в качестве cgi-скрипта использует viralator, который в свою очередь пропускает запрос через clamscan (описание настройки). Помимо некоторой громозкости (мягко говоря) данная архитектура предполагает самостоятельную загрузку объектов из Интернет в дополнение к загрузке их squid-ом.

Squidclam

Squidclam Squid использует squidclam в качестве редиректора. Архитектура проще, чем в предыдущем случае, но опять-таки этот специализированный редиректор самостоятельно загружает объекты из Интернет в дополнение к загрузке их squid-ом (с помощью libcurl).

c-icap

c-icap представляет собой сервер протокола icap, squid выступает клиентом данного сервера. Протокол icap позволяет направить запросы браузера к прокси на сервер icap для проверки прав доступа, а ответы от HTTP-сервера для проверки на вирусы. Пока сервер обеспечивает сервис проверки на вирусы с помощью clamav (libclamav), сервис проверки URL (не описан) и тестовый сервис echo. Сервер c-icap поддерживает модули (logger, service_handler, access_controller, auth_method, authenticator) и сервисы (echo_module, url_check_module, antivirus_module). Обрабатывается только HTTP трафик.

Установка c_icap (версия от 18 апреля 2007) на CentOS4.5:

Настройка c-icap.conf (каждая директива на отдельной строке, первое поле - имя директивы, остальные поля - параметры, поля разделяются пробелами, комментарии начинаются с символа '#'; имена директив для модулей и сервисов начинаются с имени модуля или сервиса, за которым идёт символ '.'):

Настройка типов файлов и групп типов по их содержимому задаётся в c-icap.magic (идея от file, но простенько). Группы: EXECUTABLE, ARCHIVE, GRAPHICS, STREAM, DOCUMENT, TEXT, DATA.

Ключи запуска:

Управление сервером производится через сокет, команды:

Ключи тестового клиента icap-client:

Настройка Squid для работы с сервером ICAP

В Squid 3.0 клиент будет встроенным, а в 2.6.12 необходимо накладывать заплатку (patch -p1 < icap-2_6.patch), затем ещё заплатку, затем в src/http.c сдублировать первый параметр при вызове storeCreateEntry, затем в src/icap_reqmod.c убрать длину из вызова urlParseMethod, там же заменить RequestMethods на RequestMethodStr, затем запустить autoreconf (aclocal, autoconf, "touch NEWS AUTHORS", automake), далее сборка как обычно с ключом --enable-icap-support в ./configure.

Настройка ICAP в squid.conf:

Надеюсь, что никому не пришло в голову делать это на боевой машине, т.к. глючит немерянно. В частности, иногда "откладывает" закрытие файлов настолько, что заканчивается запас дескрипторов файлов. Конечно, можно увеличить ulimit перед запуском, но я предпочёл подождать выхода Squid 3.

В комплекте с Dr.Web можно было получить работоспособную версию Squid 2.5.12, но нам надо 2.6.

Ссылки

@ Карта сайта News Автора!

Bog BOS: Блокировка вирусов при работе с прокси-сервером squid

Последние изменения:
2024.03.28: sysadmin: Файловая система zfs под Linux для архива (обновление от 0.6 до 2.2)



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru