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

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

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



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

42 минуты назад, Antares сказал:

Взглянуть на сей документ можно??

в личку.

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


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

27 минут назад, Antares сказал:

Файлы reg свои закинул в папку со скриптом???

Они там еще от старого скрипта остались, единственное что я делал это раз в год cert.pem обновлял, req_template.xml со скриптом по умолчанию шел, еще 2 файла reg* сами создаются при запуске скрипта

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


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

req_template.xml  нужно под себя править

 

19 минут назад, Галушко Дмитрий сказал:

в личку.

Кидай. Хотя, что там секретного? )))

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


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

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

extFilter релоадится в 50 минут каждого часа, обратил внимания что на следующем релоаде после пропусков extFilter вылетает с ошибкой, systemd его растартует и все ОК, кроме пропусков в отчете :(

Никто не сталкивался ?

 

Spoiler

Zabbix_server.thumb.png.1e37d733c5cc72271624c917286abe25.png

 

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


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

40 минут назад, Antares сказал:

req_template.xml  нужно под себя править

поправил в итоге получил еще больше ошибок

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

readline() on closed filehandle XMLREQSIG at Zapret.pm line 48.
Use of uninitialized value in subroutine entry at /usr/local/share/perl/5.20.2/SOAP/Lite.pm line 289.
Died at ./zapret.pl line 414.

Хотя старый скрипт на выгрузку работает

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


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

6 минут назад, Antares сказал:

а старый в этой же папке?

Да

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


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

28 минут назад, Huko сказал:

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

extFilter релоадится в 50 минут каждого часа, обратил внимания что на следующем релоаде после пропусков extFilter вылетает с ошибкой, systemd его растартует и все ОК, кроме пропусков в отчете :(

Никто не сталкивался ?

 

  Показать содержимое

Zabbix_server.thumb.png.1e37d733c5cc72271624c917286abe25.png

 

Проверьте чтобы был установлен последний апдейт peafowl и фильтр был собран с этой версией. Проверьте объем свободной оперативной памяти.

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


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

11 minutes ago, max1976 said:

Проверьте чтобы был установлен последний апдейт peafowl и фильтр был собран с этой версией. Проверьте объем свободной оперативной памяти.

Брал билд с исправлениями по win=2, я так понимаю он с гита вытягивает последний peafowl.

Памяти 16 Гиг, CPU Xeon E5520, карта Intel 82576, трафика немного совсем ~25Kpps

Конфиг:

Spoiler

lower_host = true
domainlist = /opt/zapret/domains
urllist = /opt/zapret/urls
ssllist = /opt/zapret/ssl_host
hostlist = /opt/zapret/hosts
sslips = /opt/zapret/ssl_ips
http_redirect = true
redirect_url = http://denied
http_code = 302 Found
url_additional_info=url
rst_to_server = false
statistic_interval = 300
match_url_exactly = false
block_undetected_ssl = false
core_mask = 255
statisticsfile = /var/run/extFilter_stat
num_of_senders = 1
url_normalization = true
remove_dot = true
memory_channels = 2
[port 0]
queues = 0,1; 1,2
[dpi]
max_active_flows_ipv4 = 1000000
fragmentation_ipv4_state = true
fragmentation_ipv4_table_size = 512
tcp_reordering = true

 

 

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


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

16 минут назад, Huko сказал:

Брал билд с исправлениями по win=2, я так понимаю он с гита вытягивает последний peafowl.

Удалите каталог peafowl в каталоге с extfilter, запустите configure с нужными параметрами, затем make.

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


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

23 часа назад, Nickollla сказал:

Что-то я уперся в отсутствие  блокировки по https. Прошу сообщество направить меня в нужном направлении.

Нашел проблему:) Это я не учел другую систему фильтрации в сети. До client hello не доходит. Буду городить схему с чистым интернетом.

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


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

1 час назад, Huko сказал:

max_active_flows_ipv4 = 1000000

Уменьшите до 100000. Для вашего трафика даже этого значения будет много.

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


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

5 часов назад, dragjj сказал:

Can't exec "/usr/local/gost-ssl/bin/openssl": ��казано в до���пе at ./zapret.pl line 385.

А у Вас gost-openssl именно по этому пути находится? В самом zapret.pl это надо учитывать:

######## Config #########

my $openssl_bin_path="/opt/gost-ssl/bin";

 

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


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

23 часа назад, Piyoz сказал:

А у Вас gost-openssl именно по этому пути находится? В самом zapret.pl это надо учитывать:


######## Config #########

my $openssl_bin_path="/opt/gost-ssl/bin";

 

ну я и *****,  спасибо))

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


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

On 2/23/2018 at 3:28 PM, dragjj said:

ну я и *****,  спасибо))

Дык выключи его в конфиге нафиг, тот form_request. Оно походу нужно как зайцу стопсигнал. Один раз в год сгенерил xml, подписал, положил рядом сигнатуру и пользуй. Что там в requestTime написано - никого не волнует. А с переходом на дельты - так вообще не нужно.

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


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

День добрый. Хочу поделится полезняшкой https://bitbucket.org/big-town/revizor/, делал для себя, но может и еще кому сгодится. Немного истории и зачем мне все это понадобилось.

 

В один прекрасный  выходной день проверяю почту, а там судя по логам уже как два часа мне сыпятся пропуски по 15000. Поскольку я единственный админ в конторе, то в день мне прилетает примерно 600 писем со всякого рода инфой от забикса и прочих следилок. Конечно на каждое письмо я не могу реагировать. То есть блокировки часа 3 не работали с учетом первой проверки. Сам виноват, давно не обновлял extFilter. РКН в очередной раз в ссылку какую то какашку положили и парсер вылетал, в mysql всего 20 строк url было. А с утречка в понедельник мне звонит дядечка и РКН и говорит что мол мы вам уже администротивочку готовим. Дык мол работы проводились и в 19 часов все было исправлено. А вы типа куратора предупредили? Дык а надо было? Вообщем пишите офф. мыло. с приложенными доками пропусков. Ну вроде пронесло. Но понятно что ситуацию надо брать в свои руки. Вот и решил написать следилку на телефон, которая если что сама будет верищать. 

 

ReadMe

 

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

Сделал следилку за пропусками.

Серверная чать GoLang:
-------------------
cd Revizor/server

скомпилировать  go build revizor-log.go
скрипт запуска сервиса server/script/revizor-log копируем в /etc/init.d
далее от зависит от ОС rcconf, systemctl и т.д.

Этот сервис который стартует на порту 8080
И выдает в stdout последние 5 строк из лога /var/log/zapret_check.log
Если параметры отличаются, то меняем соответственно:
    Имя лога fname:="/var/log/zapret_check.log"
    Порт сервиса http.ListenAndServe(":8080", nil)

Формат лога должен быть - "дата_время пропуски".
Пример:
    2018-02-20_12:28:20 2
    2018-02-20_13:20:32 4
    2018-02-20_14:11:09 2

Клиентская часть android java:
---------------------
В папке Revizor/app/release есть apk, его ставим.
При первом добавлении виджета появится конфигурационное окно.
Там устанавливаем:
    url до вашего сервера http://host:port
    итервал опроса вашего сервера в мин.
    максимальный timeout лога, тоесть "текущая дата"-"дата из лога" >= N мин.
    максимальное количество пропусков

На виджете будут отображаться последние 5 строк из вашего лога.
Обновление будет происходить через указанные интервалы в мин.
Для немедленного обновления нужно кликнуть на виджете.
Сигнализация:
    Виджет работает постоянно, в том числе и в спящем режиме.
    Если есть сеть то, при превышениии заданных лимитов включительно, будет звучать звуковой сигнал,
    а последняя строка окрасится в крассный цвет, так же в области уведомлений будет написано, что конкретно произошло.
    Если количество пропусков превысило половину лимита, то окрашивается в желтый цвет. Уведомлений при этом выводится не будет.
    Но возможно что то начинается и на это надо обратить внимание.

ПС проект на стадии глубокая бета, у меня все это работает(пока без глюков) на Motorola droid 4 android 4.1.2

Screenshot_2018-02-26-20-52-21.thumb.png.a42fd5d7c79ed8cf4bd4f107b22999c7.png

Изменено пользователем big-town

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


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

20 минут назад, big-town сказал:

День добрый. Хочу поделится полезняшкой https://bitbucket.org/big-town/revizor/, делал для себя, но может и еще кому сгодится. Немного истории и зачем мне все это понадобилось.

 

В один прекрасный  выходной день проверяю почту, а там судя по логам уже как два часа мне сыпятся пропуски по 15000. Поскольку я единственный админ в конторе, то в день мне прилетает примерно 600 писем со всякого рода инфой от забикса и прочих следилок. Конечно на каждое письмо я не могу реагировать. То есть блокировки часа 3 не работали с учетом первой проверки. Сам виноват, давно не обновлял extFilter. РКН в очередной раз в ссылку какую то какашку положили и парсер вылетал, в mysql всего 20 строк url было. А с утречка в понедельник мне звонит дядечка и РКН и говорит что мол мы вам уже администротивочку готовим. Дык мол работы проводились и в 19 часов все было исправлено. А вы типа куратора предупредили? Дык а надо было? Вообщем пишите офф. мыло. с приложенными доками пропусков. Ну вроде пронесло. Но понятно что ситуацию надо брать в свои руки. Вот и решил написать следилку на телефон, которая если что сама будет верищать. 

 

ReadMe

 

  Показать содержимое

Сделал следилку за пропусками.

Серверная чать GoLang:
-------------------
cd Revizor/server

скомпилировать  go build revizor-log.go
скрипт запуска сервиса server/script/revizor-log копируем в /etc/init.d
далее от зависит от ОС rcconf, systemctl и т.д.

Этот сервис который стартует на порту 8080
И выдает в stdout последние 5 строк из лога /var/log/zapret_check.log
Если параметры отличаются, то меняем соответственно:
    Имя лога fname:="/var/log/zapret_check.log"
    Порт сервиса http.ListenAndServe(":8080", nil)

Формат лога должен быть - "дата_время пропуски".
Пример:
    2018-02-20_12:28:20 2
    2018-02-20_13:20:32 4
    2018-02-20_14:11:09 2

Клиентская часть android java:
---------------------
В папке Revizor/app/release есть apk, его ставим.
При первом добавлении виджета появится конфигурационное окно.
Там устанавливаем:
    url до вашего сервера http://host:port
    итервал опроса вашего сервера в мин.
    максимальный timeout лога, тоесть "текущая дата"-"дата из лога" >= N мин.
    максимальное количество пропусков

На виджете будут отображаться последние 5 строк из вашего лога.
Обновление будет происходить через указанные интервалы в мин.
Для немедленного обновления нужно кликнуть на виджете.
Сигнализация:
    Виджет работает постоянно, в том числе и в спящем режиме.
    Если есть сеть то, при превышениии заданных лимитов включительно, будет звучать звуковой сигнал,
    а последняя строка окрасится в крассный цвет, так же в области уведомлений будет написано, что конкретно произошло.
    Если количество пропусков превысило половину лимита, то окрашивается в желтый цвет. Уведомлений при этом выводится не будет.
    Но возможно что то начинается и на это надо обратить внимание.

ПС проект на стадии глубокая бета, у меня все это работает(пока без глюков) на Motorola droid 4 android 4.1.2

 

Бородатый анекдот

---

Бригада по научной организации труда поехала на сенокос в деревню. Видит, мужик сено косит.
— Что же это у тебя коса работает в одну сторону? Надо убирать холостой ход.
Придумали.
— А что это спина двигается только туда-сюда?
Придумали сзади грабли.
Приходит вечером мужик домой, еле ноги тянет. Рассказал все жене. А она:
— Это хорошо, что я тебе ширинку зашила, иначе они бы тебе на хрен фонарь повесили и заставили работать в ночную смену.

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


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

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


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

Не очень понял, а как он узнает о пропусках? 

Есть вообще инструменты сканирования/проверки качества фильтрации? Пока встречал только такое: https://github.com/poohber/rknscan

Тоже влетал на предупреждение... 

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


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

7 часов назад, alexwin сказал:

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

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


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

12 минут назад, dee сказал:

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

Там бушует секта.

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


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

А кто-нибудь использует у себя extFilter из ветки exp?

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


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

5 часов назад, wed сказал:

Не очень понял, а как он узнает о пропусках? 

Есть вообще инструменты сканирования/проверки качества фильтрации? Пока встречал только такое: https://github.com/poohber/rknscan

Тоже влетал на предупреждение... 

Вероятно этот вопрос адресовался мне. На специальной выделенной машинке, постоянно крутится скрипт вида(автор скрипта не я, его здесь кто то выкладывал на форуме):

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

#!/bin/bash
rm -f /root/ZAPRET_NEW/html/* ;
scp -P3333 x.x.x.x:/gost-ssl21/rzs/dump/url-abuse.txt.orig /user/ZAPRET_NEW ;
> /user/ZAPRET_NEW/noblock
> /user/ZAPRET_NEW/error

cat /user/ZAPRET_NEW/url-abuse.txt.orig | grep -v '^$' |  while read url ; do
    #echo $url
    /user/ZAPRET_NEW/poller "$url" &
done
COUNT="`grep -e 'http.*:\/\/' /user/ZAPRET_NEW/noblock  | wc -l`" ;
ssh -i/user/.ssh/id_rsa -p3333 user@x.x.x.x "echo `date +%F_%T` $COUNT >> /var/log/zapret_check.log "
CONTENT=`cat /root/ZAPRET_NEW/noblock` ;
echo $CONTENT | mail -s "ZAPRET2 `date +%F_%T` $COUNT" мылоn@yandex.ru

poiller


#!/bin/bash

STR=`wget -q -nv -t 1 -T 5 --no-check-certificate --spider -S "$@" 2>&1`
#STR=`wget -q -nv -t 1 -T 5 --no-check-certificate -P /user/ZAPRET-NEW/html -a /user/ZAPRET/wlog --spider -S  "$@" 2>&1`
ERR=$?
GET=`echo -e "$STR" | head -1`

if [[ "$ERR" == "0" ]]; then

    if [[ "$GET" == '  HTTP/1.1 200 OK' ]] ; then
        echo -e "$@\n$STR" >> /user/ZAPRET_NEW/noblock
    fi

else
    echo [$ERR] - $@1 >> /user/ZAPRET_NEW/error
fi

 

Он кладет результат  своей работы на сервер x.x.x.x в /var/log/zapret_check.log, на сервере вертится сервис который при запросе отдает последние пять строк лога. Виджет делает запрос в указанный промежуток времени к серверу, отображает на экране и если что сигнализирует о проблеме. (сам сервис и апк в репозитории на https://bitbucket.org/big-town/revizor)

 

 

ПС мне немного не понятно о каких специальных средствах проверки вообще идет речь? У вас есть список url-ов, натравливаете на них wget, links и т.д. получили 200 ОК -1 в карму +1 в пропуск :). Автору скрипта респект за то что догадался сделать пул процессов, скрипт проходит очень быстро. 

Изменено пользователем big-town

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


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

В тестовом режиме попробовал настроить extFilter. Вроде всё работает, но есть две проблемы:

1) В логах при запросе заблокированного ресурса по IPv6

Error CSender - sendto() failed to [XXXX:XX00:2:0:2142:6e27:46d6:2978]:[ERRFMT] from [2400:cb00:2048:1::681c:960]:[ERRFMT] errno: 97

Что нужно включить, чтобы ответы для IPv6 тоже генерировались?

 

2) Высокая загрузка CPU 

PID USER        PR  NI    VIRT    RES    SHR S  %CPU   %MEM     TIME+     COMMAND                                                                           
26638 root      15  -5 10,125g 1,365g   3448 S  499,3  8,8      28:56.54  extFilter
#mpstat -P ALL 1
Среднее:  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Среднее:  all   41,67    0,00    0,01    0,00    0,00    0,00    0,00    0,00    0,00   58,32
Среднее:    0    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00
Среднее:    1  100,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00
Среднее:    2  100,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00
Среднее:    3  100,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00
Среднее:    4  100,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00
Среднее:    5  100,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00
Среднее:    6    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00
Среднее:    7    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00
Среднее:    8    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00
Среднее:    9    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00
Среднее:   10    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00
Среднее:   11    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00    0,00  100,00

Железо вроде не совсем дохлое. Intel(R) Xeon(R) CPU X5675 @ 3.07GHz - 2 шт., 16 Гб RAM, Сетевая Intel Quad Port на базе Intel 82576. Трафик около 100 kpps распределен между 2-я портами (port 3, 4 в конфиге).

 

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

; Переводить имя хоста в прописные буквы. Если 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, то будет послан rst пакет вместо редиректа. Default: false
http_redirect = true

redirect_url = http://fz139.zavolga.net

; 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 = false

; Default: 0 - disable
statistic_interval = 300

; Default: false
match_url_exactly = false

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

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

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

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

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

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

; удалять ли точку в конце имени хоста
remove_dot = true

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

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

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

[port 1]
queues = 0,4; 1,5

[port 2]
queues = 0,1; 1,2; 2,3

[port 3]
queues = 0,4; 1,5

[dpi]
; Максимальное количество обрабатываемых потоков (flow)
max_active_flows_ipv4 = 1000000
max_active_flows_ipv6 = 1000000

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

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

Профиль DPDK

[main]
include=latency-performance

[bootloader]
cmdline=isolcpus=1,2,3,4,5 default_hugepagesz=1G hugepagesz=1G hugepages=4

 

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


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

extfilter будет всегда занимать 100% и

вроде плохо работает с 2 процессорами....

+ нужно настроить

; Порт для отправки уведомлений через dpdk
;[port 1]
;type = sender
; На какой mac адрес отправлять пакеты

;mac = 00:01:02:03:04:05

 

У вас ответы посылает сетевая карта которая находится в системе, а не в dpdk. возможно дело в этом.

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


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

Join the conversation

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

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

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

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

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

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

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