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

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

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



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

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

Правильно ли я понял, что в сервере с extfilter надо две сетевые, на одну из которых надо зазеркалить весь трафик что идет на шлюз, а вторую настроить IP адрес, который имеет доступ в сеть?

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


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

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

Правильно ли я понял, что в сервере с extfilter надо две сетевые, на одну из которых надо зазеркалить весь трафик что идет на шлюз, а вторую настроить IP адрес, который имеет доступ в сеть?

Это правильно на любом фильтре. Нагружать порт фильтра ненужным трафиком, кроме зеркала и rst в нём, ни к чему хорошему пе приведет. Поэтому у большинства дивайсов - порт управления отдельный физически. Даже у аппаратных. Брокада цер - отдельный эзернет например. Скат - бриджи для фильтрации отдельно на суперпупердорогих сетёвках, управление - на обычном намамном.

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


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

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

Правильно ли я понял, что в сервере с extfilter надо две сетевые, на одну из которых надо зазеркалить весь трафик что идет на шлюз, а вторую настроить IP адрес, который имеет доступ в сеть?

Я зеркалю трафик, идущий от бордера в мир, а на второй сетевой карте шлюзом указан сам бордер в моей сети. То есть одна сетевая карточка как бы с одной стороны бордера, а другая - с другой. :)

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


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

Я зеркалю трафик, идущий от бордера в мир, а на второй сетевой карте шлюзом указан сам бордер в моей сети. То есть одна сетевая карточка как бы с одной стороны бордера, а другая - с другой. :)

 

Зачем вам напрягать сетевую подсистему лишним трафиком ? И дпи тоже... Управление дпи у меня только через лвс конторы , соотв заддосить дпи могут только мои сотрудники :)

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

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


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

Добрый вечер.

 

К сожалению никак не удается допилисть extfilter. Хочется найти причину пропусков, поэтому делаю одно изменение, потом жду сутки - глянуть что Ревизор скажет.

На данный момент около 30 пропусков в день.

 

Сделано:

 

cat /etc/rc.local 

mkdir /var/run/extfilter-stat

for each in 0 1 2 3; do echo performance > /sys/devices/system/cpu/cpu$each/cpufreq/scaling_governor; done

echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

/sbin/modprobe uio
/sbin/insmod /home/hawk/dpdk-17.02/build/kmod/igb_uio.ko

/home/hawk/dpdk-17.02/usertools/dpdk-devbind.py --bind=igb_uio 0000:01:00.0

systemctl restart extfilter.service

exit 0

 

 cat /etc/sysctl.conf 
kernel.sched_min_granularity_ns=10000000
vm.dirty_ratio=10
vm.dirty_background_ratio=3
vm.swappiness=10
kernel.sched_migration_cost_ns=5000000

 

uname -a
Linux filter 4.4.0-66-lowlatency #87-Ubuntu SMP PREEMPT Fri Mar 3 16:43:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

С сервера вынесенно все исключаю только сам extfilter.

Даже пробовал отключать вообще обновления конф файлов (генерятся на другой машине, сюда копируются по scp и reload службы) - не повлияло никак...

 

Есть ли еще идеи? Не верится что Ubuntu нельзя настроить так же как CentOS.

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


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

Добрый вечер.

 

К сожалению никак не удается допилисть extfilter. Хочется найти причину пропусков, поэтому делаю одно изменение, потом жду сутки - глянуть что Ревизор скажет.

На данный момент около 30 пропусков в день.

 

Сделано:

 

cat /etc/rc.local 

mkdir /var/run/extfilter-stat

for each in 0 1 2 3; do echo performance > /sys/devices/system/cpu/cpu$each/cpufreq/scaling_governor; done

echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

/sbin/modprobe uio
/sbin/insmod /home/hawk/dpdk-17.02/build/kmod/igb_uio.ko

/home/hawk/dpdk-17.02/usertools/dpdk-devbind.py --bind=igb_uio 0000:01:00.0

systemctl restart extfilter.service

exit 0

 

 cat /etc/sysctl.conf 
kernel.sched_min_granularity_ns=10000000
vm.dirty_ratio=10
vm.dirty_background_ratio=3
vm.swappiness=10
kernel.sched_migration_cost_ns=5000000

 

uname -a
Linux filter 4.4.0-66-lowlatency #87-Ubuntu SMP PREEMPT Fri Mar 3 16:43:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

С сервера вынесенно все исключаю только сам extfilter.

Даже пробовал отключать вообще обновления конф файлов (генерятся на другой машине, сюда копируются по scp и reload службы) - не повлияло никак...

 

Есть ли еще идеи? Не верится что Ubuntu нельзя настроить так же как CentOS.

может все таки попробовать DPDK 16.11.1???

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


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

Хм. Может и стоит...

Спасибо за совет, сейчас опробую.

 

Что-нибудь еще?

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


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

Добрый день.

Настраиваю сейчас extfilter есть несколько вопросов:

1. Почему-то если поставить в конфиге http_redirect = false - пропускаются сайты из domainlist, а при включении редиректа - редиректит на заглушку.

2. Очень плохо отрабатывает urllist - 1 раз из 10-20 только редиректит, в остальных случаях открывает. Может формат файла неправильный? Я пока не настраивал получения файлов списков из БД, просто руками несколько url ввел по одному на строку в таком виде:

www.xxx.ru/1.php

www.yyy.ru/ao/bo/

опять же если здесь указан только сайт, без указания конкретной страницы - блокируется без проблем, а вот если указана страница - швах

Варианта пропуска из-за того что несправляется сервер не рассматриваю, т.к. тестирую на 1 ПК, трафик которого зеркалится.

3. Дебаг как-то странно работает:

для IP записи:

Debug CSender - Trying to send packet to 192.168.255.127 port 39834

Debug WorkerThread 1 - Found record in ip:port list for the client 192.168.255.127:39835 and server 1.1.1.1:80

а для записей из domains только одна строка: Trying to send packet to 192.168.255.127 port 54977

это так и должно быть?

 

в статистике вроде как отражаются все типы блокировок:

Worker thread on core 3 statistics:

2017-03-28 07:06:54.158 [3850] Information Application - Thread seen packets: 60236, IP packets: 60193 (IPv4 packets: 60120, IPv6 packets: 73), seen bytes: 532193, Average packet size: 8 bytes, Traffic throughput: 200.79 pps

2017-03-28 07:06:54.158 [3850] Information Application - Thread IPv4 fragments: 0, IPv6 fragments: 0, IPv4 short packets: 0

2017-03-28 07:06:54.158 [3850] Information Application - Thread matched by ip/port: 20, matched by ssl: 0, matched by ssl/ip: 0, matched by domain: 50, matched by url: 20

 

и последнее: типы логов есть другие кроме debug и information?

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

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


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

И никак не блокируется ynet...

 

$ c www.ynet.co.il/articles/0,7340,L-4715257,00.html
HTTP/1.1 200 OK
vg_id: 1
X-me: 15
Content-Type: text/html; charset=UTF-8
Last-Modified: Tue, 28 Mar 2017 04:05:04 GMT
Content-Length: 161331
Accept-Ranges: bytes
VX-Cache: HIT
WAI: 03
V-TTL: 26699
backend-cache-control: 
Date: Tue, 28 Mar 2017 11:29:22 GMT
Connection: keep-alive

$ c http://www.box24casino.com/fr
HTTP/1.1 302 Found
Location: http://ххх.ххх.ххх.2
Connection: close
HTTP/1.1 200 OK
Date: Tue, 28 Mar 2017 11:29:27 GMT
Server: Apache/2.4.18 (Ubuntu)
Last-Modified: Tue, 28 Mar 2017 07:53:08 GMT
ETag: "ff6-54bc5c0338d95"
Accept-Ranges: bytes
Content-Length: 4086
Vary: Accept-Encoding
Content-Type: text/html

 

/usr/local/etc/extfilter# grep -rn 'www.ynet.co.il' .
./urls:34313:www.ynet.co.il/articles/0,7340,L-4715257,00.html

 

Что может быть? Все остальное похоже блокируется - пропуски есть, но при проверке - заюлокированно, а вот этот...

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

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


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

И никак не блокируется ynet...

 

$ c www.ynet.co.il/articles/0,7340,L-4715257,00.html
HTTP/1.1 200 OK
vg_id: 1
X-me: 15
Content-Type: text/html; charset=UTF-8
Last-Modified: Tue, 28 Mar 2017 04:05:04 GMT
Content-Length: 161331
Accept-Ranges: bytes
VX-Cache: HIT
WAI: 03
V-TTL: 26699
backend-cache-control: 
Date: Tue, 28 Mar 2017 11:29:22 GMT
Connection: keep-alive

$ c http://www.box24casino.com/fr
HTTP/1.1 302 Found
Location: http://ххх.ххх.ххх.2
Connection: close
HTTP/1.1 200 OK
Date: Tue, 28 Mar 2017 11:29:27 GMT
Server: Apache/2.4.18 (Ubuntu)
Last-Modified: Tue, 28 Mar 2017 07:53:08 GMT
ETag: "ff6-54bc5c0338d95"
Accept-Ranges: bytes
Content-Length: 4086
Vary: Accept-Encoding
Content-Type: text/html

 

/usr/local/etc/extfilter# grep -rn 'www.ynet.co.il' .
./urls:34313:www.ynet.co.il/articles/0,7340,L-4715257,00.html

 

Что может быть? Все остальное похоже блокируется - пропуски есть, но при проверке - заюлокированно, а вот этот...

 

Очень странно - у меня нет проблемы с этим url, блокируется как надо. Какая версия extfilter?

 

Хм. Может и стоит...

Спасибо за совет, сейчас опробую.

 

Что-нибудь еще?

 

Посмотрите в tcpdump разницу между отправкой запроса к блокированному ресурсу и ответом от фильтра.

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


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

К сожалению никак не удается допилисть extfilter. Хочется найти причину пропусков, поэтому делаю одно изменение, потом жду сутки - глянуть что Ревизор скажет.

На данный момент около 30 пропусков в день.

Можно позвонить частотникам и попросить их прогнать конкретный тест за конкретный день. То есть только эти ваши 30 пропусков. Займет это не больше 5 минут. Параллельно снимаете дамп, делаете выводы и изменения. Затем новый тест. Так быстрее, чем ждать сутки.

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


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

Хорошая идея.

 

Хотя и пропуски вроде случайные. Кроме этой одной ссылки...

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


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

может все таки попробовать DPDK 16.11.1???

 

Проверил, все так же 26 пропусков... Изменений нет.

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


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

Хотя и пропуски вроде случайные. Кроме этой одной ссылки...

У вас проверка все так же 12 часов? За это время много что может произойти. Закономерностей, связанных со временем, в отчете не прослеживается?

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


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

max1976, если есть возможность внесите пожалуйста изменения в код для работы 2 порта в 10GE сетевой карте, чтобы можно было зеркалить трафик на 2 порта сразу.

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


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

max1976, если есть возможность внесите пожалуйста изменения в код для работы 2 порта в 10GE сетевой карте, чтобы можно было зеркалить трафик на 2 порта сразу.

Кстати, тоже вопрос про второй порт. Почему extfilter работает именно в зеркале, а не в транзите? Так проще технически или были иные соображения? На сетевых по 2 порта, теоретически можно было бы просто дропать "неправильные" пакеты? Получилась бы отличная альтернатива СКАТ'у.))

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


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

У вас проверка все так же 12 часов? За это время много что может произойти. Закономерностей, связанных со временем, в отчете не прослеживается?

 

Похоже Ревизор проверяе весь день и постепенно складывает все что найдет пропущенное.

 

Закономерностей никаких.

 

Кроме одной ссылку, которую раньше примводил - и не знаю как понять в чем с ней проблема... Все блочится кроме нее.

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


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

И все же, как можно диагностировать почему extfilter пропускает эту одну ссылку?

 

$ c http://www.ynet.co.il/articles/0,7340,L-4715257,00.html
HTTP/1.1 200 OK
vg_id: 1
X-me: 08
Content-Type: text/html; charset=UTF-8
Last-Modified: Thu, 30 Mar 2017 07:49:44 GMT
Content-Length: 161635
Accept-Ranges: bytes
VX-Cache: HIT
WAI: 03
V-TTL: 3589
backend-cache-control: 
Date: Thu, 30 Mar 2017 08:48:49 GMT
Connection: keep-alive

 

Глянул через tcpdump - пакет есть, почему nDPI на него не срабатывает - не могу понять:

 

11:48:49.142474 IP (tos 0x0, ttl 64, id 33994, offset 0, flags [DF], proto TCP (6), length 164)
   xxx.xxx.xxx.15.50924 > 23.54.3.210.80: Flags [P.], cksum 0xdb5a (correct), seq 1:113, ack 1, win 229, options [nop,nop,TS val 286322897 ecr 3533795906], length 112: HTTP, length: 112
HEAD /articles/0,7340,L-4715257,00.html HTTP/1.1
Host: www.ynet.co.il
User-Agent: curl/7.47.0
Accept: */*

E.....@.@...[....6.....P..t..7.S.....Z.....
......rBHEAD /articles/0,7340,L-4715257,00.html HTTP/1.1
Host: www.ynet.co.il
User-Agent: curl/7.47.0
Accept: */*

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


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

конфиг какой?

 

# uname -a
Linux filter 4.4.0-70-lowlatency #91-Ubuntu SMP PREEMPT Wed Mar 22 14:22:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

GRUB_CMDLINE_LINUX_DEFAULT="cmdline=isolcpus=1,2,3"

 

# lscpu 
Архитектура:x86_64
CPU op-mode(s):        32-bit, 64-bit
Порядок байтов:Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Потоков на ядро:1
Ядер на сокет:4
Сокет(ы):        1
NUMA node(s):          1
Vendor ID:             GenuineIntel
Семейство CPU:6
Модель:          42
Model name:            Intel(R) Xeon(R) CPU E31270 @ 3.40GHz
Stepping:              7
CPU МГц:            3599.882
CPU max MHz:           3800,0000
CPU min MHz:           1600,0000
BogoMIPS:              6784.40
Виртуализация:VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm 
constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm 
pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts

 

mkdir /var/run/extfilter-stat

for each in 0 1 2 3; do echo performance > /sys/devices/system/cpu/cpu$each/cpufreq/scaling_governor; done

echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

/sbin/modprobe uio
#/sbin/insmod /home/hawk/dpdk-17.02/build/kmod/igb_uio.ko
/sbin/insmod /home/hawk/dpdk-stable-16.11.1/build/kmod/igb_uio.ko

#/home/hawk/dpdk-17.02/usertools/dpdk-devbind.py --bind=igb_uio 0000:01:00.0
/home/hawk/dpdk-stable-16.11.1/tools/dpdk-devbind.py --bind=igb_uio 0000:01:00.0

systemctl restart extfilter.service

 

kernel.sched_min_granularity_ns=10000000
vm.dirty_ratio=10
vm.dirty_background_ratio=3
vm.swappiness=10
kernel.sched_migration_cost_ns=5000000

 

grep -rn 'ynet.co.il' .
./extfilter/urls:25909:ynet.co.il/articles/0,7340,L-4715257,00.html
./extfilter/urls:34370:www.ynet.co.il/articles/0,7340,L-4715257,00.html

 

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

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

; Файл с портами для nDPI.
protocols = /usr/local/etc/extfilter/protos

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

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

redirect_url = http://xxx.xxx.xxx.2

; HTTP код ответа. default: 302 Moved Temporarily
http_code = 302 Found

; Что добавлять в redirect_url, line - строка из файла url, url - запрещенный url, none - ничего
url_additional_info=none


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

; Default: 0 - disable
statistic_interval = 300

; Default: false
match_url_exactly = false

; Default: false
block_undetected_ssl = true

; dpdk порт, где анализировать трафик
dpdk_port = 0

; dpdk порт(ы), где анализировать трафик
;dpdk_ports = 0,1

; размер пула mbuf. Default: 8191
mbuf_pool_size = 8191

; количество потоков по анализу трафика
num_of_workers=1

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

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

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

; Количество flow, обрабатываемых программой. Должно быть кратно 2.
flowhash_size = 1048576

; количество тредов для отсылки уведомлений о блокировке
num_of_senders = 1

; делать ли нормализацию url
url_normalization = true

; удалять ли точку в конце имени хоста
remove_dot = 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 = 4
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

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

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


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

2. Очень плохо отрабатывает urllist - 1 раз из 10-20 только редиректит, в остальных случаях открывает. Может формат файла неправильный? Я пока не настраивал получения файлов списков из БД, просто руками несколько url ввел по одному на строку в таком виде:

www.xxx.ru/1.php

www.yyy.ru/ao/bo/

опять же если здесь указан только сайт, без указания конкретной страницы - блокируется без проблем, а вот если указана страница - швах

Варианта пропуска из-за того что несправляется сервер не рассматриваю, т.к. тестирую на 1 ПК, трафик которого зеркалится.

В дополнение к этому заметил следующее: если заходить напрямую на блокированную страничку - блокировка работает, однако если сначала зайти на сайт, а уже оттуда открыть ссылку на блокированную страницу - пропускает.

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


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

Тут что-то другое, я использую стандартные скрипты от extfilter и остальные 42606 линков блочатся нормально:

 

# wc -l urls 
42607 urls

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


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

2. Очень плохо отрабатывает urllist - 1 раз из 10-20 только редиректит, в остальных случаях открывает. Может формат файла неправильный? Я пока не настраивал получения файлов списков из БД, просто руками несколько url ввел по одному на строку в таком виде:

www.xxx.ru/1.php

www.yyy.ru/ao/bo/

опять же если здесь указан только сайт, без указания конкретной страницы - блокируется без проблем, а вот если указана страница - швах

Варианта пропуска из-за того что несправляется сервер не рассматриваю, т.к. тестирую на 1 ПК, трафик которого зеркалится.

В дополнение к этому заметил следующее: если заходить напрямую на блокированную страничку - блокировка работает, однако если сначала зайти на сайт, а уже оттуда открыть ссылку на блокированную страницу - пропускает.

Есть такое дело, но это не фильтр чудит, а броузер. Вангую, лиса стоит?? ctrl+F5 решает

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


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

Join the conversation

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

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

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

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

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

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

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