В этой статье я расскажу как установить и настроить кэширующий прокси-сервер SQUID в связке с HAVP(HTTP Anti Virus Proxy). В результате мы получим некоторую экономию на трафике, быстродействие (в случае если страница уже находится в кэше прокси-сервера) и проверку загружаемого контента антивирусным модулем clamav. Разумеется это несколько бюджетный вариант и решение подойдет для домашнего использования и в мелких организациях, где нет возможности приобрести коммерческое и более функциональное решение. Хотя вкупе с IDC Snort и грамотно настроенным межсетевым экраном, я думаю 90-95% «заразы» отразить на шлюзе вполне реально. Итак, приступим.


В веб-административной панели pfSense переходим в менеджер пакетов и устанавливаем пакеты squid и havp. Как устанавливать пакеты подробно описано в статьях «Установка и настройка IDS/IPS SNORT в pfSense» и «Установка и настройка FreeRadius Server в pfSense», поэтому заострять подробно внимание на этом, я думаю, нет смысла.
После успешной инсталляции пакетов переходим непосредственно к их конфигурации. Здесь я сделаю некоторое отступление, я буду использовать такой вариант этой связки:
Internet — HAVP — SQUID — Client
Преимущества данного решения: в кэш прокси-сервера будет попадать заведомо проверенный антивирусным модулем контент. Соответственно кэш прокси-сервера должен быть чист и не должен содержать вредоносного ПО, но в качестве подстраховки, я думаю, время от времени все же стоит проверять содержимое кэша антивирусным модулем.

Настройка HAVP.

Переходим по вкладке Services-Antivirus и попадаем в меню настройки HTTP Anti Virus Proxy.

settingshavp

HTTP proxy:

enable включение или отключение прокси.

Proxy mode в нашем случае нужно установить в parent for squid(родительский для squid)

Proxy interfaces выставляем в LAN.

Proxy port я выбрал 8080.

Block file if error scanning отмечаем этот параметр, чтобы блокировать файлы, которые антивирусный модуль не смог просканировать.

Enable RAM disk включение данного параметра приведет к использованию оперативной памяти как хранилища для временных файлов havp, при достаточном объеме свободной RAM можно достигнуть некоторого быстродействия в сканировании. Соответственно при не достаточном объеме свободной памяти, включение данного параметра не рекомендуется.

Scan max file size определяет максимальный размер файла, который havp будет сканировать, прежде чем отдаст пользователю. Здесь можно оставить параметр по умолчанию(5000K). Размер файла имеет смысл увеличить если аппаратные ресурсы шлюза позволяют, а пользователи часто качают файлы большего объема. Хотя лично мое мнение, увеличивать этот параметр не целесообразно.

Scan images этот параметр отвечает за сканирование фото на страницах, соответственно включение данного параметра повышает безопасность, но снижает процесс сканирования. Этот параметр лучше включить.

Scan media stream включает сканирование аудио/видео потока, осуществляет защиту от эксплоитов нацеленных на медиа проигрыватели. Аналогично предыдущему параметру, лучше включить.

Syslog, log включает логирование событий, включаем эти параметры если вы будете отслеживать логи havp, вообще, я думаю лишнем не будет, хотябы быть в курсе как работает связка.
Для применения настроек жмем SAVE.

Files Scanner:
Сканирование файла или каталога, указываем путь и жмем Start scan. В качестве объекта сканирования можно задать три директории по умолчанию.

havpfilesscaner

Settings:
AV base Update с помощью выпадающего списка выбираем временной промежуток обновления баз антивирусного модуля.
Regional AV database update mirror зеркало обновлений выбираем — russian.
Syslog, Log включение ведения логов.

Для применения настроек жмем SAVE, затем обновляем базы антивирусного модуля — UPDATE_AV.

havpsettings

Настройка SQUID.

Переходим по вкладке Services-Proxy server и попадаем в меню настройки General Settings.
General Settings:

Proxy intarface интерфейс на котором «слушает» прокси, в нашем случае это LAN.

Allow users on interface включаем этот параметр для разрешения доступа к прокси пользователям входящим в одну подсеть с интерфейсом указанным в параметре Proxy intarface.

Transparent Proxy этот параметр включает прозрачный режим прокси, в этом режиме не нужно перестраивать ПО на стороне клиента. В pf создается правило перенаправления пользовательских запросов на «слушающий» порт прокси.

Enabled logging включаем ведение лога.

Suppress Squid Version включаем этот параметр, чтобы отключить вывод версии squid в заголовках http и html страниц ошибок.