Jump to content
Калькуляторы
Блокировка веб ресурса  

536 members have voted

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



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

11 часов назад, Troj сказал:

второй день подрят один и тотже пропуск 


http://w.kyzdar.net

вчера добавили, в списке есть, а  не блокируется, extfilter 0.99a в режиме зеркала

вообще другой сайт открывается на самом деле http://kyzd0r.net/

Share this post


Link to post
Share on other sites

Снизили трафик, меньше гигабита стало, pps 50 тысяч, тестовым скриптом проверяем - всё равно пропуски.

Share this post


Link to post
Share on other sites
24 минуты назад, Morphus сказал:

в логах фильтра должны же быть missed пакеты ?

Важны 2 параметра, отсутствие missed и время получения абонентом ответа от фильтра.

 

Для сравнения лог моего фильтра. Обратите внимание на время обработки пакетов:

Цитата

2018-12-07 12:07:06.026 [6463] Information Application - Port 0 input packets 1165277377206, input errors: 0, mbuf errors: 0, missed packets: 0
2018-12-07 12:07:06.027 [6463] Information Application - Port 1 input packets 255, input errors: 0, mbuf errors: 0, missed packets: 181060
2018-12-07 12:07:06.027 [6463] Information Application - Worker thread on core 1 statistics:
2018-12-07 12:07:06.027 [6463] Information Application - Thread seen packets: 388710885005, IP packets: 388692838618 (IPv4 packets: 387296969463, IPv6 packets: 1395869155), seen bytes: 119726263713331, Average packet size: 308 bytes, Traffic throughput: 80.36 K pps
2018-12-07 12:07:06.027 [6463] Information Application - Thread IPv4 fragments: 227102538, IPv6 fragments: 0, IPv4 short packets: 0
2018-12-07 12:07:06.027 [6463] Information Application - Thread matched by ip/port: 499, ssl SNI: 2924536, ssl/ip: 0, http IPv4: 6092550, http IPv6: 946
2018-12-07 12:07:06.027 [6463] Information Application - Thread redirected blocked http IPv4: 6092550, redirected http IPv6: 946, sended forbidden IPv4: 0, sended forbidden IPv6: 0, rst sended IPv4: 3167831, rst sended IPv6: 17949
2018-12-07 12:07:06.027 [6463] Information Application - Thread packets latency all packets: 727 cycles (207 ns), unblocked packets: 727 cycles (207 ns), blocked packets: 8635 (2464 ns)
2018-12-07 12:07:06.027 [6463] Information Application - Worker thread on core 2 statistics:
2018-12-07 12:07:06.027 [6463] Information Application - Thread seen packets: 390731879347, IP packets: 390715475170 (IPv4 packets: 389385155696, IPv6 packets: 1330319474), seen bytes: 120727946117609, Average packet size: 308 bytes, Traffic throughput: 84.86 K pps
2018-12-07 12:07:06.027 [6463] Information Application - Thread IPv4 fragments: 362693729, IPv6 fragments: 0, IPv4 short packets: 0
2018-12-07 12:07:06.027 [6463] Information Application - Thread matched by ip/port: 1068, ssl SNI: 2626330, ssl/ip: 0, http IPv4: 9260706, http IPv6: 848
2018-12-07 12:07:06.027 [6463] Information Application - Thread redirected blocked http IPv4: 9260706, redirected http IPv6: 848, sended forbidden IPv4: 0, sended forbidden IPv6: 0, rst sended IPv4: 2712329, rst sended IPv6: 14889
2018-12-07 12:07:06.027 [6463] Information Application - Thread packets latency all packets: 738 cycles (211 ns), unblocked packets: 737 cycles (210 ns), blocked packets: 8756 (2499 ns)
2018-12-07 12:07:06.027 [6463] Information Application - Worker thread on core 3 statistics:
2018-12-07 12:07:06.027 [6463] Information Application - Thread seen packets: 385834612942, IP packets: 385817311494 (IPv4 packets: 384401380308, IPv6 packets: 1415931186), seen bytes: 116537295619659, Average packet size: 302 bytes, Traffic throughput: 83.32 K pps
2018-12-07 12:07:06.027 [6463] Information Application - Thread IPv4 fragments: 323379905, IPv6 fragments: 0, IPv4 short packets: 0
2018-12-07 12:07:06.027 [6463] Information Application - Thread matched by ip/port: 666, ssl SNI: 49605912, ssl/ip: 0, http IPv4: 6930409, http IPv6: 819
2018-12-07 12:07:06.027 [6463] Information Application - Thread redirected blocked http IPv4: 6930409, redirected http IPv6: 819, sended forbidden IPv4: 0, sended forbidden IPv6: 0, rst sended IPv4: 50080867, rst sended IPv6: 16008
2018-12-07 12:07:06.027 [6463] Information Application - Thread packets latency all packets: 734 cycles (209 ns), unblocked packets: 734 cycles (209 ns), blocked packets: 5885 (1680 ns)
2018-12-07 12:07:06.027 [6463] Information Application - All worker threads seen packets: 1165277377294, IP packets: 1165225625282 (IPv4 packets: 1161083505467, IPv6 packets: 4142119815), seen bytes: 356991505450599, traffic throughtput: 248.55 K pps
2018-12-07 12:07:06.027 [6463] Information Application - All worker IPv4 fragments: 913176172, IPv6 fragments: 0, IPv4 short packets: 0
2018-12-07 12:07:06.027 [6463] Information Application - All worker threads matched by ip/port: 2233, matched by ssl SNI: 55156778, matched by ssl/ip: 0, matched by HTTP: 22286278
2018-12-07 12:07:06.027 [6463] Information Application - All worker threads redirected blocked http: 22286278, sended forbidden IPv4: 0, sended forbidden IPv6: 0, rst sended IPv4: 55961027, rst sended IPv6: 48846

 

 

Edited by max1976

Share this post


Link to post
Share on other sites
17 минут назад, max1976 сказал:

Важны 2 параметра, отсутствие missed и время получения абонентом ответа от фильтра.

missed нету.

Снизели нагрузку до 128 Мбит.

Проверяем скриптом - много пропущеных. не редиректит на заглушку.

Конфиг такой:

Скрытый текст

;Переводить имя хоста в прописные буквы. Если url_normalization установлен в true, то не имеет значения.
;lower_host = false

domainlist = /usr/local/etc/extfilter/domains
urllist = /usr/local/etc/extfilter/urls
ssllist = /usr/local/etc/extfilter/ssl_host

; файл с ip:port для блокировки
hostlist = /usr/local/etc/extfilter/hosts

; Список ip адресов/сетей для блокировки ssl если нет server_name в ssl hello пакете. Загружается если block_undetected_ssl = true.
sslips = /usr/local/etc/extfilter/ssl_ips

; если false, то будет послан ответ от сервера 403 Forbidden вместо редиректа. Default: false
http_redirect = true

# если в конце url будет указан символ ? иди &, то после этого символа будет добавлен блокированный url: redirect_url[?|&]uri=http://...
redirect_url = block_page_here

; посылать tcp rst в сторону сервера от имени клиента. Default: false
rst_to_server = false

; Default: 0 - disable
statistic_interval = 300

; Блокировать ssl по ip из файла с ip адресами в случае отсутствия SNI. Default: false
block_ssl_no_sni = false

; Какие ядра использовать. Default: все ядра, кроме management.
core_mask = 31

; файл статистики (для extfilter-cacti)
statisticsfile = /var/run/extFilter_stat

; mtu на интерфейсе для отправки пакетов в сторону абонентов. Default: 1500
; out_mtu = 1500


; CLI для управления или сбора статистики extfilter
; cli_port = 9999
; cli_address = 127.0.0.1

; Количество каналов памяти (для DPDK)
memory_channels = 3

; Количество повторных пакетов в сторону клиента (от 1 до 3)
answer_duplication = 3

; Режим работы фильтра. Может быть зеркало (mirror) или мост (inline)
operation_mode = mirror

; Использовать jumbo frames
; jumbo_frames = false

; Максимальная длина ethernet фрейма при включенном jumbo_frames
; max_pkt_len = 9600

; здесь задаются порты, с которых необходимо снимать трафик
; формат:
; [port n]
; queues = a,b; a1,b1...
; n - номер порта dpdk
; a - номер очереди
; b - ядро, обрабатывающее очередь a

; Пример:
[port 0]
queues = 0,1; 1,2; 2,3; 3,4

; Порт для отправки уведомлений через dpdk
[port 1]
type = sender
queues = 0,5
mac = 00:0f:f8:c9:50:00

[dpi]
; Масштабирование количества обрабатываемых потоков 1..10
scale = 8

; Собирать и анализировать фрагментированные пакеты
; fragmentation_ipv6_state = true
; fragmentation_ipv4_state = true
; fragmentation_ipv4_table_size = 512
; fragmentation_ipv6_table_size = 512

; Собирать и анализировать tcp потоки с неправильными порядком
; tcp_reordering = true

[logging]
loggers.root.level = information
;loggers.root.level = debug
loggers.root.channel = fileChannel
channels.fileChannel.class = FileChannel
channels.fileChannel.path = /var/log/extFilter.log
channels.fileChannel.rotation = 1 M
channels.fileChannel.purgeCount = 10
channels.fileChannel.archive = timestamp
channels.fileChannel.formatter.class = PatternFormatter
channels.fileChannel.formatter.pattern = %Y-%m-%d %H:%M:%S.%i [%P] %p %s - %t
channels.fileChannel.formatter.times = local
 

 

Edited by Morphus

Share this post


Link to post
Share on other sites
5 минут назад, Morphus сказал:

@max1976 обратил. Оно больше чем у вас. 

У вас оно больше в 1,5 раза. Проведите тест - делаете curl'ом запрос к заблокированному ресурсу и на этом же устройстве снимаете дамп трафика к/от заблокированному ресурсу. Дальше анализируете время получения ответа от фильтра и от заблокированного ресурса.

 

Для уменьшения времени обработки добавьте в конфиг:

[dpi]
fragmentation_ipv6_state = false
fragmentation_ipv4_state = false
tcp_reordering = false

 

Edited by max1976

Share this post


Link to post
Share on other sites
8 минут назад, max1976 сказал:

tcp_reordering = false

Пропуски посыпятся.

Share this post


Link to post
Share on other sites
Только что, alibek сказал:

Пропуски посыпятся.

Не должны.

Share this post


Link to post
Share on other sites

Где-то тут были ссылки на сайты, администраторы которых экспериментировали с сетевыми настройками для обхода блокировок — уменьшали размер окна, игнорировали reset, фрагментировали пакеты.

Вот на таких сайтах и могут быть пропуски.

Share this post


Link to post
Share on other sites
1 минуту назад, alibek сказал:

Где-то тут были ссылки на сайты, администраторы которых экспериментировали с сетевыми настройками для обхода блокировок — уменьшали размер окна, игнорировали reset, фрагментировали пакеты.

Вот на таких сайтах и могут быть пропуски.

Это совсем другое. К указанному параметру никакого значения не имеет.

Share this post


Link to post
Share on other sites
52 минуты назад, max1976 сказал:

У вас оно больше в 1,5 раза. Проведите тест - делаете curl'ом запрос к заблокированному ресурсу и на этом же устройстве снимаете дамп трафика к/от заблокированному ресурсу. Дальше анализируете время получения ответа от фильтра и от заблокированного ресурса.

Ответы то приходили, то вообще нет. Когда приходили - то все нормально. Но иногда ответа не было вообще.

Скрытый текст

17:52:39.994495 IP MY_IP_HERE.40532 > 104.31.68.192.80: Flags [P.], seq 1:102, ack 1, win 229, length 101: HTTP: GET /video/isis-beheading-imprisoned-men-420.html HTTP/1.1
17:52:39.994914 IP 104.31.68.192.80 > IP MY_IP_HERE.40532: Flags [P.], seq 1:106, ack 102, win 229, length 105: HTTP: HTTP/1.1 302 Moved Temporarily

...

17:52:40.512413 IP 104.31.68.192.80 > MY_IP_HERE.40532: Flags [.], seq 1:1461, ack 102, win 29, length 1460: HTTP: HTTP/1.1 200 OK

 

Никаких изменений в настройке фильтра не делал (не считая включения дебага)

Назначили ip адрес интерфейсу на циске, на который шлется ответ - и пропуски пропали!

Что это за магия ?

Edited by Morphus

Share this post


Link to post
Share on other sites
1 час назад, Morphus сказал:

Назначили ip адрес интерфейсу на циске, на который шлется ответ - и пропуски пропали!

А у вас там ничего не было?

Share this post


Link to post
Share on other sites
2 часа назад, Morphus сказал:

Назначили ip адрес интерфейсу на циске, на который шлется ответ - и пропуски пропали!

Хм как же он тогда слал то ответы) адреса то нет.

 

@max1976  А как я понял в файле our_blacklist указал ip://xxx.xxx.xxx.xxx то он будет в конфиг кваги попадать?

Просто как заблочить сайт с женщин с пониженной социальной ответственностью) Скрипт самому писать или средствами zapret.pl можно?

Edited by arhead

Share this post


Link to post
Share on other sites
27 минут назад, arhead сказал:

@max1976  А как я понял в файле our_blacklist указал ip://xxx.xxx.xxx.xxx то он будет в конфиг кваги попадать?

Просто как заблочить сайт с женщин с пониженной социальной ответственностью) Скрипт самому писать или средствами zapret.pl можно?

Да, вписываете ip://x.x.x.x и тогда попадет в квагу или, если бридж, в список блокировки по ip.

Share this post


Link to post
Share on other sites
18 часов назад, max1976 сказал:

А у вас там ничего не было?

Нет. 

 

18 часов назад, arhead сказал:

Хм как же он тогда слал то ответы) адреса то нет.

По мак адресу ответ идёт )

Share this post


Link to post
Share on other sites
12 часов назад, Morphus сказал:

Нет. 

 

По мак адресу ответ идёт )

Ну так L3 интерфейс должен быть, иначе работать вообще не должно.

Share this post


Link to post
Share on other sites

 

24 минуты назад, radiotech сказал:

Коллеги что делать то с http://kyzd0r.net/ ?

 

Читай выше

 

Edited by epollia

Share this post


Link to post
Share on other sites

Поправьте или подтвердите:

таблица zap2_only_ips - это ип без домена и урл - можно смело блокировать.

таблица zap2_ips - у которых в дампе есть домен или урл. С ними ничего делать не надо. 

Share this post


Link to post
Share on other sites
10 часов назад, Morphus сказал:

Поправьте или подтвердите:

таблица zap2_only_ips - это ип без домена и урл - можно смело блокировать.

таблица zap2_ips - у которых в дампе есть домен или урл. С ними ничего делать не надо. 

Да, всё правильно.

Share this post


Link to post
Share on other sites

Ребят а кто нить умудрялся выдернуть сертификат из ViPNet CSP? Директор принес новый eToken пол дня убил почему его не видит КриптоПРО Потом все-таки решился позвонить в ТП и тут они мне выдали что не под криптопро сделано. Сейчас конечно их ТП мне попробует под OpenSSL сертификат сделать. Но что то мне кажется все это фигня

Share this post


Link to post
Share on other sites

Подскажите по extFilter

Есть ли ограничения по длине записей в файле urls?

Файл urls генерю самостоятельно.

Не срабатывает блокировка по url представлена ниже, если её сократить тогда работает.

 

 

 

 

 

Share this post


Link to post
Share on other sites
2 часа назад, nickD сказал:

Есть ли ограничения по длине записей в файле urls?

Да, есть ограничение. Смотрите мой скрипт, создающий файлы для фильтра. 

Share this post


Link to post
Share on other sites
13 часов назад, max1976 сказал:

Да, есть ограничение. Смотрите мой скрипт, создающий файлы для фильтра. 

Как я понял не более 600 символов.

if(length($encoded) > 600)
{
       $encoded = substr($encoded, 0, 600);

 

C чем связаны подобные ограничения?

Share this post


Link to post
Share on other sites
21 минуту назад, nickD сказал:

 

C чем связаны подобные ограничения?

С размером полей структуры данных, хранящую URL. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now