Ключевые слова:clamav, virus, squid, (найти похожие документы)
From: Roman Sozinov <http://sozinov.blogspot.com>
Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC)
Subject: Подключение антивирусного пакета Clamav к Squid
Оригинал:http://sozinov.blogspot.com/2007/04/clamav-squid.html
Данное описание применимо к Debian 4.0 (Etch). Все сервисы, кроме
squidclamav, установлены из доступных в репозитарии, пакетов. Перед
началом необходимо убедиться в наличии и рабочем состоянии следующих
сервисов (пакетов):
* Squid (2.6.5)
* Apache (1.3.34)
* ClamAv (0.90.1)
* libcurl3-dev (7.15.5)
* libcurl3 (7.15.5)
Apache и ClamAv не требуют дополнительной настройки после установки
через apt-get. Описание "Установка Debian-маршрутизатора с
возможностями прозрачного proxy-сервера" содержит подборную установку
и настройку Squid.
Связующим звеном между Squid и ClamAv является редиректор squidclamav
(написан на С, на момент написания этих строк последней версией была
версия 3.0). Существует еще один редиректор squidclamav, но он написан
на python и мною не тестировался.
Перед тем, как остановить свой выбор на squidclamav, я рассмотрел еще
3 реализации антивирусной проверки на базе Squid + Clamav:
* i-cap - так как хотелось использовать Squid из Debian репозитария,
пришлось отбросить данный вариант, так как в дебиановской сборке
отсутствует поддержка i-cap, и мне не удалось найти i-cap патча
для ручной пересборки.
* squidclam - очень сырой, так и не удалось добиться
работоспособности
* viralator - требует наличия squidGuard, но заставить работать мне
его так и не удалось. Запрашиваемые файлы передаются на обработку
этому скрипту, но он только показывает popup, а сам ничего не
выполняет. Да и popup - для каждого скачиваемого файла - очень
неудобно.
Лог действий:
1. Собрать из исходников данный редиректор
tar zxf squidclamav-x.x.tar.gz
cd squidclamav
./configure --prefix=/usr/local/squidclamav
make
make install
2. Отредактировать конфигурационный файл, взяв за основу идущий в
дистрибутиве
cp squidclamav.conf.dist /etc/squidclamav.conf
Пример рабочего конфигурационного файла (проверяет все файлы c
mime-type application и с расширениями .dll):
logfile /var/log/squid/squidclamav.log
redirect http://192.168.1.254/cgi-bin/clwarn.cgi
debug 0
force 1
stat 1
clamd_local /var/run/clamav/clamd.ctl
timeout 60
abort ^.*\.php$
abort ^.*\.gz$
abort ^.*\.bz2$
abort ^.*\.pdf$
abort ^.*\.js$
abort ^.*\.html$
abort ^.*\.css$
abort ^.*\.xml$
abort ^.*\.xsl$
abort ^.*\.js$
abort ^.*\.ico$
aborti ^.*\.gif$
aborti ^.*\.png$
aborti ^.*\.jpg$
aborti ^.*\.swf$
content ^.*application\/.*$
regexi ^.*\.dll$
3. Добавить описание редиректора в основной конфигурационный файл
Squid'a - /etc/squid/squid.conf
redirect_program /usr/local/squidclamav/bin/squidclamav
redirect_children 15
4. Разместить в cgi-bin директории файл clwarn.cgi, на который будет
пересылаться запрос в случае обнаружения вируса
cp clwarn.cgi /usr/lib/cgi-bin/clwarn.cgi
5. Перезапустить Squid, проверить в логах Squid'а запустились ли
процессы squidclamav-редиректора. Если всё ок, попробовать скачать
файл, содержащий вирус. Тестовые вирусы можно найти здесь.
Ссылки:
1. Squidclamav
2. eicar THE ANTI-VIRUS OR ANTI-MALWARE TEST FILE
Надо также сделать "sudo aptitude install clamav-daemon"
Но у меня другая проблема - не перенаправляет запрос на http://192.168.1.254/cgi-bin/clwarn.cgi При этом загрузка процессора на сервере - 0, но инет тупит страшно.
По логам clamav находит тестовый вирус в http-потоке.
На Debian 6.0 + Squid 2.7 + squidclamav 5.6 + ntlm
В логах squidclamav:
looking for Content-Type of url http://www.eicar.org/download/eicar.com Thu Jan 26 17:06:34 2012 [6955] DEBUG bad header (22: The requested URL returned error: 407)
Thu Jan 26 17:06:34 2012 [6955] DEBUG bad header (22: The requested URL returned error: 407)
Thu Jan 26 17:06:34 2012 [6955] DEBUG File size is -1.00
Так понимаю, что курл не может пройти авторизация на прокси и выкачать файл на проверку.