SquidClamav

SquidClamav - антивирус для squid на основе ClamAv. По информации с сайта разработчика
http://squidclamav.darold.net/ :
Использование SquidClamav позволяет повысить безопасность web трафика в сети. SquidClamav наиболее эффективный squid реддиректор и icap антивирус для http траффика который доступен бесплатно, написан на С и может обрабатывать тысячи содинений. SquidClamav создан с учетом скорости и безопасности, впервые использован и протестирован для обеспечения безопасности сети с более чем 2500 пользователей. Известно также что он быстро работает с 15000+ пользователями.

Под FreeBSD будем устанавливать SquidClamav из портов, руководствуясь мануалом
http://squidclamav.darold.net/installv6.html
Предварительно проверяем следующее и если требуется вносим изменения:

squid должен быть собран с поддержкой icap-client
В конфиг squid добавляем

icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_encode off
icap_client_username_header X-Authenticated-User
icap_preview_enable on
icap_preview_size 1024
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all

Это включает ICAP клиент в squid и говорит чтобы squid отправлял имя пользователя и ip клиента icap серверу. также включается preview для ускорения работы SquidClamav. Последние 4 строки определяют как вызывать icap сервер.
bypass=1 означает что squid будет продолжать работать даже если icap или squidclamav будут давать ошибки.

c-icap нужно установить с поддержкой large-files, в конец конфига добавить

Service squidclamav squidclamav.so

Устанавливаем clamav

Устанавливаем squidclamav и вносим изменения в конфиг

clamd_local /var/run/clamav/clamd.sock
dnslookup 0

раскомментируем строки с abort и abortcontent, если надо, добавляем сюда типы файлов и содержимого.

Для тестирования работы пытаемся загрузить тестовый вирус
http://www.google.com.ua/url?url=http://www.eicar.org/download/eicar.com...
и смотрим логи, должны быть строки вида

Wed Dec 24 11:05:39 2014, 79900/25203712, DEBUG squidclamav_end_of_data_handler: received from Clamd: stream: Eicar-Test-Signature FOUND
Wed Dec 24 11:05:39 2014, 79900/25203712, DEBUG squidclamav_end_of_data_handler: Virus redirection: http://proxy.domain.dom/cgi-bin/clwarn.cgi?url=http://www.eicar.org/down... Eicar-Test-Signature FOUND.

После проверки работоспособности для ускорения работы отключаем логирование c-icap, для этого в c-icap.conf

DebugLevel 0
и закомментируем строку AccessLog /var/log/c-icap/access.log