Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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-адреса. | | ||
+ | |||
+ | //в разработке ...// |