Url фильтрация что это
Как мы писали URL-фильтрацию Ростелекому
DPI и блокировка по IP
Начать видимо стоит с DPI. Они в некотором количестве на сети имеются, но поставить их на весь трафик стоило бы РТК несколько десятков миллионов долларов и постоянно требовало бы новых инвестиций в связи с ростом потребления скучающим населением. Ни предыдущие, ни теперешние руководители на такое не решились (возможно лишь пока), потому как никаких новых услуг с осязаемыми объемами доходов внедрение DPI не обещает.
Поскольку блокировать разные ресурсы РТК должен был и раньше (суды вершат без оглядки на законы), то и делал это по IP’ческим адресам. Соответственно, простейшая фильтрация на границах решала проблему. Аналогично стали решать и проблему с реестром запрещенных ресурсов: специально обученный человек выгружал реестр, там есть и URL и IP и дальше добавлял записи в списочек, а скрипт правил access list.
ПО управления фильтрацией
Мы автоматизировали общение с реестром и тут, как всем понятно, магии никакой (ее и дальше то особо нет). Запротоколировали внесение изменений в реестре и реализацию цензуры на сети. Добавили мелкие рюшечки, связанные с распределенной структурой ответственности на сети РТК, исключением из действия фильтра части абонентов (в частности запредельных операторов). Ну и суды никто не отменял, поэтому есть возможность внести любой ресурс из судебного решения. Помимо этого, управляющее ПО настраивает перенаправление трафика на узлы фильтрации, готовит отчеты о поисковых запросах пользователей, мониторит узлы фильтрации и протоколирует все активности.
Поворот трафика и фильтрация
Трафик направляемый абонентами на IP адреса соответсвующие блокированным URL’ам на PE поворачивали в специальный VPN, где defult смотрит на пару рутеров в центре. Используя SCU/DCU (похожая функциональность вроде и на кисках имеется) на границе же исключали по адресам источника трафик от абонентов, фильтрации не подлежащих. Софт управления формировал /32 маршруты по IP адресам реестра, правил конфиг на центральном маршрутизаторе и изменения вступали в силу. От посылки BGP апдейтов, помнится, отказались, потому как нехорошо это.
На двух центральных маршрутизаторах настраивали копирование проходящего трафика уже с учетом портов. Соответственно на весь РТК получалось от силы несколько мегабит. Копировать можно было либо на внешний сервер, либо на MS-DPC. И там и там принцип дальнейшей обработки был одинаков. ПО фильтрации ловит пакет, если в нем get с URL’ом из списка, то в сторону сервера шлем сброс, а в сторону браузера редирект на сайт с рассказом про то, как важны моральные принципы для современного российского общества.
Минимальное время ответа от серверов, входивших в реестр год назад, превышало 100 мс, а софтина, анализирующая URL, выдавала ответ за 5-6 мс при нагрузке в 3 Гб/с. Посему решили, что городить прокси, обеспечивать его надежность и прочее в том же духе смысла не имеет. При сбое ПО фильтрации все будет работать, кроме фильтрации понятно. Правда по просьбе РТК запроектировали все равно по паре серверов фильтрации.
Сейчас понятно, что можно было и чуть проще сделать, использовать маленький DPI в центре вместо своего ПО фильтрации. Но так мы уже другому оператору сделали. Может статься, что выбранные внедренцы скомбинируют свое ПО работы с реестром с обычным DPI, через который пойдет только выбранный трафик. Нам же на тот момент хотелось понять есть ли хоть какая-то задача, которую стоило бы реализовывать на сервисных модулях в маршрутизаторе, а не снаружи. То, что Juniper закрыл для внешних разработчиков доступ к модулям, дает четкий ответ на этот вопрос, но нас тогда еще мучили сомнения.
Что касается стоимости, то из того миллиона, о котором идет речь, больше половины составляли серверы, так что большой прибыли на софте там не планировалось.
Url фильтрация что это
Доступ к сайтам контролируется URL-фильтром. URL-фильтр позволяет оградить пользователя от посещения нежелательных интернет-ресурсов. Чтобы настроить URL-фильтр, вы можете выбрать отдельные сайты или категории сайтов.
При попытке открыть сайт из списка запрещенных, вы увидите страницу блокировки.
URL-фильтр поддерживает встроенный браузер Android, а также браузеры Google Chrome, Яндекс.Браузер, Microsoft Edge, Firefox, Opera, Adblock Browser, Dolphin Browser, Спутник и Boat Browser.
На главном экране приложения выберите опцию URL-фильтр (см. Рисунок 17 ).
URL-фильтр может запросить доступ к специальным возможностям Android. Доступ необходим для корректной работы URL-фильтра в установленных браузерах. Без доступа URL-фильтр не сможет работать.
Рисунок 17. URL-фильтр
Dr.Web позволяет выбрать определенные категории сайтов, доступ к которым должен быть запрещен. Раскройте список Категории сайтов и выберите нужные категории:
• Сайты для взрослых;
Выбирая эту категорию, вы включаете семейный поиск в поисковых системах Google, Yandex, Bing, Yahoo и Rambler. Это значит, что из результатов поиска будут полностью исключены материалы «для взрослых».
• URL, добавленные по обращению правообладателя;
• Пулы для добычи криптовалют.
По умолчанию URL-фильтр запрещает доступ к сайтам, известным как источники распространения вирусов.
Белый и черный списки
Вы можете составить списки сайтов, доступ к которым разрешается или блокируется вне зависимости от остальных настроек URL-фильтра. По умолчанию списки пусты.
Чтобы добавить сайт в белый или черный список
2. Выберите список, в который вы хотите добавить адрес.
3. Нажмите значок в правом нижнем углу окна.
4. Укажите URL сайта в одном из перечисленных форматов:
Вы можете добавить только конкретные URL сайтов, добавление масок или ключевых слов не поддерживается.
Если вы попытаетесь добавить URL, который уже есть в противоположном списке, вам будет предложено переместить его.
Разрешить доступ только к сайтам из белого списка
При работе в режиме централизованной защиты настройки URL-фильтра могут быть изменены или заблокированы в соответствии с политикой безопасности вашей компании или списком оплаченных услуг.
Url фильтрация что это
Каждый URL Filter состоит из набора URL правил, количество которых неограничено. URL правило определяет адрес или часть адреса при нахождении которого в адресе WEB-запроса, данный WEB-запрос будет блокироваться. Например, URL Filter c URL правилами:
будет блокировать доступ ко всем сайтам содержащим в своем имени строки microsoft.com или odnoklassniki.ru
Согласно RFC 3986, адрес WEB-запроса состоит из следующих компонент:
TMeter осуществляет поиск на совпадение URL правила в частях hostname (имя хоста) и/или URI-path (URI-путь) WEB-запроса.
Конструирование URL правил
Помимо простых URL правил, состоящих из частей WEB-адресов (таких как microsoft.com или odnoklassniki.ru), в URL правилах разрешается использование некоторых специальных символов, изменяющих логику поиска на успех совпадения.
определяет, что поиск шаблона URL правила должен осуществляться в начале имени хоста или URI-пути (например, ^forum будет генерировать успех для адреса forum.tmeter.ru, однако для адреса www.forum.tmeter.ru работать не будет)
соответствует любой комбинации символов, например forum*.ru
Разрешает (не блокирует) адрес, который будет соответствовать шаблону. Данный символ можно применять только в начале шаблона
Все описанные модификаторы разрешно использовать только один раз в одном URL правиле.
Особенности работы URL фильтрации
URL фильтрация осуществляется в прозрачном режиме (т.е. нет необходимости использовать какой-либо прокси-сервер и специальным образом настраивать браузеры на клиентах). Технология URL фильтрации анализирует каждый TCP пакет на предмет наличия в нем заголовка HTTP-запроса. Если заголовок HTTP-запроса найден в пакете и совпал шаблон URL правила для блокирования сайта, то TMeter формирует ответную HTML-страничку «доступ запрещен» и посылает ее клиенту как бы от имени WEB-сервера. В дополнение, TMeter посылает TCP пакеты с флагом FIN для закрытия TCP-соединения.
Примеры URL фильтров
Запрещает загрузку содержимого с указанных сайтов
Обратите внимание
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.
Обязательно приводим в порядок документацию.
Фильтрация черного списка сайтов по URL
В данной статье рассмотрена связка Squid+TPROXY стоящий на отдельной машине. Как оказалось это тема почти не освещена на просторах интернета.
По роду занятия возникла задача фильтрации черного списка сайтов от РОСКОМНАДЗОРА. В ходе проверки нам пригрозили что если мы это не сделаем то введут санкции. Сказано сделано (всего на несколько минут) тупая и не очень дружественная к нашим клиентам реализация, которая просто не давала доступа ко всем сайтам внесенным в черный список. При этом фильтрация была просто по IP. И естественно перекрывала доступ ко всем сайтам на IP.
Нужно было переделывать, да еще и грамотно переделывать. Во первых это не красиво/коряво, во вторых задача сама по себе очень интересная.
В этой статье я не буду рассказывать как настроить автоматическое получение этого списка. Скажу лишь одно, я не стал заморачиваться с постоянным подписывание запроса, а сделал это один раз на компьютере с установленным ПО и ключом.
Начнем с машины с установленным Squid3.
Почти все настройки были взяты из официального Squid+TPROXY
Чтобы мы могли определить какой трафик уже прошел проверку, а кой нет мы создаем отдельный VLAN, в нашем случае 5, для исходящих пакетов. Напомню что в режиме TPROXY IP у адреса источника не меняется.
Чтобы уже существующие соединения не попадали в правило TPROXY
Собственно само правило TPROXY
Последняя строка в конфиге сделает REDIRECT на указанный сайт в случае если пользователь запросит один из запрещенных сайтов.
Остальные настройки в squid3 по вкусу.
Настройки на роутере
Эти настройки нам потребуется применить и к маршрутизатору.
Естественно включен NAT серых подсетей.
Создаем цепочку в которой будем производиться фильтрацию
В этой цепочке будем маркировать все пакеты у которых исходящий или порт назначения 80 (только при написании статьи понял что указания портов здесь лишние, но оставил, вдруг кому так легче понять)
Отправим в эту цепочку все пакеты у которых адреса источника или назначение 80 при этом эти пакеты мы получили не из 5 VLAN (может кто подскажет почему в этом случае соединение не трассируется и приходится делать обратную проверку)
Создаем правило которое в случае если на пакете стоит метка 1 отправит его в 101 таблицу маршрутизации
Собственно сама таблица маршрутизации
И на последок. Вот так у нас сформирован список плохих сайтов
Списки блокируемых сайтов на обеих машинах загружаются автоматически, но интерпретируются уже по разному.