{toc}
В соответствии с рекомендациями Роскомнадзора часть ресурсов необходимо блокировать полностью, по всем портам и протоколам по IP адресу.
Варианты решения этой задачи перечислены ниже.
h1. Получение разницы между адресами
# Откройте и изучите пример хука для интеграции с Linux маршрутизаторами, использующими ipset:
{code}
less /usr/local/Reductor/contrib/examples/events.sh_template
{code}
# По аналогии с уже имеющимся там примером, отредактируйте в нём три функции:
## ip_block_full_add - получает аргументом $1 IP адрес, который необходимо полностью заблокировать и отправляет на маршрутизатор команду на добавление в список заблокированных
## ip_block_full_del - получает аргументом $1 IP адрес, который необходимо разблокировать и отправляет на маршрутизатор команду на удаление из списка заблокированных
## ip_block_full_get - получает с маршрутизатора список заблокированных IP адресов (1 строка - 1 IP адрес)
# Скопируйте хук командой:
{code}
cp -a /usr/local/Reductor/contrib/examples/events.sh_template /usr/local/Reductor/userinfo/hooks/events.sh
{code}
# Проверьте его работу при ручном запуске:
{code}
/usr/local/Reductor/bin/events.sh
{code}
# Проверьте, что он работает из cron: очистите список на маршрутизаторе и подождите 1 час (запускается по cron в 10 минут каждого часа)
h1. Получение списка целиком
Сам список IP адресов которые необходимо заблокировать находится тут:
{code}
/usr/local/Reductor/lists/ip_http.load
{code}
Вы можете использовать его по собственному усмотрению.
h1. TODO Использование BGP
Можно анонсировать список IP адресов, которые необходимо заблокировать на маршрутизаторе.
По сути это генерация конфига bgpd и его последующее применение:
{code}
service bgpd reload
{code}Как альтернативный вариант, можете настроить по собственному усмотрению любую реализацию Remote Triggered Blackhole, например: [https://github.com/forestmonster/quaggablocker]
В соответствии с рекомендациями Роскомнадзора часть ресурсов необходимо блокировать полностью, по всем портам и протоколам по IP адресу.
Варианты решения этой задачи перечислены ниже.
h1. Получение разницы между адресами
# Откройте и изучите пример хука для интеграции с Linux маршрутизаторами, использующими ipset:
{code}
less /usr/local/Reductor/contrib/examples/events.sh_template
{code}
# По аналогии с уже имеющимся там примером, отредактируйте в нём три функции:
## ip_block_full_add - получает аргументом $1 IP адрес, который необходимо полностью заблокировать и отправляет на маршрутизатор команду на добавление в список заблокированных
## ip_block_full_del - получает аргументом $1 IP адрес, который необходимо разблокировать и отправляет на маршрутизатор команду на удаление из списка заблокированных
## ip_block_full_get - получает с маршрутизатора список заблокированных IP адресов (1 строка - 1 IP адрес)
# Скопируйте хук командой:
{code}
cp -a /usr/local/Reductor/contrib/examples/events.sh_template /usr/local/Reductor/userinfo/hooks/events.sh
{code}
# Проверьте его работу при ручном запуске:
{code}
/usr/local/Reductor/bin/events.sh
{code}
# Проверьте, что он работает из cron: очистите список на маршрутизаторе и подождите 1 час (запускается по cron в 10 минут каждого часа)
h1. Получение списка целиком
Сам список IP адресов которые необходимо заблокировать находится тут:
{code}
/usr/local/Reductor/lists/ip_http.load
{code}
Вы можете использовать его по собственному усмотрению.
h1. TODO Использование BGP
Можно анонсировать список IP адресов, которые необходимо заблокировать на маршрутизаторе.
По сути это генерация конфига bgpd и его последующее применение:
{code}
service bgpd reload
{code}Как альтернативный вариант, можете настроить по собственному усмотрению любую реализацию Remote Triggered Blackhole, например: [https://github.com/forestmonster/quaggablocker]