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

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

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



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

2018-04-19 00:21:18 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 01:01:15 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 01:41:13 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 02:20:46 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 03:21:42 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 03:40:46 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 04:21:12 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 04:40:45 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 05:21:41 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 05:41:12 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 06:21:42 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 07:21:41 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 07:41:23 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 08:20:46 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 09:01:17 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 09:41:21 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 10:01:17 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 10:40:46 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 11:01:18 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 11:41:46 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 12:20:45 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 12:41:16 | INFO  | main  | Version Dump: 2.3. OK
2018-04-19 13:41:12 | INFO  | main  | Version Dump: 2.3. OK
 

 

Обработка пользовательского списка исключений же

if( defined($EX_IPS{$ip}) )

{

# print "Excluding ip ".$ip.": match excluded ip in DB.\n";

$MAIL_EXCLUDES .= "Excluding ip ".$ip.": match excluded ip in DB.\n";

$logger->debug("Excluding ip ".$ip);

next;

}
 

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


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

8 минут назад, myth сказал:

Обработка пользовательского списка исключений же

Нет. Следующий блок. где ZAP_OLD_IPS

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


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

Исправлено поведение zapret.pl при обнаружении пустого ip.

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


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

Подскажите, как СКАТ блокирует подсети? ICMP должны проходить?

Например сеть 91.108.4.0/22. Есть хост 91.108.4.10, который у оператора со СКАТом отвечает на ICMP но выдаёт заглушку при обращении через WEB. А как он с другими сетевыми портами поступает? Блочит?

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


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

Аналогично с zapret.pl:

2018-04-19 13:41:38 | ERROR | main  | Eval: Can't call method "binip" on an undefined value at /usr/local/scripts/zapret/zapret.pl line 867.
2018-04-19 13:41:58 | INFO  | main  | Load iterations: 1, resolved domains ipv4: 0, resolved domains ipv6: 0
2018-04-19 13:41:58 | INFO  | main  | Added: domains: 1, urls: 2, IPv4 ips: 2, IPv6 ips: 0, subnets: 0, records: 3
2018-04-19 13:41:58 | INFO  | main  | Deleted: old domains: 15633, old urls: 13661, old ips: 58781, old only ips: 835, old subnets: 20, old records: 28162

Самое плохое в последней строчке. Похоже скрипт пропустил все, что после возникновения ошибки и почистил БД.

 

4 минуты назад, max1976 сказал:

Исправлено поведение zapret.pl при обнаружении пустого ip.

Пока писал, исправлено )) Спасибо.

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


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

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

Исправлено поведение zapret.pl при обнаружении пустого ip.

Спасибо, все работает

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


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

29 минут назад, max1976 сказал:

Исправлено поведение zapret.pl при обнаружении пустого ip.

Спасибо.

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

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


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

Если кому-то интересно, я выложил новую версию zapret.pl. Из кода удален функционал резолвинга доменов. Переделан алгоритм разбора xml, работы с реестром, что существенно сократило время обработки реестра. Можно ставить в крон вызов скрипта каждые 10 минут, что позволит оперативно обновлять БД. Теперь, при возникновении нештатных ситуаций с реестром, не будет очистки БД.

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

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


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

Сделал скриптик, который считает статистику по дампу.

Статистика по дампу
  Сводка по URL: 
  - всего записей: 58627
  - наиболее длинный URL: 1133
  - протокол HTTP: всего 50721; порты 80 81 888 8001 8080 8081 
  - протокол HTTPS: всего 7894; порты 443 16869 
  - другие протоколы: всего 12; newcamd525 
  - top-10 доменов: vidoevo.com myvido1.com exyi.com agaclip.com viduba.com molodegka.xyz graniru.info paktune.pk voroniny-online.pw pixiv.net 
  Сводка по доменам: 
  - всего доменов: 68318
  - из них с маской: 3641
  - top-10 доменов без маски: sl.pt googleusercontent.com bcdl.rocks bkfind.space amazonaws.com ru.com bookolimp.site sl-reverse.com graniru.info sexros.net 
  - top-10 доменов с маской: bkfind.space ru.com olimp9b55.gdn olimp6301.site olimpa88c.site olimpa89a.top olimp98b4.top olimp656f.top olimp58e8.top olimp4859.top 
  Сводка по IP-адресам: 
  - всего адресов: 2612
  - top-10 для адресов: 188.42.196 185.49.71 188.42.189 185.106.140 185.82.210 173.0.153 188.124.247 87.117.232 185.164.174 125.209.252 
  - всего подсетей: 61
  - top-10 для подсетей: 
      34.192.0.0/10
      52.192.0.0/11
      35.192.0.0/12
      35.208.0.0/12
      35.224.0.0/12
      52.64.0.0/12
      54.144.0.0/12
      54.160.0.0/12
      34.240.0.0/13
      34.248.0.0/13
  - общий размер подсетей: 18197760

Сам скрипт под спойлером.

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

Для работы скрипта нужен сам дамп в XML, и пакет xmlstarlet.


#!/bin/bash

### Работа с дампом - статистика

ERDI_XML="/usr/bin/xmlstarlet"
DUMP="путь-к-дампу/dump_last.xml"
echo "Дамп: $DUMP (байт `stat --format='%s' $DUMP`, строк `wc --lines $DUMP | cut -d' ' -f1`)"

# | sed -e 's/\(.*\)/\U\1/' | xargs idn --quiet -u --no-tld

echo "Формируются списки из дампа..."

echo "- список адресов (list-url.txt)"
"${ERDI_XML}" select -T -t -m "/reg:register/content[not(@blockType) and url]" \
 -v "url" -n "$DUMP" \
 | sort -u | awk '{ print length, $0 }' | sort -nr | cut -d" " -f2- \
 > list-url.txt

echo "- список доменов (list-domain.txt)"
"${ERDI_XML}" select -T -t -m "/reg:register/content[@blockType='domain']" \
 -v "domain" -n "$DUMP" \
 | idn --quiet | sed 's/\(.*\)/\L\1/' \
 | sed 's/\.$//' \
 | sort -u | awk '{ print length, $0 }' | sort -nr | cut -d" " -f2- \
 > list-domain.txt

echo "- список доменов с маской (list-mask.txt)"
"${ERDI_XML}" select -T -t -m "/reg:register/content[@blockType='domain-mask']" \
 -v "domain" -n "$DUMP" \
 | idn --quiet | sed 's/\(.*\)/\L\1/' \
 | sed 's/\.$//' \
 | sort -u | awk '{ print length, $0 }' | sort -nr | cut -d" " -f2- \
 > list-mask.txt

echo "- список IP-адресов (list-ip.txt)"
"${ERDI_XML}" select -T -t -m "/reg:register/content[@blockType='ip' and ip]" \
 -v "ip" -n "$DUMP" \
 | sort -V -u \
 > list-ip.txt

echo "- список IP-подсетей (list-net.txt)"
"${ERDI_XML}" select -T -t -m "/reg:register/content[@blockType='ip' and ipSubnet]" \
 -v "ipSubnet" -n "$DUMP" \
 | sort -V -u \
 > list-net.txt

echo "Статистика по дампу"
echo "  Сводка по URL: "
echo "  - всего записей: `wc --lines list-url.txt | cut -d' ' -f1`"
echo "  - наиболее длинный URL: `head -n 1 list-url.txt | wc --chars`"
echo "  - протокол HTTP: всего `grep -c -E '^http://' list-url.txt`; порты `grep -E '^http://[^/]+:[0-9]+' list-url.txt | grep -E -o '^http://[^/]+:[0-9]+' | cut -d':' -f3 | sort -u -n | tr '\n' ' '`"
echo "  - протокол HTTPS: всего `grep -c -E '^https://' list-url.txt`; порты `grep -E '^https://[^/]+:[0-9]+' list-url.txt | grep -E -o '^https://[^/]+:[0-9]+' | cut -d':' -f3 | sort -u -n | tr '\n' ' '`"
echo "  - другие протоколы: всего `grep -c -E -v '^https?://' list-url.txt`; `grep -E -v '^https?://' list-url.txt | grep -E -o '^.+://' | cut -d':' -f1 | sort -u | tr '\n' ' '`"
echo "  - top-10 доменов: `grep -E -o '^https?://[^/]+' list-url.txt | cut -d':' -f2 | cut -c3- | cut -d'.' -f2- | grep -F '.' | sort | uniq -c | sort -nr | head -n 10 | cut -c9- | tr '\n' ' '`"
echo "  Сводка по доменам: "
echo "  - всего доменов: `wc --lines list-domain.txt list-mask.txt | tail -n 1 | grep -E -o '[0-9]+'`"
echo "  - из них с маской: `wc --lines list-mask.txt | cut -d' ' -f1`"
echo "  - top-10 доменов без маски: `rev list-domain.txt | cut -d'.' -f1-2 | rev | sort | uniq -c | sort -nr | head -n 10 | cut -c9- | tr '\n' ' '`"
echo "  - top-10 доменов с маской: `rev list-mask.txt | cut -d'.' -f1-2 | rev | sort | uniq -c | sort -nr | head -n 10 | cut -c9- | tr '\n' ' '`"
echo "  Сводка по IP-адресам: "
echo "  - всего адресов: `wc --lines list-ip.txt | cut -d' ' -f1`"
echo "  - top-10 для адресов: `cut -d'.' -f1-3 list-ip.txt | sort -V | uniq -c | sort -nr | head -n 10 | cut -c9- | tr '\n' ' '`"
echo "  - всего подсетей: `wc --lines list-net.txt | cut -d' ' -f1`"
echo "  - top-10 для подсетей: "
sort -n -t'/' -k2 list-net.txt | head -n 10 | sed  's/^/      /'
echo "  - общий размер подсетей: `cut -d'/' -f2 list-net.txt | awk '{s+=2^(32-$1)}END{print s}'`"

Скрипт вначале выгружает разные типы записей в разные файлы, а затем по ним получает статистику.

 

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


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

Перешел на dev ветку, потестю

 

Наверное, так лучше $logger->info("Starting RKN at ".(localtime()));

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


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

Тоже клон гита сделал, но потестить пока не могу. Мне ресурс выгрузки vigruzki.rkn.gov.ru уже второй день недоступен ни через один аплинк :)

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


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

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

Мне ресурс выгрузки vigruzki.rkn.gov.ru уже второй день недоступен ни через один аплинк :)

А пальчиком РКН еще не грозил? А то у мена была похожая ситуация года два назад.

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


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

4 минуты назад, arhead сказал:

А пальчиком РКН еще не грозил? А то у мена была похожая ситуация года два назад.

А мы уже ученые. Сделал скрины трэйсера и отослал в обл. отделение РКН, где явно видно что проблемы не у меня. Интернет ломал не я ;).

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

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


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

2 часа назад, max1976 сказал:

Если кому-то интересно, я выложил новую версию zapret.pl. Из кода удален функционал резолвинга доменов. Переделан алгоритм разбора xml, работы с реестром, что существенно сократило время обработки реестра. Можно ставить в крон вызов скрипта каждые 10 минут, что позволит оперативно обновлять БД. Теперь, при возникновении нештатных ситуаций с реестром, не будет очистки БД.

 

Спасибо за труд, а в zapret.sql появились изменения и лучше БД новую залить?

 

 

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


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

Только что, hsvt сказал:

Спасибо за труд, а в zapret.sql появились изменения и лучше БД новую залить?

Можно в новую, а можно и текущую обновить:

alter table zap2_records add column hash varchar(60) NULL;
CREATE INDEX record_id_idx ON zap2_domains(record_id);
CREATE INDEX record_id_idx ON zap2_only_ips(record_id);
CREATE INDEX record_id_idx ON zap2_urls(record_id);
CREATE INDEX record_id_idx ON zap2_subnets(record_id);

 

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


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

Еще надо:

ALTER TABLE zap2_domains CHANGE COLUMN `domain` `domain` varchar(255) DEFAULT NULL;

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


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

8 минут назад, SokolovS сказал:

Еще надо:


ALTER TABLE zap2_domains CHANGE COLUMN `domain` `domain` varchar(255) DEFAULT NULL;

Зачем оно изначально varchar(255) DEFAULT NULL

+--------------+-----------------+------+-----+-------------------+----------------+
| Field        | Type            | Null | Key | Default           | Extra          |
+--------------+-----------------+------+-----+-------------------+----------------+
| id           | int(6) unsigned | NO   | PRI | NULL              | auto_increment |
| date_add     | timestamp       | NO   |     | CURRENT_TIMESTAMP |                |
| record_id    | int(6) unsigned | NO   | MUL | NULL              |                |
| domain       | varchar(255)    | NO   |     | NULL              |                |
| domain_fixed | varchar(60)     | NO   |     | NULL              |                |
+--------------+-----------------+------+-----+-------------------+----------------+

 

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


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

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

Зачем оно изначально varchar(255) DEFAULT NULL


+--------------+-----------------+------+-----+-------------------+----------------+
| Field        | Type            | Null | Key | Default           | Extra          |
+--------------+-----------------+------+-----+-------------------+----------------+
| id           | int(6) unsigned | NO   | PRI | NULL              | auto_increment |
| date_add     | timestamp       | NO   |     | CURRENT_TIMESTAMP |                |
| record_id    | int(6) unsigned | NO   | MUL | NULL              |                |
| domain       | varchar(255)    | NO   |     | NULL              |                |
| domain_fixed | varchar(60)     | NO   |     | NULL              |                |
+--------------+-----------------+------+-----+-------------------+----------------+

 

См. определение таблицы:

https://github.com/max197616/zapret/blob/master/zapret.sql

И у вас в колонке Null стоит NO.

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

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


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

8 минут назад, SokolovS сказал:

И у вас в колонке Null стоит NO.

Извиняюсь, на размер смотрел, упустил из виду NULL.

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


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

3 часа назад, max1976 сказал:

Если кому-то интересно, я выложил новую версию zapret.pl. Из кода удален функционал резолвинга доменов. Переделан алгоритм разбора xml, работы с реестром, что существенно сократило время обработки реестра. Можно ставить в крон вызов скрипта каждые 10 минут, что позволит оперативно обновлять БД. Теперь, при возникновении нештатных ситуаций с реестром, не будет очистки БД.

Если в конфиге переменная our_blacklist закомментирована, то в логе будет ошибка открытия файла.

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


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

Join the conversation

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

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

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

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

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

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

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