Как настроить фильтрацию контента

Контентная фильтрация в образовательных учреждениях

Приветствую, %username%

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

Суть проблемы

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

Как это должно быть в идеале
Вариант №1

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

Вариант №2

Организовать сообщество людей, которое будет разрабатывать на базе UNIX-подобной операционной системы интернет-шлюз с удобной графической оболочкой и необходимым функционалом.

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

Что можно использовать
Интернет-цензор

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

Личный опыт: На нескольких компьютерах, через некоторое время после установки программа сообщала что она повреждена и просила переустановку. После переустановки работала пару дней, и все повторялось. Что интересно, фильтрация по прежнему работала. Также были случаи, когда пользователь просто забывал пароль, и при нажатии на кнопку «Восстановить пароль» программа сообщала, что интернет отсутствует и соответственно узнать/восстановить пароль через электронную почту не выйдет. Удалить без знания пароля и вреда для системы лично у меня не вышло.

SkyDNS

Российский облачный интернет-сервис, предоставляющий услуги контент-фильтрации. Вся суть в замене DNS-серверов компьютера на предоставленный DNS-сервер компании. Можно указать вручную, или установить программу-клиент с официального сайта, которая сделает все сама, плюс прямо из программы можно выбрать категории фильтрации. Клиент только для ОС Windows. Если клиент не использовать, необходим внешний статический IP-адрес и вручную сделать привязку в личном кабинете на сайте.

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

Читайте также:  Винт сломался как выкрутить

Как вариант, можно использовать другие безопасные DNS-серверы, например от Яндекс:

DNS1: 77.88.8.7
DNS2: 77.88.8.3

P.S. Логичней всего DNS-сервер указывать на роутере, или в настройках DHCP-сервера, если таковой используется.

UserGate Proxy & Firewall

Представляет собой интернет-шлюз, который устанавливается на отдельный компьютер под управлением Windows. В комплекте идет трехъядерный антивирус, межсетевой экран, контент-фильтр, контроль и мониторинг пользователей и еще пару полезных плюшек.

Личный опыт: Изначально я считал плохой идеей держать компьютер под управлением Windows для таких задач, но тем не менее данный продукт проработал у нас более года. За это время, частенько падал интернет, были различные глюки и приходилось делать рестарт системы. Учитывая, что доступ к этому компьютеру был не только у меня, находились умельцы посидеть за этим компьютеров и притащить туда вирусы.
Финал настал, когда фирма каждый раз выпуская новую версию просила доплатить за обновление. Более того, за лицензию на контент-фильтр Entensys URL Filtering надо было приобретать отдельно, и причем каждый год.

KinderGate
Контент-фильтр, разработан компанией Entensys, как и UserGate. Есть клиенты под основые ОС, фильтрация по содержимому сайта, фильтр по категориям, родительский контроль, безопасный поиск, контроль загрузки файлов, поддерживает кластеризацию и фильтрацию HTTPS-протокола. Стоимость составляет 490 рублей на компьютер в год.

Личный опыт: Данное ПО очень активно рекламируют в образовательных учреждениях. Наша школа данный продукт не заказывала, ввиду большой конечной стоимости. В соседних школах и детских садах были куплены 1-2 лицензии, говорят стал медленнее работать интернет и очень частые срабатывания, а значит поиск в интернете стал в разы больше. Видимо работает по принципу лучше пере, чем недо.

Интернет Контроль Сервер
Интернет-шлюз, разработанный на базе FreeBSD. Имеет внушительный функционал. В комплекте идут контентная фильтрация, категории трафика SkyDNS, модуль DLP и IP-телефонии, встроенный антивирус, учет трафика и контроль доступа, прокси-сервер, защита корпоративной сети, почта, FTP, Web и Jabber сервер. Явные преимущества этого решения в том, что можно бесплатно использовать полнофункциональную версию на 8 пользователей.

Источник

To-do: Фильтруем вся и всё

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

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

Анализ того, что такое есть интернет и как он работает.

Не для кого не секрет, что 99 процентов интернета-это http. Далее известно, что у каждого сайта есть имя, содержания страницы, url, ip адрес. Известно, также, что на одном ip может сидеть несколько сайтов, как и наоборот. Так-же, url адреса могут быть как динамичны, так и постоянны.
А то, что записано на страничке, то написано. Отсюда делаем выводы, что сайты можно мониторить по:

  1. Имени сайта
  2. url страницы
  3. По содержанию написанного на страничке сайта
  4. По ip адресу.

Далее, весь контент в интернете можно разделить на три группы:

  1. Это плохое
  2. Это неизвестное
  3. Это хорошее.

И отсюда вытекает два идеологических пути:

  1. Разрешаем только то, что хорошее и запрещаем плохое и неизвестное. Данный путь носит название — БООЛЬШОЙ(а бывает и маленький) Белый список
  2. Разрешаем только то, что хорошее и неизвестное. Запрещаем только плохое. Данный путь носит гордое имя Чёрный список.
Читайте также:  Как настроить общую сеть между компьютерами windows 10

Ну и конечно между двумя этими путями существует золотая середина-запрещаем плохое, разрешаем хорошее, а неизвестное анализируем и в режиме онлайн выносим решение-плохо или хорошо.

Cредства их осуществления.

Тут опять два пути:

  • Берём готовое решение.

Такие решения тоже бывают 3 видов-платные, бесплатные, ограниченные(пока не дашь денежку).

Платные решения-это аппаратные(тобишь коробка с неизвестно чем, но делающая своё дело), аппаратно-программные(это то-же коробка, но уже с полноценной ос и соответствующими приложениями) и программные.
Бесплатные решения-это только программные. Но бывают и исключения, но это как раз тот случай, подтверждающий правило.
К платным относятся такие, как Kaspersky антивирус соответствующего функционала, ideco.ru, netpolice, kerio и т.п. Найти их легко, ибо их хорошо рекламируют и достаточно в строке поиска ввести что-то вроде — контентный фильтр купить.
Бесплатные решения имеют один недостаток-они всё сразу делать не умеют. найти их затруднительнее. Но вот их список: PfSense, SmoothWall(бывает двух видов-платный и бесплатный. Бесплатный немного не функционален), UntangleGateway, Endian Firewall(тоже есть платный и бесплатный), IPCOP, Vyatta, ebox platform, Comixwall(Чудное решение. Можете скачать с моего сайта 93.190.205.100/main/moya-biblioteka/comixwall). Все данные решения обладают одним недостатком — ограниченность.

  • Делаем всё руками.

Данный путь самый трудный, но самый и гибкий. Позволяет сотворить всё, что душа пожелает(в том числе и лазейку).
Тут есть великое множество компонентом. Но самые мощные и нужные это-

  1. Squid.Без прокси ни куда.
  2. Dansguardian. Это сердце всего контентного фильтра. Единственный ему бесплатный соперник(не считая его форков)-это POESIA фильтр(но он очень дремуч).
  3. DNS сервер Bind.
  4. Clamav. Антивирус.
  5. Squidguard, режик и им подобные редиректоры для прокси.
  6. Squidclamav.
  7. Sslstrip. Эта утилита делает из зашифрованного https трафика, расшифрованный http трафик.
    www.thoughtcrime.org/software/sslstrip. Аналоги ей прокси-сервер flipper и charly proxy. Но работают аналоги на Windows. А второй платен. Но кому надо, то можно и wine развернуть.
  8. Чёрные списки. Данные списки можно взять с www.shallalist.de (1,7 миллионов сайтов), www.urlblacklist.com (а именно версию big с более чем 10 миллионами сайтов), www.digincore.com (около 4 миллионов), списки режика.
  9. Белые списки. Тут всё очень туго. Единственный нормальный(значит-большой) русскоязычный список можно получить от лиги безопасного интернета, и то только в качестве proxy лиги безопасного интернета или программы www.ligainternet.ru/encyclopedia-of-security/parents-and-teachers/parents-and-teachers-detail.php?ID=532. Кстати в связи с digest авторизацией на прокси лиги, данный прокси не подцепить к squid. Если кто знает как подцепить в качестве родительского прокси, прокси сервер с digest аутентификацией, прошу сообщить.
  10. DNS списки. Тут есть два известный варианта. Первый-это skydns фильтр www.skydns.ru.
    Второй-это yandex dns dns.yandex.ru.
    Skydns более функционален, в отличии от яндекса.

Где происходит фильтрация.

Возможны следующие варианты:

  1. На компьютерах пользователя без централизованного управления, в качестве системного компонента или приложения.
  2. То-же, что и первое, но с централизованным управлением(как пример KASPERSKY ADMINISTRATION KIT).
  3. Компонент к браузеру. Есть для хрома и лиса соответствующие плагины
  4. На отдельном компьютере или кластере компьютеров(включая вариант-на шлюзе).
  5. Распределёнка.

1 и 2, 3 варианты с точки зрения быстроты фильтрации-самые быстрые при массовом использовании сети.
С точки зрения трудозатрат, 1 и 3-самые трудозатратные.
С точки зрения надёжности не обхода фильтрации пользователем, то 4-первое место.
5 вариант-мечта. Но его нет нигде.

Теперь следующий вопрос:

Надёжность фильтрации.

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

Давайте поговорим о

О недостатках уровней защиты.

  • Списки

Интернет-это постоянно и главное-очень быстро меняющаяся среда. Понятно, что наши списки будут не поспевать за интернетом, а уж тем более если мы их будем вести руками. Потому участвуйте в сообществах составления списков и используйте не только файлы со списками, но и сервисами списков, где всё сделают за нас(пример — skydns и yandex).
Да и список не гарантирует того, что на какой-то страничке написано что-то не то, а сам сайт полностью белый и пушистый.
Используйте несколько списков. Что не попало в один, может попало в другой.
К программам, работающим по спискам относятся Netpolice(http://netpolice.ru), цензор(http://icensor.ru/), Traffic Inspector для школ(http://www.smart-soft.ru/ru ) и др. Обычно программы, умеющие делать лексический разбор, умеют работать и по спискам.
Цензор имеет старенькую базу от 2008 года. Но бесплатен во всем. Netpolice существует множество версий и есть бесплатная, но урезанная.
И не забываем-ни чёрные, ни белые списки не смогут вас оградить на 100%. На то способен только лексический анализ.

  • Анализ на вирусы.
Читайте также:  Как настроить smooth scroll

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

  • Анализ содержания написанного на страничке.

Тут главная проблема — лексический разбор текста. На искусственный разум, понятно, денег нет ни у кого, потому используют базу слов и выражений с весовым коэффициентом. Чем меньше база-тем менее эффективна фильтрация, но и чем больше база, тем более она эффективна, но и трудозатратна. К примеру, разбор произведения Жюль Верна Таинственный остров с lib.ru занимает 8 секунд с моей базой и dansguardian(core2duo 2,66). Да и базу надо где-то взять. Нормальную базу мне пришлось делать самому, чем с вами и делюсь 93.190.205.100/main/dlya-dansguardian/spiski/view.

Возможность обхода пользователем контентной фильтрации.

Вопрос-производительность.

Тут более или менее всё ясно-больше памяти, больше герц, больше кэша. И очень полезно для тех, у кого мощности маленькие, использовать оптимизацию по CFLAGS. Это позволяют делать все линуксы и фряхи, но особо удобны gentoo, calculate linux, slackware, freebsd.
У кого многоядерные процессоры, то используйте OPEMNP(dansguardian пригодный для оного можете взять у меня 93.190.205.100/main/dlya-dansguardian. Кстати, в нём-же исправлена ошибка с невозможностью загрузки данных в интернет.) CFLAGS=»-fopenmp». LDFLAGS=»-lgomp». Не забудьте включить -O3 -mfpmath=sse+387. Про автопатчинг здесь.

Вопрос-иерархия кэшей и прокси.

Если у вас много компьютеров и вы имеете возможность использовать несколько в качестве фильтрации, то делайте так. На одном ставите прокси сервер squid и указываете на нём параметры родительских кэшей с параметром round-robin(http://habrahabr.ru/post/28063/). В качестве родительских на каждом конкретном компьютере выступает выступает dansguardian со squid в связке(ибо без вышестоящего dansguardian не умеет). Вышестоящие располагаются на тех-же компьютерах, на которых располагаются и dansguardians. Для вышестоящих большой кэш не имеет смысла делать, а для первого-обязательно самый большой кэш. Даже если у вас одна машина, то на ней всё-равно делайте связку squid1->dansguardian->squid2->провайдер с таким-же распределением кэширования. На dansguardian не возлагайте ничего, кроме анализа написанного на страницах, перерисовки контента, заголовков и некоторых url, блокировки mime типов. Не в коем случае не вешайте на него антивирус и чёрные листы, иначе будут тормоза.

Анализ по спискам пусть будут делать squid1 и squid2.
Проверку на вирусы пусть будет делать squidclamav через c-icap на squid2. Белые списки вешаем на squid1.
Всё, что в белом списке, должно идти напрямую в интернет, минуя родительские прокси.

DNS сервер обязательно используем свой, в котором используем перенаправление на skydns или dns от yandex. Если есть локальные ресурсы провайдера, то добавляем зону forward на dns провайдера. Так-же в dns сервере прописываем локальную зону для нужных внутрисетевых ресурсов(а что-бы было красиво, они нужны). Указываем nosslsearch поиска google. В конфигах squid обязательно используем свой dns.
Для всего используем вебку Webmin и командную строчку. На windows серверах всё делаем через мышку.

Настройка локальной сети

  1. Используйте аутентификацию по ip адресам. Если вы не «серьёзная» организация, доступ с обязательным логинированием ни к чему.
  2. Используйте логически разделённые сети в одной сплошной физической сети. IP адреса выдавайте по MAC адресам. Запрещайте коннект на порт прокси-сервера при несовпадении MAC адреса машины с присвоенному данному MAC адресу, IP адреса.
  3. Настройте iptables таким образом, чтобы обращения на любые порты(3128, 80, 80, 3130, 443) шло через порт прокси сервера.
  4. Настройте автоматическую настройку прокси-сервера в сети через dns и dhcp. www.lissyara.su/articles/freebsd/trivia/proxy_auto_configuration
  5. Группы и уровень фильтрации делайте по ip адресу.
  6. Можно настроить прокси в настройках браузера.

К нам идёт проверка.

В данном случае-все ползунки в максимум.
Дополнительно-запрещаем все видеосайты, контакт, социальные сети, музыкальные порталы, файлообменники и файлообменные сети.
Запрещаем mp3.
Ставим галочку напротив безопасного поиска в личном кабинете SKYDNS.
Обязательно приводим в порядок документацию.

Источник

Оцените статью