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

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

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



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

max1976

 

ПодскаЖите

nfqfilter.ini

block_undetected_ssl = true

будет ли раБотать Без наличия sslips = /path/to/file.

НуЖно что Бы Блокировал все IP где не распознан server_name в ssl пакете

 

Не спрашивайте зачем но надо очень.

буду Благодарен если скаЖите где в исХодникаХ поправить

 

 

Я так понимаЮ сдесь где то pktanalyzer.cpp

 

if(_config.block_undetected_ssl)

{

Poco::ScopedReadRWLock lock(nfqFilter::_sslIpsSetMutex);

if(nfqFilter::_sslIpsSet->find(*dst_ip.get()) != nfqFilter::_sslIpsSet->end())

 

СпасиБо.

 

В указанном коде закомментируйте

//Poco::ScopedReadRWLock lock(nfqFilter::_sslIpsSetMutex);
//if(nfqFilter::_sslIpsSet->find(*dst_ip.get()) != nfqFilter::_sslIpsSet->end())

и тогда будет то, что вы хотите.

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


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

195.154.51.124 в реестре есть, а в базе в таблице zap2_only_ips нема, ревизорро пришил мне его в отчете сегодня

 

Адрес на месте:

 

mysql> select * from zap2_only_ips where HEX(ip) like 'C39A337C';

+-------+-----------+---------------------+------+

| id | record_id | date_add | ip |

+-------+-----------+---------------------+------+

| 22033 | 27389 | 2016-03-31 03:39:38 | Ú3| |

+-------+-----------+---------------------+------+

1 row in set (0.00 sec)

 

 

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


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

Ревизор проверяет ссылку с доменным-именем, + проверяет с IP адресом в URL.

Например:

https://tennisi.com/mjd4/cgi/free.Welcome?lang=rus - есть в реестре                        
https://93.189.57.35/mjd4/cgi/free.Welcome?lang=rus

 

и по второй пропуск рисует

 

Обновите extfilter_maker, добавьте в его конфиг:

only_original_ssl_ip = true

 

Добавьте в конфиг extfilter:

block_undetected_ssl = true

 

Тогда будет блокироваться как они хотят.

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


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

то редирект на заглушку, то редирект ресурс

может кто проверить?

 

Блочится всегда. Настройте сервер на минимальный latency и отправляйте ответы максимально близко к абонентам.

 

 

да подкрутил уже наверно все что можно...

QoS, DSCP, тюнинг ядра и TCP, nice для extFilter, отправляю из соседнего порта на железке терминации, куда приходит весь L2 сегмент...

 

Время отклика c фильтра до тестового хоста:

553 packets transmitted, 553 received, 0% packet loss, time 6616ms

rtt min/avg/max/mdev = 0.179/0.193/0.228/0.006 ms

 

Отклик с тестового хоста до веб-сервера

--- hooz.pk ping statistics ---

545 packets transmitted, 545 received, 0% packet loss, time 5439ms

rtt min/avg/max/mdev = 1.259/1.577/3.581/0.172 ms

 

с фильтра до веб-сервера примерно то же самое...

rtt min/avg/max/mdev = 1.022/1.404/1.903/0.194 ms

 

 

ядро default_hugepagesz=1G hugepagesz=1G hugepages=24 isolcpus=2,3,4,5 intel_idle.max_cstate=0 processor.max_cstate=1

GOVERNOR="performance"

 

ethtool -A em1 autoneg off rx off tx off

ethtool -C em1 rx-usecs 0 tx-usecs 0

 

что я делаю не так? %)

Тестовый хост - коммутатор - L3 терминация - NAT - BGP -> мир
                                 / \
                         (фильтр SPAN) интерфейс ответа
                          порта на НАТ

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


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

Адрес на месте:

 

 

mysql> select * from zap2_only_ips where HEX(ip) like 'C39A337C';

Empty set (0.01 sec)

 

UPD: поправил, обновил перловые библиотеки, ругались на EV.pm

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

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


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

Тогда будет блокироваться как они хотят.

 

 

Не, тут суть не в этом.

Ревизор сначала резолвит все IP адреса для домена

затем делает проверку для URL с доменом, и с каждым из IP адресов

 

по сути хз как сделать, но получается надо добавлять в файл с URL-ами все варианты:

domain/path-to-page

IP1/path-to-page

...

IPn/path-to-page

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


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

Не, тут суть не в этом.

Ревизор сначала резолвит все IP адреса для домена

затем делает проверку для URL с доменом, и с каждым из IP адресов

Так мы по url блокируем или по ip? В рекомендации по блокировке написано что по url, если имеется url в записи. Вот по url и блокируем. В случае с ssl совсем другая история.

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


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

рекомендации по блокировке написано

 

ну это для перестраховки под ревизоровские методы... а то ведь пролоббируют рекомендации и они станут требованием

 

никак не могу побороть тот факт, что веб-сервер иногда опережает...

хоть на апстриме удлиняй ASPATH на пиринге чтоб через гейропу ходило

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


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

По моему, ревизор работает так

Конектится к ip из резолвинга и пытается открыть

Host/path-to-page

Конектится к ip из реестра и пытается открыть

Host/path-to-page

Поэтому если вы зарулите все эти ip на nfqfiltr все заблокируется

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


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

никак не могу побороть тот факт, что веб-сервер иногда опережает...

 

Проверьте маршрутизацию пакетов от extfilter - добейтесь минимального количества хопов.

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


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

никак не могу побороть тот факт, что веб-сервер иногда опережает...

 

Проверьте маршрутизацию пакетов от extfilter - добейтесь минимального количества хопов.

 

Он один - шлюз. Далее L2 до клиентского хоста.

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


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

никак не могу побороть тот факт, что веб-сервер иногда опережает...

 

Проверьте маршрутизацию пакетов от extfilter - добейтесь минимального количества хопов.

 

Он один - шлюз. Далее L2 до клиентского хоста.

 

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

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


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

Результаты работы Сквида меня не устроили. Хочу попробовать nfqfilter. Поставил на nas и сервер, выделенный под фильтр Кваггу, настроил внутренние AS. Теперь несколько вопросов, т.к ранее с BGP никогда не сталкивался. На какой стороне нужно запускать скрипт nfqfilter_config? Я так понимаю - на стороне, где стоит nfqfilter? Нормально ли, что после этого пропадает доступ к IP из дампа? Вроде бы, да, т.к ои все завернуты на null, но лучше перестраховаться.

 

И обязательно ли серверу с nfqfilter иметь внешний IP? Или будет работать и с натом?

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


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

myth, внешний ip не нужен на этом серваке. вам всё-равно возвращать пакеты (подменные, от пользователей) на роутер, который занимается nat-ом.

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


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

Вроде бы, да, т.к ои все завернуты на null, но лучше перестраховаться

 

На null они завернуты все для того чтобы BGP смог их анонсировать соседу.

 

Если взять допустим URL из блокировки http://domain.ru/path-to-page.html то отрезолвив domain.ru вы передаете его IP-адреса на анонс по BGP. Трафик в направлении этого IP с NAS должен заворачиваться на Ваш выделенный сервер, далее попадая в NFQueue либо пропускаться либо блокироваться. У Вас же как я понимаю все доходит только до выделенного сервера, там и гибнет?

Надо включить forwarding, если прилетают клиентские IP c серыми адресами то настроить НАТ/маскарадинг, ну и внешник добавить на который делать NAT, чтобы открыть с удаленного сервера другие страницы... (но все зависит от схемы включения)

 

В вашем случае больше похоже на блокировку по IP

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

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


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

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

 

Вот пример tcp.stream eq 46 где ответ от веб-сервера опережает, клиент получил редирект на страницу веб сервера и следом шлет FIN,ACK

И тут прилетает ответ от фильтра, TCP Out-Of-Order

 

Дамп http://dropmefiles.com/Dd5ys

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


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

Добрый день, сегодня выгрузил отчет на сайте, получил такой результат. Собственно интересует вопрос, это нормально или за это можно получить по шапке?

report.pdf

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


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

это нормально или за это можно получить по шапке?

 

Норму еще не озвучивали, инспектор говорил что слышал в своих кругах, что до 1% не будут штрафовать

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


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

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

 

Вот пример tcp.stream eq 46 где ответ от веб-сервера опережает, клиент получил редирект на страницу веб сервера и следом шлет FIN,ACK

И тут прилетает ответ от фильтра, TCP Out-Of-Order

 

Дамп http://dropmefiles.com/Dd5ys

 

Посмотрите разницу во времени между запросом и ответом фильтра. В случае, когда пришел быстрее ответ от http сервера разница составляет .003485 сек, хотя в остальных случаях время ~ .000300 сек.

В моей сети это время составляет ~ .000200 сек.

 

На сервере с фильтром какие-то дополнительные сервисы работают?

 

На моем серваке с фильтром установлены дополнительные параметры (через tuned):

 

kernel.sched_min_granularity_ns = 10000000
kernel.sched_migration_cost_ns = 5000000

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


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

На сервере с фильтром какие-то дополнительные сервисы работают?

 

 

Выгрузка + mysqld

 

Отключил DEBUG-логирование у extFilter

Наблюдаю несколько минут watch -n 0.1 curl ... - пропусков нет

 

Понаблюдаю еще в момент сторонней userscpace нагрузки (выгрузки реестра и т.п.)

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

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


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

На сервере с фильтром какие-то дополнительные сервисы работают?

 

 

Выгрузка + mysqld

 

Отключил DEBUG-логирование у extFilter

Наблюдаю несколько минут watch -n 0.1 curl ... - пропусков нет

 

Понаблюдаю еще в момент сторонней userscpace нагрузки (выгрузки реестра и т.п.)

 

Использовать debug режим в продакшене нельзя. Debug режим не совместим с высоким pps.

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


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

На сервере с фильтром какие-то дополнительные сервисы работают?

 

 

Заход по SSH на сервер вызывает пропуски

Запуск extfilter_maker - вызывает пропуски

 

Любая мало-мальски Userscpace нагрузка короче

 

Ну хотя бы направление понятно, тюнить надо глубже

 

 

 

UPD:

запустил фильтр с RT приоритеом chrt -f 50 ...

 

полет нормальный, даже с запуском stress и 100% нагрузкой пропусков нет

 

может RT приоритет делать по умолчанию?

врядли что-то важнее на сервере фильтрации чем собственно фильтрация

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

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


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

micol, это ж какой трафик вы подаёте на анализ? ну и какой проц?

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


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

micol, это ж какой трафик вы подаёте на анализ? ну и какой проц?

 

Выше в теме писал... вечером до 1.4 Mpps

i7-6800K CPU @ 3.40GHz

Intel 82599

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

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


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

Подскажите, пожалуйста, как собрать extfilter?

dpdk-16.07.01 вообще не собирается на ядре 4.8, т.к. макрос DEFINE_PCI_DEVICE_TABLE задепрекейдили.

На dpdk-16.11 пишет вот такую ошибку:

Making all in src
make[1]: Entering directory '/home/johnny/src/extfilter/src'
g++  -std=c++11 -O2 -Wall -pthread -msse -msse2 -msse3 -mssse3 -Wl,--whole-archive -lrte_pmd_bond -lrte_pmd_vmxnet3_uio -lrte_pmd_virtio -lrte_pmd_enic -lrte_pmd_i40e -lrte_pmd_fm10k -lrte_pmd_ixgbe -lrte_pmd_e1000 -lrte_pmd_ring -lrte_pmd_af_packet -lethdev -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs -lrte_hash -lrte_cmdline -Wl,--no-whole-archive  -o extFilter main.o worker.o AhoCorasickPlus.o ahocorasick.o node.o patricia.o patr.o qdpi.o sender.o sendertask.o statistictask.o reloadtask.o flow.o reader.o -L.././PcapPlusPlus/Dist -lPcap++ -lPacket++ -lCommon++ -lpcap -L /home/johnny/src/dpdk-16.11/build/lib  -lrt -lm -ldl ../nDPI/src/lib/.libs/libndpi.a -lPocoNet -lPocoUtil -lPocoFoundation
/usr/bin/ld: cannot find -lethdev
collect2: error: ld returned 1 exit status
Makefile:361: recipe for target 'extFilter' failed
make[1]: *** [extFilter] Error 1
make[1]: Leaving directory '/home/johnny/src/extfilter/src'
Makefile:343: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
autoreconf: make failed with exit status: 2

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


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

Join the conversation

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

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

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

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

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

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

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