a-zazell Posted October 28, 2012 (edited) · Report post Здравствуйте, тема не нова, но все же. Для себя сформировал 3 основных варианта: 1. Блок по IP 2. DNS blackhole (ну это заводим зону с А 127.0.0.1) 3. DPI 3ий вариант точно не пройдет в силу масштаба предприятия. 2ой вариант пройдет, если прикрыть dns трафик наружу, ну как-то облачно и неуверенно. Блокировка по IP - просто, быстро, надежно, НО! Как происходит процедура (в моем случае): смотрим А запись, добавляем хост(ы) в табличку, форвардим все запросы на 80,443,8080 порты к хостам из таблички на нашу страничку с "Приветствием". Но что мешает взять IP адреса популярных ресурсов, повесить как А запись на заблокированный домен,и угарать. Еще веселее, если идет блокировка всего трафика с IP. Ждем 1го Ноября и реестра... Edited February 12, 2014 by a-zazell Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Alex/AT Posted October 29, 2012 (edited) · Report post Для того, что будет прописано в реестре как IP - блокировка по IP. Полная, без всяких портов. Для того, что будет прописано как URL - по DNS, псевдозоной. Заблокируют "популярные ресурсы" - ССЗБ, страничка однозначно будет выводить на сайт с указанием источника блокировки. Edited October 29, 2012 by Alex/AT Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted October 29, 2012 · Report post Можно комбинировать решения. Например IP+DNS+DPI, т.е. блокировать IP если явно указан IP, блокировать домен, если указан только домен и заворачивать на DPI трафик с тех IP, для которых указаны url, таким образом не придётся гнать весь трафик через DPI Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
a-zazell Posted October 29, 2012 (edited) · Report post Можно комбинировать решения. Например IP+DNS+DPI, т.е. блокировать IP если явно указан IP, блокировать домен, если указан только домен и заворачивать на DPI трафик с тех IP, для которых указаны url, таким образом не придётся гнать весь трафик через DPI Да, спасибо, в этом направлении думал. Поднять зоны на DNS, что отсечет значительную часть запросов. А если идет запрос на хост из списка, то направлять его на squid (ipfw fwd), со сквидом не работал, тонкостей не знаю, будем читать... Update: Вот тут обсуждалось кстати Edited October 29, 2012 by a-zazell Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zoro Posted October 29, 2012 · Report post Меня больше вот что интересует :) "http://site1.ru/page1.html" пример из http://zapret-info.gov.ru/docs/description_for_operators_2012-10-26v1.2.pdf <content id="1" includeTime="2012-01-01T01:01:01"> <decision date="2012-01-01" number="Решение №1" org="ФОИВ №1"/> <url><![CDATA[http://site1.ru/page1.html]]></url> <ip>1.1.1.1</ip> </content> Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zoro Posted October 29, 2012 · Report post Вопрос что у нас есть из программного DPI ? напрмер под линукс? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted October 29, 2012 · Report post Вопрос что у нас есть из программного DPI ? напрмер под линукс? по сути, ничего серьёзного. есть простенький модуль string для iptables, который делает поиск подстроки в строке в пакете. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted October 30, 2012 · Report post моя имха - нужен аппаратный контент фильтр с анализом начала tcp соединения и http сессий, все остальное пляски с бубном. Если закон пройдет, скорее всего можно ожидать появления обязательной железки типа сорм-а Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bomberman Posted October 30, 2012 · Report post нужен аппаратный контент фильтр с анализом Так есть жеж..... ;) DPI моей мечты Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted October 31, 2012 · Report post Так есть жеж..... ;) DPI моей мечты спасибо за ссылку :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 2, 2012 · Report post по сути, ничего серьёзного. есть простенький модуль string для iptables, который делает поиск подстроки в строке в пакете. А возможно ли кроме блокировки с использованием string для iptables, сделать еще и редирект на страницу с уведомлением, почему "данный ресурс недоступен"? А то ТП будет грустно объяснять каждому из "интересующихся", почему "не работает Интернет" (а в 90% случаев вопрос будет поставлен именно так). P.S. Попытался реализовать сиё с помощью DNAT в цепочке PREROUTING, но как оказалось, string match "domain.ru" в ней не работает. Не ругается, но и не работает.. :( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bomberman Posted November 2, 2012 · Report post Что то не нравится мне эта фишка с string для iptables.... На сколько быстро это работает? У кого то есть практика использования? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 2, 2012 · Report post Что то не нравится мне эта фишка с string для iptables.... На сколько быстро это работает? У кого то есть практика использования? Есть практика. Юзаю сиё для блокировки всяких "кавказов" (по прокуратурским постановлениям). В цепочке FORWARD работает. Насчет насколько это быстро работает, сказать ничего не могу, не исследовал. При 800М на бордере с НАТ-ом проблем от этого не заметил. Проблема в том, что в пользовательском браузере такая блокировка отображается как "недоступность" ресурса, что соотв. может вызвать "неадекватную реакцию" у юзеров.. Хотел вот прикрутить для редиректа на страницу с уведомлением, но как уже писал выше, не работает это в PREROUTING с DNAT-ом.. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ohfsgcscft Posted November 2, 2012 · Report post Что то не нравится мне эта фишка с string для iptables....На сколько быстро это работает? У кого то есть практика использования? Если запрос будет разбит на несколько пакетов большая вероятность пропустить то что нужно блокировать. Пока это не актуально, но кто знает какие плагины/локальные прокси народ себе понаставит. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bomberman Posted November 2, 2012 (edited) · Report post Хотел вот прикрутить для редиректа на страницу с уведомлением, А если просто на оффсайте страничку, со списком блокируемых Вами URL. А потом уж что то додумать. Если запрос будет разбит на несколько пакетов большая вероятность пропустить то что нужно блокировать. Пока это не актуально, но кто знает какие плагины/локальные прокси народ себе понаставит. В том то и дело, что пока. Больше на заглушку временную похоже. Тут наверное поможет лишь глубокий DPI. Уровня, примерно как я приводил ссылку ) Edited November 2, 2012 by bomberman Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 2, 2012 · Report post А если просто на оффсайте страничку, со списком блокируемых Вами URL. А потом уж что то додумать. Не вариант. Оффсайт посещают единицы, некоторые даже не знают о его существовании... Больше на заглушку временную похоже. Надеюсь, что так оно и будет. Чиновники отчитаются об успешно проведённой операции под кодовым названием "Ветряные мельницы" , получат бабульки, отведенные на это дело и успокоятся до следующей "мусульманской кинЫ". ;) Ну а сейчас хошь не хошь, надо как-то выкручиваться, особенно перед своими клиентами и постараться максимально свалить с себя ответственность за сей беспредел. В глазах клиента всегда в первую очередь виноват провайдер последней мили.. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted November 2, 2012 · Report post А если просто на оффсайте страничку, со списком блокируемых Вами URL. А потом уж что то додумать. Не вариант. Оффсайт посещают единицы, некоторые даже не знают о его существовании... Очень даже вариант... Отдельные группы граждан будут благодарны списку с сайтами определенной тематики. Искать ничего не надо. А уж как пробраться через Ваш фильтр они найдут. Главное список есть и в гугле со странными запросами палиться не надо :) Этакие Yellow Pages... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted November 2, 2012 · Report post А если просто на оффсайте страничку, со списком блокируемых Вами URL. А потом уж что то додумать. И сюда ссылку дайте, а то не все ещё с ЭЦП утрясли :))) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bomberman Posted November 2, 2012 · Report post Отдельные группы граждан будут благодарны списку с сайтами определенной тематики. Искать ничего не надо. Ничего со временем это всё равно будет в сети. :) А вообще, всё хорошо.... Какой закон, такое и решение ) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted November 2, 2012 · Report post В том то и дело, что пока. Больше на заглушку временную похоже. Тут наверное поможет лишь глубокий DPI. Уровня, примерно как я приводил ссылку ) Реально поможет только полицейский за спиной каждого интернет-пользователя. :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
a-zazell Posted November 2, 2012 · Report post В black-list более 70 доменов, сделал заглушку на DNS (ну понятно что для самых "простых" пользователей). По счетчикам за день (трафик до 1Гбит/с): <rule number> 331 32731 fwd <ip>,403 tcp from any to table(125) dst-port 80 out xmit wan А это снаружи к нам <rule number> 3 132 deny tcp from table(125) 80,443 to any in recv wan Правила для наглядности слегка изменены (= На очереди squid transparent, при таком кол-ве пакетов думаю справится. А в табличке 125 все ip адреса из А записей. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
AlKov Posted November 2, 2012 · Report post В black-list более 70 доменов... ...А в табличке 125 все ip адреса из А записей. Гм.. Так получается самая что ни есть банальная блокировка по IP. Для чего тут black-list с доменами? Только для того, чтобы выцепить нужные IP? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
a-zazell Posted November 2, 2012 · Report post Гм.. Так получается самая что ни есть банальная блокировка по IP. Для чего тут black-list с доменами? Только для того, чтобы выцепить нужные IP? Это подготовка, идея такая Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
6yktonox Posted November 2, 2012 · Report post Хм. Кому-нибудь удалось корректно подружить tproxy и nginx(не в freebsd)? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted November 3, 2012 · Report post по сути, ничего серьёзного. есть простенький модуль string для iptables, который делает поиск подстроки в строке в пакете. А возможно ли кроме блокировки с использованием string для iptables, сделать еще и редирект на страницу с уведомлением, почему "данный ресурс недоступен"? А то ТП будет грустно объяснять каждому из "интересующихся", почему "не работает Интернет" (а в 90% случаев вопрос будет поставлен именно так). P.S. Попытался реализовать сиё с помощью DNAT в цепочке PREROUTING, но как оказалось, string match "domain.ru" в ней не работает. Не ругается, но и не работает.. :( 1. это нельзя сделать силами только iptables и обычных веб-серверов по той причине, что сам HTTP-запрос делается уже после установления tcp-сессии. и если вы даже зарулите трафик на свой сервер, то он будет видеть просто какой-то трафик(у него не будет tcp-сессии) 2. поаккуратнее со string, если вы блокируется строчку "watch?v=XXX", то вы блокируете ещё и страничку, которая просто даёт ссылку(если искомая подстрока не будет в разных IP-пакетах) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...