В предыдущем примере мы даже не заглянули в конфиг HAVP. Все должно работать и без вмешательства, с параметрами по умолчанию.
Если понадобится реализовать обратную схему, то есть когда в качестве Parent выступает Squid, наоборот все настройки производятся в конфигурационном файле HAVP — /etc/havp/havp.config:
$ sudo mcedit /etc/havp/havp.config
# порт и адрес, на котором принимает соединения HAVP
PORT 8080
BIND_ADDRESS 127.0.0.1
# можно дополнительно укзать IP-адрес интерфейса для исходящих пакетов
#SOURCE_ADDRESS 1.2.3.4
# указываем в качестве Parent прокси Squid
PARENTPROXY 127.0.0.1
PARENTPORT 3128
Теперь подключаемся веб-браузером к порту 8080 и при подключении к серверу проходим цепочку HAVP-Squid-веб-сервер. Еще несколько моментов в конфигурационном файле, на которые хотелось бы обратить внимание. Например, пользователь и группа от имени которых работает HAVP указаны в параметре:
USER havp
GROUP havp
Он должен иметь возможности чтения и записи во все рабочие каталоги. Кроме того, часто появляется ошибка “Permissions denied” при работе с антивирусом. Чтобы не было в дальнейшем проблем с доступом, я добавляю пользователя havp в группу clamav (или другую от имени которой работает антивирус).
Количество процессов запускаемых демоном HAVP определяется двумя параметрами:
SERVERNUMBER 8
MAXSERVERS 100
Значения по умолчанию подходят для домашнего использования или небольшой организации, иначе установите SERVERNUMBER в зависимости от количества клиентов.
Еще два не менее ценных параметра:
SCANTEMPFILE /var/spool/havp/havp-XXXXXX
TEMPDIR /var/tmp
Здесь указывается шаблон и размещение временных файлов HAVP и каталог для временных файлов антивируса. В руководствах доступных в Интернет и документации HAVP сказано, что SCANTEMPFILE должен размещаться в разделе, смонтированном с использованием параметра mand. Майтайнер пакета упростил тебе задачу, и в стартовом скрипте /etc/init.d/havp есть все, что нужно. В чем можно убедиться, введя команду “mount” после загрузки HAVP:
$ mount
/var/lib/havp/havp.loop on /var/spool/havp type ext3 (rw,mand,loop=/dev/loop/0)
Хотя при больших нагрузках на сервер лучше вынести этот каталог в ОЗУ:
$ sudo mount -t tmpfs -o size=100M,mand tmpfs /var/spool/havp
И /etc/fstab:
tmpfs /var/spool/havp tmpfs auto,size=100M,mand 0 0
В комплекте HAVP есть несколько шаблонов веб-страниц, которые выводятся юзеру при обнаружении вируса и возникновении других проблем. Подключаем русские шаблоны:
TEMPLATEPATH /etc/havp/templates/ru
Кстати ни кто не мешает подправить html файлы внутри этого каталога, по своему вкусу.
В HAVP также поддерживаются белый и черный списки. Вся информация с первого проходит без проверки на вирусы, URL занесенные во второй список блокируются:
WHITELISTFIRST true
WHITELIST /etc/havp/whitelist
BLACKLIST /etc/havp/blacklist
Внутри этих файлов содержатся шаблоны URL. Например, если занести в whitelist строку:
*/*.gif
То все GIF файлы будут проходить без проверки. Некоторые типы архивов ClamAV проверять не умеет, чтобы пользователь не получал сообщение об ошибке, разрешим пропускать такие файлы, заодно отключаем сканирование изображений, ограничим размер проверяемых объектов и другая оптимизация:
FAILSCANERROR false
SCANIMAGES false
MAXSCANSIZE 5000000
STREAMUSERAGENT Player Winamp iTunes QuickTime Audio RMA/ MAD/ Foobar2000 XMMS
Это конечно не все параметры, но уж слишком большие возможности у HAVP.
Теперь разберем, как подключается к HAVP антивирус ClamAV. По умолчанию проверка производится при помощи libclamav:
ENABLECLAMLIB true
CLAMDBDIR /var/lib/clamav
Причем нужно проследить, чтобы параметр CLAMDBDIR указывал на тот же каталог, что и параметр DatabaseDirectory в файле /etc/clamav/clamd.conf. Хотя если в журнале HAVP /var/log/havp/access.log видим запись вроде:
— Initializing ClamAV Library Scanner
ClamAV: Using database directory: /var/lib/clamav/
ClamAV: Loaded 244019 signatures (engine 0.92)
ClamAV Library Scanner passed EICAR virus test (Eicar-Test-Signature)
— All scanners initialized
Process ID: 8406
Значит все путем и ничего трогать не нужно. Далее в havp.config идут параметры определяющие поведение ClamAV при сканировании зашифрованных архивов, максимальный размер проверяемого файла и другие. Чтобы вместо libclamav использовать демон clamd, комментируем предыдущие строки, и пишем:
ENABLECLAMD true
CLAMDSOCKET /var/run/clamav/clamd.ctl
Значение второго параметра берем из переменной LocalSocket файла clamd.conf. Этот как раз тот случай, когда включение havp в группу clamav не будет лишним.
//
Благодарю! Хорошо что нарвался на ваш сайт!