squid, squidguard, sarg в Debian’е

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

Настроим по порядку все три программы. Для начала установим пакеты:

squidguard

В первую очередь настроим SquidGuard, после чего его будет использовать прокси-сервер Squid.
В первую очередь скачиваем списки, по которым будет осуществляться фильтрация. На сайте SquidGuard есть несколько списков. Я выбрал этот, он свободен к использованию в частных и некоммерческих целях.

Скачанный файл распаковываем в директорию /var/lib/squidguard/db, в которой должны лежать директории BL/adv, BL/drugs, BL/gambling и другие директории, которые вам необходимы, либо все, содержащиеся в архиве.

Чтобы в дальнейшем можно было использовать эти файлы от имени пользователя proxy, необходимо изменить права владения:

Теперь редактируем основной конфигурационный файл SquidGuard — /etc/squidguard/squidGuard.conf, предварительно скопировав первоначальный.

Открываем файл на редактирование.
В самом начале идут две строчки:

Параметр dbhome определяет директорию, в которой хранятся файлы, содержащие списки блокируемых ресурсов, параметр logdir определяет директорию, в которой хранятся логи. После этого идут определения временных правил:

s — воскресенье
m — понедельник
t — вторник
w — среда
h — четверг
f — пятница
a — суббота
При помощи директивы date можно определить произвольную дату, либо задать шаблон дат при помощи маски.

После этого идут описания источников трафика, например такие:

Затем идут описания открываемых сайтов по категориям.

Здесь вы можете определить все группы сайтов, которые будут фильтроваться. В директиве redirect указывается адрес некоторой ссылки на локальном сервере, который должен существовать. По этому адресу будет находиться страница с текстом «Blocked», например. И в конце файла идут правила фильтрации:

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

Теперь SquidGuard готов к работе, переходим к настройке squid.

squid

Squid будем настраивать в режиме прозрачного проксирования. Клиентами будут компьютеры, находящиеся в локальной сети с маской 192.168.0.0/24.
Открываем на редактирование файл /etc/squid/squid.conf, предварительно сделав резервную копию.

Сам файл отлично прокомментирован, каждый параметр описан с примерами. Прежде всего создаем правило, определяющее компьютеры, находящиеся в локальной сети. Закомментируем строки, включающие «acl localnet»

Нам нужно определить маску сети, которая будет считаться локальной сетью

Немного ниже находим строчку

После этой строчки необходимо вставить правило для доступа из локальной сети

Теперь надо подключить программу-редиректор, которой является SquidGuard. Находим «url_rewrite_program», который по умолчанию закомментирован. Включаем программу переписи URL и добавляем дополнительные параметры:

Параметр url_rewrite_children лучше всего подбирать эмпирически, то есть методом подбора наилучшего значения. Если потомков будет слишком мало, то трафик будет обрабатываться медленно, что скажется на скорости Интернета, если же их будет слишком много, то ресурсы будут расходоваться неэффективно. Количество подбирается так, чтобы при минимальных расходах ресурсов обеспечивалась оптимальная скорость доступа, без заметных задержек, чтобы скорость доступа с использованием прокси была сопоставима со скоростью доступа без прокси. После такой настройки скорость открытия страниц станет даже выше за счет кэширования часто используемых страниц. Если программа-редиректор умеет обрабатывать запросы параллельно, то необходимо изменить еще один параметр:

По умолчанию это значение равно нулю, если параметр закомментирован. Следующий параметр, который может быть полезен:

Если все экземпляры редиректора заняты, то squid может завершить свою работу с ошибкой. Этот параметр позволяет обрабатывать адреса без использования редиректора, если невозможно запустить еще один экземпляр редиректора. Запрос просто будет пущен напрямую.
После этого можно перезапустить squid:

Теперь можно использовать прокси-сервер, но нам нужно еще настроить прозрачное проксирование. Для этого надо включить соответствующие правила iptables для перенаправления пакетов. На сетевом интерфейсе eth0 будет подключение к Интернету, а на интерфейсе eth1 будет подключение к внутренней локальной сети:

Как загружать правила iptables — вопрос вашего выбора, можете это делать так, как вам будет удобно. Если прозрачное проксирование не нужно, то можно настройку правил пропустить.

sarg

Осталось осуществить анализ логов прокси-сервера squid при помощи анализатора логов sarg (Squid Analysis Report Generator).
Самое первое, что надо сделать — отредактировать файл /etc/sarg/sarg.conf, изменив строчку

Здесь можно написать, допустим, /var/www/sarg. Это та директория, в которую будут помещаться сгенерированные файлы анализатора, которые можно будет просматривать в браузере. Директория, естественно, должна существовать. Сама генерация будет запускаться раз в сутки при помощи планировщика cron, поскольку sarg при установке помещает свой скрипт в директорию /etc/cron.daily/. Естественно, для просмотра файлов должен быть установлен и настроен веб-сервер.
Необходимо добавить директорию в конфигурационный файл apache

В том же самом файле настроек sarg (/etc/sarg/sarg.conf) необходимо сменить кодировку генерируемых страниц:

меняем на

Для проверки можно запустить генерацию страниц вручную для проверки работопособности командой

Теперь всё должно работать. Трафик кэшируется, фильтруется и вы можете просматривать результат анализа логов прокси-сервера в браузере по адресу http://<ваш-прокси-сервер>/sarg.


Понравилась статья?

Подпишитесь на новости сайта и получайте новые статьи на свой почтовый ящик (один раз в неделю).


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *