Перейти к содержимому
Калькуляторы
Блокировка веб ресурса  

565 пользователей проголосовало

  1. 1. Для блокировка используем



Блокировка сайтов провайдерами маневры с DNS

куда именно вставили то, в перле я далеко не гуру

 

Открываете файл zapret.pl, строка 26, вставляете туда

$XML::Simple::PREFERRED_PARSER = 'XML::Parser';

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На машине с ubuntu все ок, на другой с Centos 6 но не редиректит. В логе тихо.

 

Вместо кваги переделал кусочек кода на заполнение нужными IP адресами определенного IPSET-а

Заворачиваем трафик так:

-A PREROUTING -i eth10 -p tcp -m set --match-set RKN dst -m tcp -j NFQUEUE --queue-num 0

 

в логе тишина по поводу редиректов:

2016-02-10 17:23:37.190 [7793] Information Application - nDPI memory (once): 105.48 KB
2016-02-10 17:23:37.190 [7793] Information Application - nDPI memory per flow: 1.91 KB
2016-02-10 17:23:37.190 [7793] Information Application - nDPI current memory usage: 1.85 MB
2016-02-10 17:23:37.190 [7793] Information Application - nDPI maximum memory usage: 1.85 MB
2016-02-10 17:23:37.190 [7793] Information Application - State of task NFQStatisticTask is 2
2016-02-10 17:23:37.190 [7793] Information Application - Thread 'nfqThread': redirected domains 0, redirected urls: 0, marked ssl: 0, marked hosts: 0, rst send: 0
2016-02-10 17:23:37.190 [7793] Information Application - State of task nfqThread is 2
2016-02-10 17:23:37.190 [7793] Information Application - State of task SenderTask is 2

 

Сайты на IP-адресах из ipset-а не открываются

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На машине с ubuntu все ок, на другой с Centos 6 но не редиректит. В логе тихо.

 

Вместо кваги переделал кусочек кода на заполнение нужными IP адресами определенного IPSET-а

Заворачиваем трафик так:

-A PREROUTING -i eth10 -p tcp -m set --match-set RKN dst -m tcp -j NFQUEUE --queue-num 0

 

в логе тишина по поводу редиректов:

2016-02-10 17:23:37.190 [7793] Information Application - nDPI memory (once): 105.48 KB
2016-02-10 17:23:37.190 [7793] Information Application - nDPI memory per flow: 1.91 KB
2016-02-10 17:23:37.190 [7793] Information Application - nDPI current memory usage: 1.85 MB
2016-02-10 17:23:37.190 [7793] Information Application - nDPI maximum memory usage: 1.85 MB
2016-02-10 17:23:37.190 [7793] Information Application - State of task NFQStatisticTask is 2
2016-02-10 17:23:37.190 [7793] Information Application - Thread 'nfqThread': redirected domains 0, redirected urls: 0, marked ssl: 0, marked hosts: 0, rst send: 0
2016-02-10 17:23:37.190 [7793] Information Application - State of task nfqThread is 2
2016-02-10 17:23:37.190 [7793] Information Application - State of task SenderTask is 2

 

Сайты на IP-адресах из ipset-а не открываются

 

Наверное у вас где-то неправильно роутится трафик до адресов из ipset. Сделайте traceroute до адресов, которые в ipset. ICMP пакеты должны уйти дальше фильтра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Наверное у вас где-то неправильно роутится трафик до адресов из ipset. Сделайте traceroute до адресов, которые в ipset. ICMP пакеты должны уйти дальше фильтра.

 

 

Исключено. Эта машина единственный NAT/шейпер на пути абонентского трафика. К тому же счетчики в iptables в mangle растут у данного правила, трафик туда матчится верно. Но в юзерспейс ощущение что не передается. nfqfilter с дебагом не сообщает о том что в очередь попал пакет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max1976, можно как-то маркировать без NAT-а? реальники у меня все, не хочу чтобы ФСБ ругалось =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max1976, можно как-то маркировать без NAT-а? реальники у меня все, не хочу чтобы ФСБ ругалось =)

А причем тут NAT? Для фильтра NAT не нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

маркировать без NAT-а

 

Маркировка средствами фильтра идет, а дропать в forward-цепочке. Нат где? Это у меня натирование идет на одной из сетей,но mangle то до него срабатывает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max1976 Спасибо за труд и проделанный работу.

Хотел отписать не много по багам, что нашел в zapret.pl, но сутки назад все исправлено.

В nfqfilter_config не нашел выборки из таблицы zap2_only_ips, соответственно эти записи не попадут в конфиг bgp и в другие файлы настроек.

Еще обнаружил это:

cat bgpd.conf | grep 127.0.0.

network 127.0.0.1/32

 

Не думаю, что адрес 127.0.0.1 должен сюда попадать.

 

nfqfilter использую как зеркало, трафик снимается с SPAN порта коммутатора - трафик около 4 гигабита.

Порт добавлен в бридж, для работы правил iptables, иначе iptables не работает.

nfqfilter запущен в 8ми экземплярах, iptables направляет порты 80 и 443, а так же все что найдет в файлах конфигурации через ipset, на nfqfilter.

В настройках стоит send_rst = true, https и соединения из файла hosts сбрасывает на ура.

 

Пока только одна проблема, в ssl_hosts игнорируется ip адрес если его туда добавить.

 

На будущее хотелось бы видеть сброс всех TCP подключений по таблице zap2_only_ips и zap2_subnets и по всем запрещенным доменам сделать DNS-спуфинг для перенаправления на IP со страницей блокировки.

 

А за софт большое человеческое СПАСИБО.

Изменено пользователем overty

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще обнаружил это:

cat bgpd.conf | grep 127.0.0.

network 127.0.0.1/32

В последней ревизии zapret.pl добавлена проверка ip адресов и они больше не попадают в таблицы. Удалите уже созданные записи:

DELETE FROM zap2_ips WHERE ip=UNHEX('7f000001');

 

На будущее хотелось бы видеть сброс всех TCP подключений по таблице zap2_only_ips и zap2_subnets

 

Уже готова версия с поддержкой zap2_only_ips - эти адреса добавляются в квагу в виде ip route ip/mask null0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще обнаружил это:

cat bgpd.conf | grep 127.0.0.

network 127.0.0.1/32

В последней ревизии zapret.pl добавлена проверка ip адресов и они больше не попадают в таблицы. Удалите уже созданные записи:

DELETE FROM zap2_ips WHERE ip=UNHEX('7f000001');

 

Ага, вижу, работает.

 

На будущее хотелось бы видеть сброс всех TCP подключений по таблице zap2_only_ips и zap2_subnets

Уже готова версия с поддержкой zap2_only_ips - эти адреса добавляются в квагу в виде ip route ip/mask null0.

 

 

К сожалению не увидел данный функционал в коде на github.

Дело в том что я не использую квагу, nfqfilter работает как зеркало и трафик через сервер не проходит.

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max1976

И у себя еще переделал Redirect на "302 Found".

Дело в том что "301 Moved Permanently" кешируется браузерами и если ссылка или домен удалены из реестра, клиенты все равно видят страницу блокировки, т.к. она закеширована.

Изменено пользователем overty

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

diff --git a/src/sender.cpp b/src/sender.cpp
index 352852f..1d6b6ba 100644
--- a/src/sender.cpp
+++ b/src/sender.cpp
@@ -213,7 +213,7 @@ void CSender::Redirect(int user_port, int dst_port, Poco::Net::IPAddress &user_i
       std::string tstr=rHeader;
       if(!additional_param.empty())
       {
-               tstr = "HTTP/1.1 301 Moved Permanently\r\nLocation: " + this->redirect_url + additional_param + "\r\nConnection: close\r\n";
+               tstr = "HTTP/1.1 302 Moved Temporarily\r\nLocation: " + this->redirect_url + additional_param + "\r\nConnection: close\r\n";
       } else {
               tstr=rHeader;
       }

 

 

против кэша браузеров..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашел в логе на Centos-е причину неработоспособности nfqfilter

 

2016-02-11 18:31:33.025 [20711] Fatal nfqThread - Error during nfq_create_queue

 

Куда копать?

 

UPD: обновил libnetfilter и devel... пресобрал фильтр -

2016-02-11 18:55:31.708 [22675] Information nfqThread - NFQ: Binding to queue 0

 

однако все равно тихо.. ядро не передает пакеты приложению

Изменено пользователем micol

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

куда именно вставили то, в перле я далеко не гуру

 

Открываете файл zapret.pl, строка 26, вставляете туда

$XML::Simple::PREFERRED_PARSER = 'XML::Parser';

не помогло, далеко не с первой попытки скрипт сработал

root@skyprox-main:/home/rkn/zapret# ./zapret.pl
Subroutine _call redefined at (eval 141) line 50.
Subroutine OperatorRequestService::want_som redefined at (eval 141) line 92.
Subroutine AUTOLOAD redefined at (eval 141) line 109.
Subroutine OperatorRequestService::getResult redefined at (eval 141) line 107.
Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 141) line 107.
Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 141) line 107.
Subroutine OperatorRequestService::sendRequest redefined at (eval 141) line 107.
root@skyprox-main:/home/rkn/zapret# ./zapret.pl
Subroutine _call redefined at (eval 141) line 50.
Subroutine OperatorRequestService::want_som redefined at (eval 141) line 92.
Subroutine AUTOLOAD redefined at (eval 141) line 109.
Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 141) line 107.
Subroutine OperatorRequestService::sendRequest redefined at (eval 141) line 107.
Subroutine OperatorRequestService::getResult redefined at (eval 141) line 107.
Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 141) line 107.
Subroutine _call redefined at (eval 160) line 50.
Subroutine OperatorRequestService::want_som redefined at (eval 160) line 92.
Subroutine AUTOLOAD redefined at (eval 160) line 109.
Subroutine OperatorRequestService::sendRequest redefined at (eval 160) line 107.
Subroutine OperatorRequestService::getResult redefined at (eval 160) line 107.
Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 160) line 107.
Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 160) line 107.
Subroutine _call redefined at (eval 179) line 50.
Subroutine OperatorRequestService::want_som redefined at (eval 179) line 92.
Subroutine AUTOLOAD redefined at (eval 179) line 109.
Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 179) line 107.
Subroutine OperatorRequestService::sendRequest redefined at (eval 179) line 107.
Subroutine OperatorRequestService::getResult redefined at (eval 179) line 107.
Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 179) line 107.
root@skyprox-main:/home/rkn/zapret# ./zapret.pl
DBD::mysql::st execute failed: Unknown column 'resolved' in 'field list' at ./zapret.pl line 755.
DBD::mysql::st execute failed: Unknown column 'resolved' in 'field list' at ./zapret.pl line 755.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DBD::mysql::st execute failed: Unknown column 'resolved' in 'field list' at ./zapret.pl line 755.

DBD::mysql::st execute failed: Unknown column 'resolved' in 'field list' at ./zapret.pl line 755.[/code]

 

Обновите версию с github .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как на счёт поддежки в nfq_filter анализа tcp потока

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Да, вижу. Спасибо. Теперь можно сливать в файл hosts IP адреса из таблицы zap2_only_ips.

Изменено пользователем overty

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

 

По URL да, длина большая. Но у меня при MTU 68 проскакивает только первый запрос по запрещенному ресурсу, остальные вроде как блокирует.

А вот с доменами помог бы DNS Spoofing на адрес со страницей блокировки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

 

По URL да, длина большая. Но у меня при MTU 68 проскакивает только первый запрос по запрещенному ресурсу, остальные вроде как блокирует.

А вот с доменами помог бы DNS Spoofing на адрес со страницей блокировки.

 

а попробуй wget-ом. Кстати, какой софт используют проверяющие органы

Изменено пользователем ne-vlezay80

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

Напишите уже сами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

Напишите уже сами.

 

Кстати, в этой теме я нашёл некоторые perl скрипты. Но, они сырые. Можно конечно их допилить. Дело в том, что опыта работы с c++ у меня нету.

Изменено пользователем ne-vlezay80

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

 

По URL да, длина большая. Но у меня при MTU 68 проскакивает только первый запрос по запрещенному ресурсу, остальные вроде как блокирует.

А вот с доменами помог бы DNS Spoofing на адрес со страницей блокировки.

 

а попробуй wget-ом. Кстати, какой софт используют проверяющие органы

 

 

wget тоже самое. Первый запрос проходит, остальные - редирект на страницу блокировки. mtu 68 и 128

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Данный функционал я предлагал внести в nfqfilter, что бы по всем TCP портам отправлялся RST пакет. Как вариант добавление таких адресов в файл hosts, но без указания порта, что означало сброс всех TCP подключений по указанным IP.

Добавил данный функционал в программу. Проверьте, должно работать.

 

Я бы бвл не против добавить поддержку анализа мелких tcp-пакетом, так как например, клиент пожет поставить у себя на интерфейсе mtu 128, и беспрепядственно через wget скачать запрещённый сайт.

 

По URL да, длина большая. Но у меня при MTU 68 проскакивает только первый запрос по запрещенному ресурсу, остальные вроде как блокирует.

А вот с доменами помог бы DNS Spoofing на адрес со страницей блокировки.

 

а попробуй wget-ом. Кстати, какой софт используют проверяющие органы

 

 

wget тоже самое. Первый запрос проходит, остальные - редирект на страницу блокировки. mtu 68 и 128

 

у меня через wget открывается почиму-то запрещённый сайт. Кстати, если через wget - то получается:

GET / HTTP/1.1
Host: hospit

al-vrn.ru

и по этой причине nfq_filter не видит запрещённый сайт

Изменено пользователем ne-vlezay80

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.