Установка HAVP в Ubuntu

6 Сен
2008

Баннеры не самая не приятная вещь, которую можно встретить на Интернет сайтах. Большая часть вирусов загружается с различных ресурсов самими пользователями. Задача любого админа не допустить этого. Можно просто блокировать файлы с определенным расширением или типом, но это применимо не всегда. Поэтому давай разбираться как добавить в нашу схему проверку трафика антивирусом.


Для этой цели подходят как минимум два проекта. Решение SquidClamAv является редиректором, работающим с антивирусом ClamAV и позволяет проверять выборочно файлы, основываясь на расширении или контексте. Несколько более продвинутый вариант — HAVP (HTTP Anti Virus Proxy, www.server-side.de). Он умеет проверять трафик на лету при помощи нескольких антивирусов (ClamAV, F-Prot, Kaspersky, NOD32, Sophos, AVG, Dr.Web и некоторыми другими). Так как HAVP это не редиректор, то он может работать как в связке со Squid, так и в одиночку, обеспечивая прозрачный прокси.
Оба решения достаточно просты, гибки в настройках и работают стабильно. Использовав связку Squid + HAVP можно реализовать несколько схем работы: squid+havp, havp+squid, squid+havp+squid, havp+squid. Плюс сюда можно легко добавить adzapper и bfilter. Кроме того, HAVP есть в репозитариях большинства дистрибутивов, что заметно упрощает процесс установки, так как не нужно производить ряд операций вручную. А поэтому будем знакомиться именно с ним. Ставим:

$ sudo apt-get install havp clamav

В процессе установки будет добавлен системный пользователь и группа havp. Также будет установлен пакет clamav-freshclam, который необходим для автоматического обновления антивирусных баз. В настройках по умолчанию HAVP проверят файлы на наличие вирусов при помощи libclamav.
При больших нагрузках вероятно лучше для этих целей использовать демона clamd. В этом случае необходимо дополнительно установить пакет clamav-daemon и затем изменить настройки в конфиге HAVP. Если в процессе установки будет получена ошибка вроде:

Starting havp: Starting HAVP Version: 0.86
LibClamAV Error: cl_loaddbdir(): Can’t get status of /var/lib/clamav/
One or more scanners failed to initialize!

Это означает, что libclamav на момент запуска HAVP не установлена, просто введите “sudo apt-get –f install”. Сейчас HAVP и Squid работают каждый сам по себе. Запустив “netstat” увидишь, что стал дополнительно прослушиваться порт 8080 (напомню, что squid по умолчанию работает на 3128).
Для проверки работоспособности HAVP настраиваем веб-браузер на работу через HAVP, заходим на страницу www.eicar.org/anti_virus_test_file.htm и пробуем скачать тестовый вирус. Если в ответ получаем сообщение, что файл заблокирован, идем дальше.

havp

HAVP обнаружил вирус

Все комбинации HAVP+Squid рассматривать не буду. Сначала рассмотрим как подключить HAVP в качестве Parent proxy для Squid. То есть клиент подключается к Squid, а Squid через HAVP уже выходит в Интернет. Это весьма простой в реализации и к тому же более рациональный вариант, так как весь входящий трафик проверяется антивирусом, а страницы из кэша Squid выдаются без проверки. Открываем squid.conf и пишем:
$ sudo mcedit /etc/squid/squid.conf

cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
# будем проверять только HTTP
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP
В самом простом случае достаточно первой строки, остальные задают дополнительные параметры. Подключаемся к сайту Eicar и проверяем, как работает указанная схема. Добавляем в crontab строчку для автоматического обновления антивирусных баз:

0 * * * * /usr/bin/freshclam -quiet

В итоге мы получили полнофункциональную систему, кэширующую трафик, блокирующую вирусы и рекламу.

6 Комментариев к Установка HAVP в Ubuntu

Аватар

Linuxoid - все что знаю о Туксе » Архив блога » Настройка SquidClamAv

Сентябрь 6th, 2008 | 14:53

[...] поэтому несколько более сложный в настройке вариант — HAVP (HTTP Anti Virus Proxy, http://www.server-side.de), пакет которого имеется в [...]

Аватар

Linuxoid - все что знаю о Туксе » Архив блога » Конфигурационный файл HAVP

Сентябрь 9th, 2008 | 7:29

[...] предыдущем примере мы даже не заглянули в конфиг HAVP. Все должно работать и [...]

Аватар

Goodvin

Сентябрь 10th, 2008 | 7:55

А как насчет докачки файлов через такой слоеный пирог ?
:)

Аватар

AMIGO

Декабрь 21st, 2008 | 15:17

Отличная статья Спасибо огромное

Аватар

baddan

Май 8th, 2009 | 5:03

2 Goodvin

in havp.conf

RANGE true

Аватар

Linka

Апрель 20th, 2010 | 13:40

После добавления строчек в squid.conf вышло вот такое:
Restarting Squid HTTP proxy: squid Waiting…………………done.
2010/04/20 18:37:44| parse_peer: token=’no-quiery’
FATAL: Bungled squid.conf line 45: cache_peer 127.0.0.1 parent 8080 0 no-quiery no -digest no-netd b-exchange default
Squid Cache (Version 2.7.STABLE3): Terminated abnormally.
failed!

Комментировать

Наверх