Поскольку прокси-сервер уже имелся (в лице SQUID) будем их каскадировать.
После некоторых раздумий склонился к схеме squid -> havp, что даёт чистый кэш, меньшую нагрузку на антивирус, хотя и имеются некоторые недостатки - в таком варианте HAVP не проксирует FTP, ну и если метафизический вирус попадёт в кэш, до того как.. короче, будет печально.
дистрибутив на этот раз ubuntu-server-8.04, установлен (с настройками по-умолчанию) clamav,
ну и конешно же squid
havp наличествует в репозитории:
#sudo apt-get install havp
после чего обнаружилось, что и делать больше ничего не надо =) файловая система для врменных файлов
создана с сложена в /var/lib/havp/havp.loop и монтируется из init.d-скрипта при старте с нужными опциями
(HAVP требует mount -o mand для временных файлов)
конфиг /etc/havp/havp.config показал, что для антивирусной проверки используется libclamav что не есть хорошо,
при уже и без того запущеном и работающем clamav-daemon
поэтому приводим конфиг к виду:
#слушаем порт
PORT 3129
#адрес:
BIND_ADDRESS 127.0.0.1
#использовать libclamav
ENABLECLAMLIB false
#использовать clamav-daemon
ENABLECLAMD true
#сокет
CLAMDSOCKET /var/run/clamav/clamd.ctl
#можно подключить еще кучу антивирусов, которых у меня нет =(
ENABLEFPROT false
ENABLEAVG false
ENABLEAVESERVER false
ENABLESOPHIE false
ENABLETROPHIE false
ENABLENOD32 false
ENABLEAVAST false
ENABLEARCAVIR false
Для доступа к сокета надо добавить пользователя calmav в группу havp
# sudo adduser clamav havp
теперь займемся squid.
в конфик squid.conf дописываем:
cache_peer localhost parent 3129 0 proxy-only default
acl ftp proto FTP
acl havp proto HTTP
always_direct allow ftp
always_direct deny all
never_direct allow havp
первая строка указывает сквиду на родительский прокси,
остальные разрешают прямой доступ для FTP-трафика, который HAVP в такой последовательности обработать не может.
остаётся перезапустить:
# sudo invoke-rc.d clamav-daemon restart
# sudo invoke-rc.d squid restart
# sudo invoke-rc.d havp restart
И конечно же проверить работоспособность, путём скачивания EICAR-сигнатур