Что такое веб фильтр
Контентная фильтрация: зачем и как это делать
Привет, Хабр! Сегодня мы поговорим о фильтрации интернет-контента. Три года назад вступил в силу федеральный закон 139-ФЗ, дополнивший уже принятый 436-ФЗ «О защите детей от информации, причиняющей вред их здоровью и развитию». В соответствии с российским законодательством, доступ в интернет в школах возможен лишь «при условии применения административных и организационных мер, технических, программно-аппаратных средств защиты детей от информации, причиняющей вред их здоровью и (или) развитию». Другими словами, закон требует обязательной фильтрации интернет-контента. Добро пожаловать под кат.
Возможно, кто-то считает, что это исключительно российская новация. Вовсе нет. Практика фильтрации контента давно есть во многих странах, делается это по-разному. Например, во Франции министерство народного образования запустило автоматизированную и централизованную фильтрацию контента в школах на основании двух «чёрных списков»: в первом списке – порнографические ресурсы, во втором – расистские и антисемитские сайты. Он составлен в соответствии с общеевропейским проектом по развитию безопасного интернета (Safer Internet Action Plan).
В США «Акт о защите детей от интернета» был принят еще в 2001 году. Для фильтрации используются коммерческие фильтрующие программные пакеты, а в некоторых штатах — блокирование IP-адресов на уровне провайдера.
В Канаде в рамках проекта «Чистая связь» с 2006 года провайдеры, добровольно участвующие в программе, блокирует переход по ссылкам из «черного списка», который формируется аналитиками Канадского центра по защите детей (Canadian Centre for Child Protection). Провайдеры сами решают, как блокировать контент — по IP-адресу или доменному имени, а Sasktel BellCanada и Telus принципиально блокируют только ссылки, чтобы избежать случайного блокирования ресурсов, не содержащих запрещенного контента.
Большинство поисковых систем в Германии — Google, Lycos Europe, MSN Deutschland, AOL Deutschland, Yahoo!, T-Online и T-info — присоединились к соглашению «Добровольный самоконтроль для мультимедийных сервис-провайдеров». Они фильтруют интернет-сайты на основе списка, который определяется Федеральным департаментом по медиаресурсам, вредным для молодежи.
Контентная и url-фильтрация необходима не только в библиотеках, школах и университетах, где делать это нужно обязательно.
Уже давно большинство компаний старается закрыть доступ к развлекательным ресурсам и социальным сетям для своих сотрудников. Нет нужды объяснять — почему. С другой стороны, делать это необходимо с умом. Ведь доступ к Facebook и LinkedIn для HR, PR и сотрудникам отдела продаж нужен для повседневной работы. Да, полностью закрыть доступ к ресурсам, которые в компании считаются нежелательными для посещения, нельзя. Можно обойти эти запреты, выходя в интернет со смартфона или планшета. Но хотя бы не через корпоративную сеть.
Для простоты рассмотрим настройки фильтрации контента на примере обычной школы. Настройка модуля NetPolice и правил пользователей по типу, группе и категории для любой другой организации происходит аналогично.
Что нам нужно сделать? Запретить для всех доступ к сайтам из списка Росреестра, настроить школьникам доступ только по разрешенным категориям, а учителям — доступ по всем категориям, кроме запрещенных.
1. Начинаем с создания групп пользователей. В нашем случае это группы «Учителя» и «Школьники». Разумеется, в компании необходимо будет создать больше групп: «Руководители», «Сотрудники», «PR», «HR» и так далее. Принцип создания групп пользователей тот же, что и в нашем примере.
Для создания группы пользователей переходим в раздел консоли управления «Пользователи и группы». В блоке «Пользователи и группы» во вкладке «Действия» нажимаем на ссылку «Добавить группу»:
2. Сначала создаём группу «Учителя»:
3. Теперь создаём правила для пользователей при помощи модуля NetPolice. В консоли управления переходим в раздел «Модули расширения – NetPolice – Правила» и добавляем его:
4. Называем правило «Запрет по категориям (учителя)» и выбираем категории запрета:
5. создаём пользовательское правило и выбираем тип правила «Запретить доступ»:
6. В настройке правила выбираем группу «Учителя». На этом настройка для этой группы завершена:
7. Теперь переходим к созданию правил для группы «Школьники». Сначала (пусть это не покажется странным) нам необходимо запретить доступ ко всем ресурсам:
7. Добавляем правило, разрешающее пользователям работу с DNS (53 порт), чтобы выход в интернет был возможен. Для этого создаём правило «DNS-клиент», выбираем протоколы TCP/UDP и изменяем диапазон портов назначения на 53 порт:
8. Теперь добавляем пользовательское правило, разрешающее ученикам просмотр сайтов:
9. В отличие от группы «Учителя», которой разрешено посещать любые ресурсы, кроме запрещенных, пользователи из группы «Школьники» могут попасть только на определенные интернет-ресурсы:
10. Создаём новую категорию и подтверждаем автоматическое создание нового правила на разрешение:
11. И, наконец, настраиваем правило для работы с группой «Школьники».
12. Возвращаемся к настройкам групп пользователей, ведь нам еще необходимо, чтобы весь трафик проходил через прокси-сервер и блокировался при запросах мимо прокси.
13. Первыми в списке должны идти правила на разрешения. Для группы «Учителя» правило «Запрет по категориям (учителя)» добавляется автоматически:
Нам осталось только внести пользователей в определенные группы и проверить правильность настроек, перейдя по ссылке www.smart-soft.ru/ru/solutions/check-federal-law/.
Этим возможности Traffic Inspector не ограничиваются. Кроме контентной фильтрации мы можем, создав так называемый «черный» список, запретить доступ к определенным сайтам, которые могут не быть включены в уже запрещенные категории. Например, таким образом в компании можно запретить для определенных категорий сотрудников доступ к социальным сетям и развлекательным сервисам.
Подробнее о настройках «черного» списка здесь.
Если наши читатели знают другие интересные решения этой проблемы, как всегда, приглашаем к обсуждению.
Что такое веб фильтр
Веб-фильтрация (Web Filtering)
Что такое веб-фильтрация? Зачем она необходима? И как ее настроить на FortiGate? Именно такие вопросы стали основной причиной написания данной статьи.
Что такое веб-фильтрация?
Это довольно небольшой обзор проблем, которые призвана решать веб-фильтрация. Думаю, в целесообразности ее использования у вас не осталось сомнений. Поэтому, теперь необходимо рассмотреть принцип ее работы и настройку на FortiGate.
Как работает веб-фильтрация?
Рассмотрим настройку веб-фильтрации на FortiGate. Она доступна во всех режимах инспекции — Flow Based и Proxy. Однако режим Flow Based поддерживает меньше функций
Веб-фильтр, как и рассмотренный в прошлый статьях функционал, работает как профиль безопасности. Аналогично с остальными профилями безопасности, он отдельно настраивается и применяется к политикам брандмауэра.
Рассмотрим настройку веб-фильтрации в режиме Flow-Based. Для этого настроим режим работы FortiGate (см. рис. 1).
Рисунок 1. Настройка режима работы FortiGate
Теперь, необходимо перейти во вкладку Security Profiles→ Web Filter (см. рис. 2).
Рисунок 2. Меню в разделе Web Filter
Web Filter может быть по умолчанию скрыт. Чтобы его включить, необходимо зайти в меню System→Feature Visibility и возле поля Web Filter перевести ползунок в состояние enable.
Создадим свой профиль, запрещающий доступ к сайту facebook.com. Для этого переходим в меню создания нового профиля. Наблюдаем примерно такую же картину, как и в предыдущем меню. Сначала необходимо дать профилю имя. Назовем его DenyFacebook. По умолчанию включена фильтрация, основанная на категоризации FortiGuard. Для каждой категории или подкатегории можно выбрать определенное действие:
• Allow — разрешить доступ к веб сайту;
• Block — запретить доступ к веб сайту;
• Monitor — следить за трафиком данного веб сайта.
На данный момент эта фильтрация нам не нужна, поэтому в поле FortiGuard category based filter переводим ползунок в состояние disable.
Теперь, в области Static URL Filter в поле URL Filter переводим ползунок в состояние enable. Должно появиться окно, в котором необходимо нажать на клавишу Create. В появившемся окне необходимо ввести нужный URL и выбрать для него действие. URL вводится в виде регулярного выражения. Введем *facebook.com. Это позволит заблокировать любые URL, которые будут вести на facebook.com. Выберем действие Block. Следует упомянуть о действии Exemt, доступном только в Static URL Filter. Оно применяется для проверенных источников. Трафик, попавший под это действие, избегает проверки всеми остальными профилями безопасности.
Так же присутствует возможность блокировки веб-сайтов, содержащих определенный контент. (см. рис. 3)
Рисунок 3. Пример настройки профиля
Теперь применим созданный профиль безопасности к политике, которую мы создали в одной из прошлых статей.
Проверим — facebook.com действительно недоступен.
Рассмотрим работу веб-фильтра в режиме Proxy Based
Для того, чтобы начать настройку, необходимо переключить FortiGate в режим прокси. Это можно сделать в меню System → Settings. Теперь заходим в меню Security Profiles → Web Filter и выбираем ранее созданный нами профиль DenyFacebook. Настройка абсолютно аналогична, однако режим прокси поддерживает дополнительные функции, такие как: поисковые системы, опции прокси, разрешения для определенных пользователей (см. рис. 4).
Рисунок 4. Настройка веб-фильтра Proxy Based
При умелом использовании веб-фильтрации можно значительно укрепить безопасность сети. Поэтому я советую вам практиковаться, используя различные методы и разные регулярные выражения для определения шаблонов, которые подойдут именно вам и обеспечат максимальную безопасность вашей сети.
6. Fortinet Getting Started v6.0. Web Filtering и Application Control
Приветствую! Добро пожаловать на шестой урок курса Fortinet Getting Started. На прошлом уроке мы освоили основы работы с технологией NAT на FortiGate, а также выпустили нашего тестового пользователя в Интернет. Теперь пришло время позаботиться о безопасности пользователя на его просторах. В данном уроке мы рассмотрим следующие профили безопасности: Web Filtering, Application Control, а также HTTPS инспекцию.
Для того, чтобы начать знакомство с профилями безопасности, нам необходимо разобраться еще с одной вещью — режимами инспекции.
По умолчанию используется Flow Based режим. Он проверяет файлы, когда они проходят через FortiGate без буферизации. Как только пакет пребывает, он обрабатывается и передается дальше, без ожидания получения целого файла или веб страницы. Он требует меньше ресурсов и обеспечивает большую производительность, чем Proxy режим, но в то же время в нем доступен не весь Security функционал. Например, систему предотвращения утечки данных (DLP) можно использовать только в Proxy режиме.
Proxy режим работает по другому. Он создает два TCP соединения, одно между клиентом и FortiGate’ом, второе между FortiGate’oм и сервером. Это позволяет ему буферизировать трафик, т.е получать полный файл или веб страницу. Сканирование файлов на различные угрозы начинается только после того, как забуферизировался весь файл. Это позволяет применять дополнительные возможности, которые недоступны во Flow based режиме. Как видите, этот режим будто бы противоположность Flow Based — безопасность здесь играет главную роль, а производительность отходит на второй план.
Очень часто спрашивают — какой режим лучше? Но здесь нет общего рецепта. Все всегда индивидуально и зависит от ваших потребностей и задач. Я же далее в течение курса постараюсь показать отличия профилей безопасности во Flow и Proxy режимах. Это поможет сравнить функционал и решить, что лучше подойдет вам.
Перейдем непосредственно к профилям безопасности и первым рассмотрим Web Filtering. Он помогает контролировать или отслеживать, какие веб сайты посещают пользователи. Думаю, не стоит углубляться в объяснения необходимости такого профиля в нынешних реалиях. Лучше разберемся, как он работает.
После того, как установлено TCP соединение, пользователь с помощью запроса GET запрашивает содержимое определенного веб сайта.
Если веб сервер отвечает положительно, он отсылает информацию о веб сайте в ответ. Здесь в дело вступает веб фильтр. Он проверяет содержимое данного ответа.Во время проверки FortiGate в режиме реального времени отправляет запрос в FortiGuard Distribution Network (FDN), чтобы определить категорию данного веб сайта. После определения категории конкретного веб сайта, веб фильтр, в зависимости от настроек выполняет конкретное действие.
Во Flow режиме доступно три действия:
Про Application Control можно сказать совсем немного. Из названия видно, что он позволяет контролировать работу приложений. А делает он это с помощью паттернов различных приложений, так называемых сигнатур. По этим сигнатурам он может определить конкретное приложение и применить к нему определенное действие:
Теперь рассмотрим механизм HTTPS инспекции. Согласно статистике за конец 2018 года доля HTTPS трафика превысила 70%. То есть, без использования HTTPS инспекции мы сможем проанализировать только около 30% ходящего по сети трафика. Для начала рассмотрим работу HTTPS в грубом приближении.
Клиент инициирует TLS запрос к веб серверу и получает TLS ответ, а также видит цифровой сертификат, который должен быть доверенным для данного пользователя. Это тот необходимый минимум, который нам нужно знать про работу HTTPS, на самом деле схема его работы намного сложнее. После успешного TLS хэндшейка начинается передача данных в зашифрованном виде. И это хорошо. Никто не может получить доступ к данным, которыми вы обмениваетесь с веб сервером.
Однако для безопасников компаний это настоящая головная боль, поскольку они не могут видеть этот трафик и проверять его содержимое ни антивирусом, ни системой предотвращения вторжений, ни DLP системами, ничем. Также это негативно отображается на качестве определения используемых внутри сети приложений и веб ресурсов — как раз то, что относится к нашей теме урока. Решить данную проблему призвана технология HTTPS инспекции. Её суть весьма проста — фактически, устройство, которое занимается HTTPS инспекцией, организует атаку Man In The Middle. Выглядит это примерно следующим образом: FortiGate перехватывает запрос пользователя, организует с ним HTTPS соединение, и уже от себя поднимает HTTPS сессию с ресурсом, к которому обратился пользователь. При этом на компьютере пользователя будет виден сертификат, выпущенный FortiGate’ом. Он должен быть доверенным, чтобы браузер разрешил подключение.
На самом деле HTTPS инспекция вещь довольно непростая и имеет множество ограничений, но в рамках данного курса мы это рассматривать не будем. Добавлю лишь, что внедрение HTTPS инспекции — не минутное дело, обычно это занимает примерно месяц. Необходимо собрать информацию о необходимых исключениях, сделать соответствующие настройки, собрать обратную связь от пользователей, откорректировать настройки.
Приведенная теория, а также практическая часть представлены в данном видео уроке:
В следующем уроке мы рассмотрим другие профили безопасности: антивирус и систему предотвращения вторжений. Чтобы не пропустить его, следите за обновлениями на следующих каналах:
Веб-фильтр Remparo
Что такое Remparo
Веб-фильтр Remparo централизованно регулирует доступ пользователей к ресурсам в Интернете без необходимости вручную вносить каждую отдельную страницу в черный список. Remparo автоматически определяет тематику страницы и в зависимости от политики фильтрации принимает решение о блокировке доступа к ней, не затрагивая все остальные документы сайта.
Применение веб-фильтра повышает эффективность использования Интернета на рабочем месте. Remparo расширяет периметр безопасности корпоративных и домашних пользователей, упрощает предоставление качественной услуги «Родительский контроль» у провайдеров и осуществляет фильтрацию по спискам Роскомнадзора.
Как работает веб-фильтр
Remparo анализирует содержимое запрошенной страницы, выделяет главные ключевые слова, определяет их вес, связи между терминами и определяет тематику страницы. После этого веб-фильтр применяет заданные администратором правила: блокирует доступ к проанализированной странице или выводит предупреждение о наличии на ней недопустимого контента. При этом Remparo блокирует лишь изученную страницу, а не весь сайт.
В качестве дополнительного фильтра Reparo использует черные списки сайтов из Федерального списка экстремистских материалов Министерства Юстиции РФ, а также из Единого реестра запрещенных сайтов (Роскомнадзор). Широкий выбор политик фильтрации Remparo позволяет классифицировать пользователей на группы и для каждой задавать разную фильтрацию и расписание.
В основе контентного веб-фильтра Remparo — технология «Семантическое зеркало», разработанная компанией «Ашманов и партнеры». Проект находится на стадии разработки и является резидентом Сколково.
Почему нас выбирают
Remparo — единственный в России веб-фильтр с глубоким лингвистическим онлайн-анализом страниц. Его основной метод работы — фильтрация по содержимому, а вспомогательный — по черным и белым спискам.
Созданный нами веб-фильтр обладает высокой производительностью, сравнимой с производительностью DPI-решений, легок в эксплуатации, анализирует документы на русском и английском языках, с возможностью подключать поддержку других языков. Remparo соответствует существующему законодательству и подзаконным актам Российской Федерации «О защите детей от информации, причиняющей вред их здоровью и развитию», включая 436-ФЗ, 114-ФЗ, 187-ФЗ, а также Методическим рекомендациям Министерства образования.
Лингвистические технологии в веб-фильтре Remparo
Лингвистический анализ включает морфологический, синтаксический и семантический анализ текста веб-страниц, что обеспечивает высокую точность определения ее тематики. Набор релевантных категорий для запрашиваемой страницы устанавливается с помощью технологии лингвистического анализа «Семантическое зеркало».
Преимущества лингвистического анализа
Применение лингвистических методов анализа страниц позволяет блокировать отдельные страницы, а не сайты целиком. Это позволяет эффективно применять веб-фильтр Remparo к ресурсам с часто изменяющимся контентом: социальные сети, форумы, новостные ресурсы и т.д., в которых другие методы фильтрации не работают. Кроме того, веб-фильтр быстро реагирует на изменение содержания страницы и появление новых сайтов с нежелательным содержанием.
To-do: Фильтруем вся и всё
Данная статья представляет из себя скорее более FAQ, чем полноценный мануал. Впрочем, многое уже написано на хабре и для того присутствует поиск по тегам. Смысла переписывать всё заново большого нет.
В последнее время наше государство, к счастью или не к счастью, принялась за интернет и его содержимое.
Многие, несомненно, скажут что нарушаются права, свободы и т.п. Конечно, думаю мало у кого возникнуть сомнения по поводу того, что то что придуманные законы сделаны мало понимающими людьми в деле интернетов, да и основная их цель это не защита нас от того, что там есть. Будучи ответственным человеком да подгоняемый и прокурорами в некоторых учреждениях, встаёт вопрос ограничения поступающей информации. К таким учреждениям, к примеру, относятся школы, детсады, университеты и т.п. им учреждения. Да и бизнесу то-же надо заботится об информационной безопасности.
И первый наш пункт на пути к локальному контент фильтру-это
Анализ того, что такое есть интернет и как он работает.
Не для кого не секрет, что 99 процентов интернета-это http. Далее известно, что у каждого сайта есть имя, содержания страницы, url, ip адрес. Известно, также, что на одном ip может сидеть несколько сайтов, как и наоборот. Так-же, url адреса могут быть как динамичны, так и постоянны.
А то, что записано на страничке, то написано. Отсюда делаем выводы, что сайты можно мониторить по:
Cредства их осуществления.
Тут опять два пути:
Платные решения-это аппаратные(тобишь коробка с неизвестно чем, но делающая своё дело), аппаратно-программные(это то-же коробка, но уже с полноценной ос и соответствующими приложениями) и программные.
Бесплатные решения-это только программные. Но бывают и исключения, но это как раз тот случай, подтверждающий правило.
К платным относятся такие, как Kaspersky антивирус соответствующего функционала, ideco.ru, netpolice, kerio и т.п. Найти их легко, ибо их хорошо рекламируют и достаточно в строке поиска ввести что-то вроде — контентный фильтр купить.
Бесплатные решения имеют один недостаток-они всё сразу делать не умеют. найти их затруднительнее. Но вот их список: PfSense, SmoothWall(бывает двух видов-платный и бесплатный. Бесплатный немного не функционален), UntangleGateway, Endian Firewall(тоже есть платный и бесплатный), IPCOP, Vyatta, ebox platform, Comixwall(Чудное решение. Можете скачать с моего сайта 93.190.205.100/main/moya-biblioteka/comixwall). Все данные решения обладают одним недостатком — ограниченность.
Где происходит фильтрация.
Возможны следующие варианты:
Теперь следующий вопрос:
Надёжность фильтрации.
Думаю, ясно. Защиту нужно делать многоуровневой, ибо то, что просочится на одном уровне защиты, перекроется другим уровнем.
Давайте поговорим о
О недостатках уровней защиты.
Возможность обхода пользователем контентной фильтрации.
Вопрос-производительность.
Вопрос-иерархия кэшей и прокси.
Если у вас много компьютеров и вы имеете возможность использовать несколько в качестве фильтрации, то делайте так. На одном ставите прокси сервер 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 серверах всё делаем через мышку.
Настройка локальной сети
К нам идёт проверка.
В данном случае-все ползунки в максимум.
Дополнительно-запрещаем все видеосайты, контакт, социальные сети, музыкальные порталы, файлообменники и файлообменные сети.
Запрещаем mp3.
Ставим галочку напротив безопасного поиска в личном кабинете SKYDNS.
Обязательно приводим в порядок документацию.