Вопрос контентной фильтрации в образовательном учреждении остается все также на повестке дня и по сей день. Никто не снимал ответственность со школы за неисполнение Федерального закона от 29.12.2010 N 436-ФЗ (ред. от 29.06.2015) «О защите детей от информации, причиняющей вред их здоровью и развитию». Поэтому в каждом образовательном учреждении назначается ответственный за информационную безопасность, которая включает в себя и ответственность за работу контентной фильтрации. Решить эту задачу можно разными способами. Один из таких — настройка сервера контентной фильтрации.
Работа в этом направлении разбивается на три этапа:
- Подготовка нормативной документации.
- Настройка сервера контентной фильтрации.
- Настройка ПК в локальной сети образовательного учреждения.
1. Подготовка нормативной документации
Этот этап очень важен, так как именно он будет определять правомерность действий ответственного лица при исполнении возложенных на него задач. Как только пакет документов разработан (посмотреть примеры можно здесь), можно переходить к наиболее сложному этапу — настройке сервера.
2. Настройка сервера контентной фильтрации
Ключевая роль сервера — обеспечение техническими и программными средствами выполнение 436-ФЗ. Сервер контентной фильтрации может физически располагаться где угодно, все зависит от того как специалист настроит сеть и обмен трафиком с сетью Интернет. Как организовать работу локальной сети можно прочитать здесь.
В качестве платформы для нашего сервера мы воспользуемся операционной системой Debian 9 «Stretch». Однако, так как у нас имеется сервер виртуальных машин на базе Proxmox, то для экономии ресурсов школы мы организуем работу сервера контентной фильтрации на базе контейнера. Такой подход позволит нам создавать снимки на ключевых этапах настройки и организовать периодическое бэкапирование сервера. Процесс разворачивания системы из контейнера достаточно прост и непродолжителен по времени.
После того как мы получим в распоряжение готовую систему — приступаем к ее настройке под наши нужды.
В нашем случае у виртуальной машины один сетевой адрес, в качестве DNS сервера укажем адреса Яндекс.DNS — семейный.
Еще один способ фильтрации трафика нам не повредит.
Позволим трафику свободно проходить через наш сервер. Для этого в файле /etc/sysctl.conf заменим строку net.ipv4.ip_forward=0 на net.ipv4.ip_forward=1
Если строчка закомментирована — то нужно будет раскомментировать её.
Для применения изменений необходимо перезагрузить систему или выполнить команду:
sudo sysctl -p
Не всем нравиться работать с конфигами в консоли, поэтому можно установить систему управления Webmin и администрировать сервер при помощи веб-интерфейса.
Находим пункт «Прокси-сервер Squid» и устанавливаем его:
После несложных настроек переходим в раздел «Управление доступом» и создаем ACL для нашей локальной сети или ее диапазона:
В нашем случае адрес имеет вид:
Сохраняем изменения и переходим на вкладку «Ограничения прокси»:
Добавляем наше правило в разрешенные и применяем изменения.
Переходим в консоль и скачиваем архив инсталляционного пакета программы для организации контентной фильтрации Rejik. На момент написания статьи актуальная версия Редиректор 3.2.12 для squid версии 3.4 и старше.
wget https://rejik.ru/download/redirector-3.2.12_squid_3.4.tgz
Распаковываем архив и вносим изменения в файл Makefile:
SQUID_USER=proxy
SQUID_GROUP=proxy
Устанавливаем дополнительные пакеты:
sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install libpcre3-dev
Собираем пакет и инсталлируем его:
sudo make
sudo make install
Rejik будет установлен в директорию /usr/local/rejik3/
Во избежание проблем:
sudo chown -R proxy:proxy /usr/local/rejik3
Открываем на редактирование конфиг Squid и в секцию url_rewrite_program вносим строку:
url_rewrite_program /usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf
Пакет с первичной базой бан-листов можно, также, скачать с официального сайта. Но изначально Rejik настроена на фильтрацию по «черным» спискам, нас же интересует фильтрация по «Белым». Для этого в конфиге Rejik добавляем раздел <WHITELIST> и формируем его следующим образом:
work_ip [диапазон ip адресов, на которые распространяется правило]ban_dir /usr/local/rejik3/banlists/whitelists
url [веб-сервер]/whitelist.html
reverse
#log off
work_ip — правило для компьютерного класса. В него включена подсеть класса, работающего по «белым спискам»
url [веб-сервер]/whitelist.html — страница, для перенаправления в случае попытки перейти на адрес, не входящий в «белый» список.
Соответственно в директории /usr/local/rejik3/banlists должна находится директория whitelists, аналогичная banners.
Последний штрих.
«Заворачиваем» весь трафик на ПК в нашей сети на прокси-сервер:
iptables -t nat -A PREROUTING -s [наша сеть/маска] -p tcp -m multiport —dport 80,443,8080 -j REDIRECT —to-port 3128
3. Настройка ПК в локальной сети образовательного учреждения.
В сетевых настройках подконтрольных ПК необходимо указать в качестве шлюза IP-адрес нашего сервера. А после того как мы «завернули» весь трафик на прокси-сервер, то пользователь не сможет выйти в сеть Интернет, пока не задаст в настройках браузера адрес прокси-сервера и его порт:
Итог
После всех проделанных действий мы получим рабочий вариант сервера контентной фильтрации на базе свободнораспространяемого программного обеспечения. Формирование «черных» списков можно по этой инструкции. А для «белых» списков, в качестве основы, можно взять здесь.
Приятной работы.