Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:modules:netblock:ru [2017/05/27 20:29]
asmodeus
abills:docs:modules:netblock:ru [2018/09/28 12:46] (текущий)
larysa
Строка 1: Строка 1:
 +**''​Документация по модулю Netblock и принадлежащим к нему страницам перенесена в Confluence''​**\\
 +[[http://​abills.net.ua:​8090/​display/​AB/​Netblock]]
 +
 =====Netblock===== =====Netblock=====
  
Строка 14: Строка 17:
     * Linux     * Linux
     * FreeBSD     * FreeBSD
 +  * Автоматическа загрузка [[abills:​docs:​modules:​netblock:​rkn:​ru|Роскомнадзор]] 
 +  * Автоматическа загрузка UABlock
 ====Настройка==== ====Настройка====
  
Строка 54: Строка 58:
 </​code>​ </​code>​
   ​   ​
 +=====Интерфейс управления=====
 +
 +
 +  * [[abills:​docs:​manual:​admin:​netblock:​netblock_main|Управление ресурсами блокировки]]
  
  
Строка 61: Строка 69:
   /​usr/​abills/​libexec/​billd netblock TYPE=uablock FETCH=1   /​usr/​abills/​libexec/​billd netblock TYPE=uablock FETCH=1
   ​   ​
-===Росскомнадзор===+====BY list==== 
 +Список ограниченного доступа 
 +https://​belgie.by/​ru/​lists_access 
 +  /​usr/​abills/​libexec/​billd netblock TYPE=byblock FETCH=1 
 +===Добавить в conf.pl=== 
 +  $conf{NETBLOCK_BY_NAME} ​           = '​логин';​ 
 +**Для блокировки интернет-ресурсов,​ доступ к которым ограничен** 
 +  $conf{NETBLOCK_BY_URL_LIMITATION} ​ = '​ссылка на XML список';​ 
 +  $conf{NETBLOCK_BY_PASS_LIMITATION} = '​пароль к  XML списку';​ 
 +**Для блокировки средств обеспечения анонимности (прокси-серверы,​ анонимные сети типа Tor и другие)** 
 +  $conf{NETBLOCK_BY_URL_ANONYMOUS} ​  = '​ссылка на XML список';​ 
 +  $conf{NETBLOCK_BY_PASS_ANONYMOUS} ​ = '​пароль к  XML списку';​ 
 +   
 +   
 +====Росскомнадзор====
  
   /​usr/​abills/​libexec/​billd netblock TYPE=rnk FETCH=1   /​usr/​abills/​libexec/​billd netblock TYPE=rnk FETCH=1
Строка 77: Строка 99:
   /​usr/​abills/​libexec/​billd netblock ACTIVE_BLOCK=1 NAS_TYPE=mikrotik   /​usr/​abills/​libexec/​billd netblock ACTIVE_BLOCK=1 NAS_TYPE=mikrotik
  
 +
 +====Примеры использования====
 +
 +=== Блокировка по имени домена с использованием unbound===
 +В связке с DNS резолвером [[https://​www.unbound.net|unbound]] возможна как статичное,​ так и динамическое обновление записей в кеше DNS сервера. После [[http://​muff.kiev.ua/​content/​unbound-nastroika-keshiruyushchego-dns-servera|установки и настройки]] остается только добавить в файл //​unbound.conf//​ в секции ''​server:''​ следующую строку:​\\
 +
 +
 +<​code>​include:​ "/​usr/​abills/​var/​db/​netblock/​domain_list"</​code>​
 +
 +
 +Блокировки начнут работать после перезапуска сервера. Шаблон для формирования файла domain_list приведен в примерах настройки.
 +Для того чтобы в дальнейшем не перезагружать сервер,​ а только вносить изменения в его кеш, нужно в config.pl указать команды для блокировки и разблокировки в параметрах **$conf{NETBLOCK_DNS_ADD_CMD}** и **$conf{NETBLOCK_DNS_ADD_CMD}**.
 +
 +Рестарт unbound $conf{UNBOUND_RESTART}='​команда рестарта';​
 +
 +  # /​usr/​abills/​libexec/​billd netblock ACTIVE_BLOCK=1 TYPE=uablock UNBOUND=1 DOMAIN_REDIRECT=10.0.1.1
 +
 +Проверка
 +
 +  drill @127.0.0.1 calendar.yandex.ru
 +
 +<​code>​
 +;; ->>​HEADER<<​- opcode: QUERY, rcode: NOERROR, id: 64180
 +;; flags: qr aa rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
 +;; QUESTION SECTION:
 +;; calendar.yandex.ru. ​ IN      A
 +
 +;; ANSWER SECTION:
 +calendar.yandex.ru. ​    ​3600 ​   IN      A       ​10.0.0.1
 +
 +;; AUTHORITY SECTION:
 +
 +;; ADDITIONAL SECTION:
 +
 +;; Query time: 0 msec
 +;; SERVER: 127.0.0.1
 +;; WHEN: Tue May 30 17:40:53 2017
 +;; MSG SIZE  rcvd: 52
 +</​code>​
 +
 +
 +=== Блокировка по IP с использованием ipfw===
 +
 +**Linux**
 +
 +Для блокировки по IP адресу удобно использовать ipset, например так:
 +
 +В дальнейшем записи в таблицу будут добавляться и удаляться автоматически,​ без перечитывания правил.
 +
 +^ $conf{NETBLOCK_FW_ADD_CMD} | **Шаблон команды для блокировки типа "​ip"​**\\ Пример для ipfw: $conf{NETBLOCK_FW_ADD_CMD} = '/​sbin/​ipset add  netblock %IP'; |
 +^ $conf{NETBLOCK_FW_DEL_CMD} | **Шаблон команды для разблокировки типа "​ip"​**\\ Пример для ipfw: $conf{NETBLOCK_FW_DEL_CMD} = '/​sbin/​ipset del  netblock %IP'; |
 +
 +
 +**Запуск обновления**
 +
 +  /​usr/​abills/​libexec/​billd netblock TYPE=uablock ACTIVE_BLOCK=1 ​ IPFW_BLOCK=1
 +  ​
 +Включение автоподнятие правил шейпера и блокировки
 +
 +**/​etc/​rc.conf**
 +
 +  ${abills_netblock}="​YES"​ #​Включение блокировки
 +  ${abills_netblock_redirect_ip}="​127.0.0.1";​ # Включение редиректа на страницу
 +
 +
 +запуск ​ програмы авто поднятия
 +
 +  /​etc/​init.d/​shaper_start.sh start
 +
 +**FreeBSD**
 +
 +Для блокировки по IP адресу удобно использовать таблицы в ipfw, например так:
 +
 +<​code>​
 +fwcmd="/​sbin/​ipfw"​
 +nat_interface="​igb0"​
 +...
 +...
 +${fwcmd} add deny all from any to "​table(13)"​ via ${nat_interface}
 +cat /​usr/​abills/​var/​db/​netblock/​ip_list |
 +{
 +while read ip
 +do
 +${fwcmd} table 13 add $ip
 +done
 +}
 +...
 +...
 +</​code>​
 +В дальнейшем записи в таблицу будут добавляться и удаляться автоматически,​ без перечитывания правил.
 +
 +^ $conf{NETBLOCK_FW_ADD_CMD} | **Шаблон команды для блокировки типа "​ip"​**\\ Пример для ipfw: $conf{NETBLOCK_FW_ADD_CMD} = '/​sbin/​ipfw table 13 add %IP'; |
 +^ $conf{NETBLOCK_FW_DEL_CMD} | **Шаблон команды для разблокировки типа "​ip"​**\\ Пример для ipfw: $conf{NETBLOCK_FW_DEL_CMD} = '/​sbin/​ipfw table 13 delete %IP'; |
 +
 +
 +**Запуск обновления**
 +
 +  /​usr/​abills/​libexec/​billd netblock TYPE=uablock ACTIVE_BLOCK=1 ​ IPFW_BLOCK=1
 +  ​
 +Включение автоподнятие правил шейпера и блокировки
 +
 +**/​etc/​rc.conf**
 +
 +  ${abills_netblock}="​YES"​ #​Включение блокировки
 +  ${abills_netblock_redirect_ip}="​127.0.0.1";​ # Включение редиректа на страницу
 +
 +
 +запуск ​ програмы авто поднятия
 +
 +  /​usr/​local/​etc/​rc.d/​shaper_start.sh start
 +
 +
 +===="​Мягкая"​ блокировка====
 +Данный модуль может быть использован,​ как для формирования списков для аппаратных решений (DPI),
 +так и для "​софтовой"​ блокировки. Естественно,​ что владельцы аппаратных решений получают конкурентное преимущество,​ так как имеют возможность блокировать ресурсы на более высоком уровне(url),​ а не весь ресурс или IP адрес, на котором может находится кроме заблокированного ещё куча сайтов. Как же быть тем, для кого бюджет установки DPI неоправданно высок. \\
 +Попытаемся исправить ситуацию. Итак, что мы имеем в записи реестра:​
 +  * Тип блокировки(ip,​domain etc)
 +  * IP адрес
 +  * URL
 +Теперь смотрим,​ по какому алгоритму нас будут проверять:​
 +^ **Тип информации,​ занесенной в реестр ЕАИС** ^ **Действия АС «Ревизор»** ^
 +| Запись содержит только IP-адрес | Проверяется доступность сайта по IP-адресу. При отсутствии доступа по протоколу HTTP происходит запись информации в аварийный журнал о запрете доступа по протоколу http. |
 +| Запись содержит только URL ресурса | Происходит резолвинг (resolve) IP-адреса с помощью DNS серверов. Далее происходит отправка HTTP GET запроса на полученные IP-адреса. |
 +| Запись содержит Домен, IP-адрес,​ URL | Происходит резолвинг (resolve) IP-адреса с помощью DNS серверов. Далее происходит отправка HTTP GET запроса на полученные и внесенные в реестр ЕАИС IP-адреса. |
 +
 +//в разработке ...//