DansGuardian + ClamAV: фильтруем веб-содержимое и строим антивирусную защиту
Сегодня многие компании все больше внимания уделяют информационной безопасности. Для ее обеспечения, по данным исследования IDC, российские пользователи затратили почти 42$ млн. на специализированное программное обеспечение. Но существуют и бесплатные продукты, не уступающие коммерческим по функциональности.
Я думаю, ни для кого не секрет, что большая часть вирусов попадает на компьютеры локальной сети из Интернета. Конечно, проверку на вирусы можно проводить и на локальной машине, но централизованная фильтрация трафика гораздо проще в обслуживании и позволяет экономить ресурсы компьютеров локальной сети.
DansGuardian – фильтр веб-содержимого для ОС Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, HP-UX и Solaris, использует прокси-серверы squid или oops. Он фильтрует содержимое несколькими методами: по фразам, картинкам и URL. В отличие от некоторых других фильтров, он не использует «черный лист» URL, который надо постоянно обновлять (да и к тому же Интернет большой, все не перечислишь).
Проект постоянно дорабатывается, имеется коммерческая версия под названием SmoothGuardian. В ней есть несколько дополнительных возможностей: блокировка лицензионной музыки, удаление рекламы, многоязыковая поддержка фраз фильтрования, генерация стандартных отчетов, таких как самые популярные сайты, пользователи и сайты, заблокированные чаще всего, позволяет блокировать «по часам», т.е. блокировка происходит в определенное время, и другое.
Я буду использовать именно бесплатную версию, так как ее конфигурирование считается более сложным.
Я устанавливал dansguardian на ОС Linux -Ubuntu Server Edition и Debian 5.0.4:
n Версия dansguardian – 2.10
n Версия squid – 3.1.7
n Версия clamav – 0.96.
n Версия libesmtp – 1.0.6
Dansguardian не является редиректором (как, например, squidGuard), хотя многие первоначально думают именно так. Это прокси-сервер, и он использует squid как веб-браузер. Для того чтобы пользователи не использовали squid напрямую, необходимо в конфигурационном файле firewall указать перенаправление с порта squid на порт dansguardian. Либо установить dansguardian на порт 3128, а squid перенести на какой-либо другой, открыв доступ только с 127.0.0.1
Для начала установим СlamAV. Скачать его можно с официального сайта http://www.clamav.net.
./configure
make
make install
Конфигурирование clamav не займет много времени. Просто немного подредактируйте clamd.conf.
Далее следует настроить dansguardian. Конфигурационный файл /etc/dansguardian/dansguardian.conf оснащен отличными комментариями, так что, я думаю, не будет затруднений в конфигурировании:
reportinglevel = 3
languagedir = '/etc/dansguardian/languages'
# К сожалению, русского языка в списке нет. Я сделал перевод и в ближайшее время отправлю автору.
# Вы можете скачать архив с сайта журнала http://www.samag.ru, раздел «Исходный код». Чтобы установить язык,
# необходимо разархивировать файл в папку /etc/dansguardian/languages и в конфигурационном файле указать:
language = 'russian'
# Что записывать в лог
# 0 = none 1 = just denied 2 = all text based
# 3 = all requests
loglevel = 2
# Протоколировать, если страница была передана пользователю
logexceptionhits = on
# формат ведения лога
# 1 = DansGuardian format 2 = CSV-style format
# 3 = Squid Log File Format 4 = Tab delimited
logfileformat = 1
# Местонахождение лог-файла
loglocation = '/var/log/dansguardian/access.log'
# Сетевые опции
# IP-адрес, на котором слушает dansguardian
filterip =
filterport = 8080
# IP-адрес и порт прокси-сервера (squid или oops)
proxyip = 127.0.0.1
proxyport = 3128
# URL, на который произойдет переадресация при блокировке
# Временная директория, в которую сохраняется файл для проверки
downloaddir = '/tmp/dgvirus'
# В директории /etc/dansguardian содержатся несколько файлов, в которых можно вписывать исключения,
# т.е. информация с данных сайтов, url, ip или по запросам данных пользователей не будет фильтроваться.
virusscanexceptions = on
urlcachecleanonly = on
virusscannertimeout = 60
# Использование почтового оповещения
notify = 0
# Настройки CLAMDSCAN
# --------------------
# Сокет демона clamd (указывается в clamd.conf)
localsocket = '/tmp/clamd'
# Настройки CLAMAV
# --------------------
clmaxfiles = 1500
clmaxreclevel = 3
clmaxfilesize = 10485760
Конфигурационный файл squid менять не будем. Будем считать, что squid настроен и нормально функционирует, за исключением того случая, если вы хотите установить Dansguardian на порт 3128. Тогда необходимо изменить порт в конфигурационном файле squid.
Теперь необходимо настроить firewall на перенаправление. В Linux это делается примерно так:
x.x.x.x поменяйте на IP интерфейса, который смотрит в сторону локальной сети.
Ну вот и все. Теперь при скачивании файла, содержащего вирус, у вас в этом файле появится сообщение о вирусе. Конечно, не очень удобно, но зато безопасно. Лучшим вариантом теперь, наверное, будет не сохранять файлы на диск, а сразу открывать, тогда не будет недоразумений.
К недостаткам dansguardian относится отсутствие русификации, т.е. происходит фильтрация по английским фразам (придется самим придумывать фразы для фильтра). При проверке больших файлов также придется подождать. Dansguardian использует больше ресурсов сервера, по сравнению с редиректорами, что тоже нельзя отнести к плюсам.
В заключение хотел бы сказать, что необходимо отредактировать файлы, находящиеся в каталоге /etc/dansguardian, на которые есть ссылки из основного конфигурационного файла, так как при тестировании, например, выяснилось, что по умолчанию он блокирует zip-архивы. Программа должна быть настроена под политику безопасности организации, то есть если организация позволяет скачивать музыку, то какой смысл блокировать mp3-файлы.
В целом у меня о программе сложилось хорошее впечатление. Простая в установке, несложная в настройке, она имеет достаточно обширные возможности. Хотелось бы, чтобы данный проект и дальше развивался, позволяя системным администраторам защищать локальную сеть от нежелательных данных.
P.S Раньше часто использовал данную связку,в принципе и сейчас использую в некоторых организациях,но нашел интересную для меня замену уже в готовых дистрибутивах с подобным ПО,но вдруг кому нибудь пригодится :)