• 47472
  • 64
  • 22
Нравится блог?
Подписывайтесь!

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 требует библиотеку libesmtp для отправки сообщений системному администратору. Скачать ее можно с http://www.stafford.uklinux.net/libesmtp.
Устанавливается просто:
./configure –-prefix=/usr
make
make install
Пропатчивать dansguardian для поддержки firewall не нужно, скачать его с поддержкой антивируса можно с http://www.harvest.com.br/asp/afn/dg.nsf.
./configure
--sysconfdir=/etc/dansguardian/
--cgidir=/var/www/cgi-bin/
--runas_usr=squid
--runas_grp=squid
make
make install
Далее следует настроить 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, на который произойдет переадресация при блокировке
accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'
nonstandarddelimiter = on
# Заменять запрещенную картинку какой-нибудь своей
usecustombannedimage = 1
custombannedimagefile = '/etc/dansguardian/transparent1x1.gif'
# Создать фильтр для группы пользователей.
# Dansguardian будет автоматически смотреть в файл dansguardianfN.conf, где N – номер группы
filtergroups = 1
# Чтобы поставить пользователей в соответствие с группами, отредактируйте файл filtergrouplist
filtergroupslist = '/etc/dansguardian/filtergroupslistv
# Местоположение файлов аутентификации
bannediplist = '/etc/dansguardian/bannediplist'
exceptioniplist = '/etc/dansguardian/exceptioniplist'
banneduserlist = '/etc/dansguardian/banneduserlist'
exceptionuserlist = '/etc/dansguardian/exceptionuserlist'
# Записывать в лог найденные причины блокировки.
showweightedfound = on
# 0 = off  – не использовать
# 1 = on, normal – использовать в стандартном режиме
# 2 = on, singular – записывать каждый аргумент, но только один раз для страницы
weightedphrasemode = 2
urlcachenumber = 2000
urlcacheage = 900
# Фильтрация содержимого по фразам
# 0 – фильтрация html вместе с мета-тэгами
# 1 - удаление многочисленных  пробелов и html-тэгов перед фильтрацией
# 2 – оба метода
phrasefiltermode = 2
preservecase = 0
# Перекодировка в hex для фильтрования документов с различными кодировками
hexdecodecontent = 0
# Использовать алгоритм «Quick Search», в отличие от алгоритма DFA. Алгоритм DFA позволяет работать быстрее,
# но его текущая версия не совсем совместима с 16-битными символами. Если вы хотите использовать 16-битные символы,
# включите эту опцию.
forcequicksearch = 0
reverseaddresslookups = off
reverseclientiplookups = off
# Создавать файлы bannedsitelist и bannedurllist со списком запрещенных сайтов и URL
createlistcachefiles = on
# Максимальный размер передаваемого от клиента файла в байтах
# 0 – блокировать
# -1 – не блокировать или размер файла
maxuploadsize = -1
maxcontentfiltersize = 256
# Методы аутентификации пользователя на прокси-сервере
usernameidmethodproxyauth = on
# **На данный момент не работает**
usernameidmethodntlm = off
usernameidmethodident = off
preemptivebanning = on
# Добавлять заголовки X-Forwarded-For: <IP-адрес клиента>
forwardedfor = off
usexforwardedfor = off
logconnectionhandlingerrors = on
# Опции дочерних процессов
# Максимальное количество процессов
maxchildren = 120
# Первоначальное количество процессов
minchildren = 8
# Количество процессов, которые должны быть готовы к соединению
minsparechildren = 4
preforkchildren = 6
# Максимальное количество бездействующих процессов
maxsparechildren = 32
# Максимальное количество сайтов, обработанных процессом
maxagechildren = 500
# Опции коммуникации между процессами
ipcfilename = '/tmp/.dguardianipc'
urlipcfilename = '/tmp/.dguardianurlipc'
# PID filename
pidfilename = '/var/run/dansguardian.pid'
nodaemon = off
nologger = off
# Пользователь и группа, с чьими правами запускается dansguardian
daemonuser = 'squid'
daemongroup = 'squid'
softrestart = off
# Антивирусные настройки
# --------------------
# Включить проверку на вирусы
virusscan = on
# Способ проверки clamdscan, clamav или kav
virusengine = 'clamav'
# Максимальное количество информации, переданной  клиенту, если файл содержит вирус
tricklelength = 32768
firsttrickledelay = 30
followingtrickledelay = 60
# Список типов MIME, не проверяемых на вирусы
exceptionvirusmimetypelist = '/etc/dansguardian/exceptionvirusmimetypelist'
# Максимальный размер содержимого для проверки,
# если 0 – не ограничено
maxcontentscansize = 0
# Файлы с определенными расширениями не будут проверяться
exceptionvirusextensionlist = '/etc/dansguardian/exceptionvirusextensionlist'
# Временная директория, в которую сохраняется файл для проверки
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 это делается примерно так:
iptables -t nat -A PREROUTING --dst x.x.x.x -p tcp --dport 3128 -j DNAT --to-destination x.x.x.x:8080
x.x.x.x поменяйте на IP интерфейса, который смотрит в сторону локальной сети.
Ну вот и все. Теперь при скачивании файла, содержащего вирус, у вас в этом файле появится сообщение о вирусе. Конечно, не очень удобно, но зато безопасно. Лучшим вариантом теперь, наверное, будет не сохранять файлы на диск, а сразу открывать, тогда не будет недоразумений.
К недостаткам dansguardian относится отсутствие русификации, т.е. происходит фильтрация по английским фразам (придется самим придумывать фразы для фильтра). При проверке больших файлов также придется подождать. Dansguardian использует больше ресурсов сервера, по сравнению с редиректорами, что тоже нельзя отнести к плюсам.
В заключение хотел бы сказать, что необходимо отредактировать файлы, находящиеся в каталоге /etc/dansguardian, на которые есть ссылки из основного конфигурационного файла, так как при тестировании, например, выяснилось, что по умолчанию он блокирует zip-архивы. Программа должна быть настроена под политику безопасности организации, то есть если организация позволяет скачивать музыку, то какой смысл блокировать mp3-файлы.
В целом у меня о программе сложилось хорошее впечатление. Простая в установке, несложная в настройке, она имеет достаточно обширные возможности. Хотелось бы, чтобы данный проект и дальше развивался, позволяя системным администраторам защищать локальную сеть от нежелательных данных.
P.S Раньше часто использовал данную связку,в принципе и сейчас использую в некоторых организациях,но нашел интересную для меня замену уже в готовых дистрибутивах с подобным ПО,но вдруг кому нибудь пригодится :)
2 сентября 2010, 11:24
3747

Loading...

Комментарии

пжалста, уносите большие тексты под кат. так всем будет лехче
? увы не особо еще разобрался здесь
Извиняюсь, а где здесь кат?
По моему его здесь нет, и не было.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Многие клиенты, вздыхая о харамном ссудном проценте местных банков, сокрушались по поводу отсутствия у нас халяльного кредитования. Поддержка исламского банкинга на уровне МФЦА есть...
DanaJarlygapova
24 марта 2017 / 18:28
  • 17440
  • 54
Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Первую пересадку сердца Рокфеллер пережил в 1976 году на 62-м году жизни. Последнюю пересадку ему сделали в августе 2016 года. Пересадка сердца такому старому пациенту не имеет аналогов...
Timur_Tregulov
21 марта 2017 / 23:10
  • 7164
  • 52
Компания LG Electronics открыла предзаказ на новый флагман LG G6

Компания LG Electronics открыла предзаказ на новый флагман LG G6

LG Electronics объявляет о начале предварительного заказа онлайн на новый смартфон LG G6. Оформить предзаказ можно на сайтах магазинов электроники до 16 апреля 2017 года.
LG Electronics
24 марта 2017 / 14:20
  • 4857
  • 0
Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Мои волшебные 9 месяцев протекали в новой среде и далеко от всех родственников и подружек. Никто из моих знакомых в США на тот момент не успел обзавестись малышом, поэтому мне не с кем было...
Zarema_
23 марта 2017 / 9:25
  • 4630
  • 16
Алматы – это город-урод. Если вы живете здесь, то сами найдете кучу примеров

Алматы – это город-урод. Если вы живете здесь, то сами найдете кучу примеров

Париж, Рим, Барселона, Лондон, Алматы, Венеция – выберите город, который на ваш взгляд кажется лишним в этом списке. Если бы не было слова "урод", было бы легче определиться?
corridere
21 марта 2017 / 14:59
  • 4749
  • 75
Страну, где так строят дороги, победить невозможно!

Страну, где так строят дороги, победить невозможно!

Шестиминутный ролик про строительство автомобильной дороги в США - это как острый нож в пузо нашим чиновникам. Они же подавятся бешбармаком, увидев его! Похлеще любого пропагандистского фильма...
Timur_Tregulov
24 марта 2017 / 11:26
  • 4023
  • 33
Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Многие уверенны на 100%, что сказка «Красавица и Чудовище» - это интересная выдумка ее создателей. Однако, действия, происходящие в мультфильме и фильме, имели место в истории, и у главных героев...
Naomi_K
24 марта 2017 / 18:42
  • 4328
  • 34
Семь причин почему вам надо перестать откладывать переезд за границу

Семь причин почему вам надо перестать откладывать переезд за границу

Вы думаете о переезде за границу, но постоянно откладываете дату, потому что вас беспокоит тысяча мелочей, которые могут пойти не так? У меня есть семь причин, почему пора перестать мотать нервы...
Lesch
24 марта 2017 / 17:50
  • 3162
  • 14
Гонения на «Свидетелей Иеговы». Кому это выгодно?

Гонения на «Свидетелей Иеговы». Кому это выгодно?

Я не "Свидетель Иеговы". Мне приходилось защищать в судах и кришнаитов и коммунистов, хотя я и не разделяю их убеждений. Я защищаю свободу совести. Сегодня "Свидетели Иеговы", завтра,- каждый из вас.
nasreddin
25 марта 2017 / 17:18
  • 2896
  • 29