Установка и настройка Dansguardian, DansGuardian, Webmin, прокси-сервера - Разработка локальной сети для ОАО "Корпорация Монстров"

Dansquardion - это контент фильтр для SQUID. С помощью dansquardion можно осуществлять настройку доступа пользователей сети к ресурсам сети интернет. Для установки DansGuardian выполним в терминале следующую команду:

Sudo apt-get install dansguardian

Внимание! В Ubuntu Server 12.04 и 14.04 при установке Dansguardian может возникнуть ошибка: Внимание: указанный домашний каталог /var/log/dansguardian уже существует, которую следует проигнорировать.

Теперь откроем конфигурационный файл программы /etc/dansguardian/dansguardian. conf, первое что вы должны сделать, это закомментировать или удалить строку:

UNCONFIGURED -...

Следующий параметр reportinglevel задает уровень фильтрации, он может принимать значения:

    -1 - Скрытый режим, страницы не блокируются, но ведется лог; 0 - Выводится "Доступ заблокирован"; 1 - Выводится страница без показа запрещенных фраз; 2 - Полный отчет; 3 - Выводится HTML шаблон страницы запрета.

По умолчанию уже установлено значение:

Reportinglevel = 3

Этот режим наиболее подходит для повседневного применения. Для тестирования правил удобно выставлять уровень фильтрации 1 или 2 (это потребует настройки на машине web-сервера). Следующий интересующий нас параметр, это язык HTML шаблона страницы запрета:

Language = 'russian-koi8-r'

Теперь раскомментируем строку указывающую путь к файлу лога:

Loglocation = '/var/log/dansguardian/access. log'

Укажем сетевой интерфейс и порт на котором DansGuardian будет принимать соединения от клиентов:

Filterip = 192.168.11.22

Filterport = 8081

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

Http_port 192.168.11.22:3128 transparent

Меняем ее на:

Http_port 127.0.0.1:3128

Внимание! В Squid3 вместо опции transparent используется intercept

Перезапускаем Squid:

Sudo /etc/init. d/squid restart

Если вы собираетесь использовать уровни фильтрации 1 и 2 укажите путь к скрипту вывода страницы запрета:

Accessdeniedaddress = 'http:// 192.168.11.21/cgi-bin/dans. pl'

Запускаем DansGuardian:

Sudo /etc/init. d/dansguardian start

Для проверки настроим браузер клиентского компьютера на использование прокси-сервера 192.168.11.22:8081.

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

пример блокировка нежелательной интернет страницы

Рисунок 14 Пример блокировка нежелательной интернет страницы

Блокируется доступ к "веселым картинкам", даже по вполне невинным запросам, были заблокированы отдельные страницы форума на которых встречался нежелательный контент. Убедившись в работоспособности контент-фильтра перенастроим наш роутер так, чтобы весь HTTP трафик по умолчанию заворачивался на DansGuardian. Для этого открываем /etc/nat и следующим образом изменяем в нем последнюю строку:

# Заворачиваем http на прокси

Iptables - t nat - A PREROUTING - i eth0 - d! 192.168.15.21/24 - p tcp - m multiport --dport 80,8080 - j DNAT --to 192.168.15.21:8081

Перезагружаем роутер:

Sudo reboot

Убираем прокси из настроек браузера и проверяем еще раз. Все должно работать.

Теперь самое время перейти к тонкой настройке фильтрации. Как показали наши испытания, DansGuardian "из коробки" неплохо справляется с большей частью нежелательного контента, но есть и исключения. Существуют тематики где фильтр оказался практически неработоспособным. Например, нецензурная брань, мы без труда посетили "официальный сайт символического направления" и несколько аналогичных ресурсов, также без особого труда нашли инструкцию по изготовлению бомбы и рекомендации по выращиванию конопли. Понятно, что это настраивается, чем мы сейчас и займемся.

Все фильтры DansGuardian представляют собой простые текстовые файлы и расположены в /etc/dansguardian/lists, однако каждый раз править их через консоль сервера не очень удобно, гораздо удобнее было бы работать через web-интерфейс. И такая возможность есть, для этого потребуется установить Webmin, утилиту удаленного администрирования сервера, имеющую весьма широкие возможности. В репозиториях Ubuntu Webmin отсутствует, но его можно установить загрузив deb-пакет с сайта разработчиков, либо подключив их репозиторий. Второй путь кажется нам более оптимальным. Добавим в /etc/apt/sources. list строку:

Deb http://download. webmin. com/download/repository sarge contrib

Теперь установим GPG ключ, которым подписаны пакеты в репозитории Webmin, выполним следующие команды:

Sudo - s

Cd /root

Wget http://www. webmin. com/jcameron-key. asc

Apt-key add jcameron-key. asc

Теперь обновим список пакетов и приступим к установке:

Apt-get update

Apt-get install webmin

Доступ через Webmin можно получить с любого ПК набрав в браузере следующий адрес: https:// 192.168.11.22:10000/

настройка webmin

Рисунок 15 Настройка Webmin

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

Для управления DansGuardian нам нужен соответствующий модуль для Webmin, скачать его можно с сайта разработчиков, на момент написания статьи актуальной была версия 0.7.0beta1. Установим его через закладку Модули Webmin, теперь он будет доступен в разделе Службы.

В первую очередь правильно сконфигурируем модуль, настройки доступны по ссылке Настройка модуля слева вверху. Нам потребуется изменить настройку Full path to DG binary на /usr/sbin/dansguardian.

Из всего многообразия настроек нас интересуют в основном две: настройка доступа к интернет и настройка списков. Настройка доступа производится через закладку View/Edit System-Wide Lists, она содержит черный список IP адресов и список исключений. Первый содержит перечень адресов которым запрещен веб-доступ, для второго списка фильтрация не производится. Есть смысл включить в него машины преподавателей или иных сотрудников, которым требуется неограниченный доступ.

Закладка View/Edit A Filter Group's Lists содержит разрешающие и запрещающие списки фраз, заголовков страниц, URL, расширений файлов и т. п. За что отвечает тот или иной список вполне понятно из названия, каждый список содержит описание и примеры записей, так что разобраться и добавить свои правила не представляет особого труда.

Но не обошлось и без ложки дегтя, а именно с составлением списка русскоязычных фраз. Основная проблема здесь кириллические кодировки, добавленная в "неправильной" кодировке фраза просто не сработает. Методом проб и ошибок мы нашли наиболее оптимальный способ: через оснастку Прочее - Менеджер файлов скачиваем на ПК любой список с русскоязычными фразами, например /etc/dansguardian/lists/phraselists/pornography/weighted_russian и открыв его любым текстовым редактором (мы рекомендуем AkelPad) добавляем необходимые фразы, строки имеют формат <абв><40>, где цифра указывает на "степень нетерпимости", чем она больше, тем меньшее количество раз слово должно встретиться на странице для ее блокировки. После чего закачиваем файл обратно на сервер. После любых изменений в фильтрах не забываем перезагрузить их, нажав на ссылку Reload DG Groups в правом верхнем углу.

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

Похожие статьи




Установка и настройка Dansguardian, DansGuardian, Webmin, прокси-сервера - Разработка локальной сети для ОАО "Корпорация Монстров"

Предыдущая | Следующая