|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (22)
просмотр истории страницы... |
Варианты решения этой задачи перечислены ниже. |
{info} Данная интеграция подразумевает анонсирование *с Редуктора* маршрутной информации о том, что нужно заблокировать (согласно списка ip на "полный" блок по всем портам и протоколам) {info} Есть два способа интеграции - использование BGP и отправка команд. Мы рекомендуем использовать BGP как наиболее стандартный и надёжный способ. |
|
h1. Использование BGP |
|
h1. Получение разницы между адресами |
[Использование модуля BGP Blackhole|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=69926929]. |
|
*Устаревшие схемы:* [https://github.com/carbonsoft/reductor_bgp_rtbh] h1. Отправка команд {warning} Сохранять папку ssh требуется в chroot в папке cfg. Либо она затрётся после обновления. После создания ключей, требуется создать на них симлинк в chroot: {code} ln \-s /cfg/.ssh/ /root/.ssh {code} {warning} Это решение используется как правило только если есть причины не использовать BGP. В качестве команд обычно используется наполнение ACL, address-list или ipset IP-адресами для фильтрации. Создание ACL, address-list или ipset лежит на администраторе маршрутизатора. Нужно сделать так, чтобы после перезагрузки маршрутизатора список существовал и в него можно было добавлять адреса. Обычно достаточно добавить его в конфиг. Опционально можно сделать сохранение этого списка и восстановление его при перезагрузке, это значительно сократит время синхронизации. h2. Получение разницы между адресами Важно: все операции выполняются в *chroot /app/reductor* |
# Откройте и изучите пример хука для интеграции с Linux маршрутизаторами, использующими ipset: {code} |
chroot /app/reductor |
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 адрес) |
## ip_block_full_get - получает с маршрутизатора список заблокированных IP адресов (1 строка - 1 IP адрес), функция должна вывести их на стандартный вывод (stdout), сохранять в какие-либо файлы ничего не нужно. |
# Скопируйте хук командой: {code} |
cp -a /usr/local/Reductor/contrib/examples/events.sh_template /usr/local/Reductor/userinfo/hooks/events.sh /cfg/userinfo/hooks/events.sh |
{code} # Проверьте его работу при ручном запуске: |
... |
# Проверьте, что он работает из cron: очистите список на маршрутизаторе и подождите 1 час (запускается по cron в 10 минут каждого часа) |
h12. Получение списка целиком |
Сам список IP адресов которые необходимо заблокировать находится тут: {code} |
/usr/local/Reductor/lists/ip_block.load /var/lib/reductor/lists/load/ip_block.load |
{code} Вы можете использовать его по собственному усмотрению. |
h12. Тестирование. |
{info}Первый запуск рекомендуется выполнить вручную, чтобы избежать множества ошибок при автоматическом выполнении. |
|
Обязательно выполните добавление маршрутизатора в know_hosts. The authenticity of host '10.90.1.1' (10.90.1.1')' can't be established. RSA key fingerprint is 12:3b:d5:55:bd:37:4f:44:b3:61:56:2c:05:a0:ad:90. Are you sure you want to continue connecting (yes/no)? yes {info} |
# Запускаем /usr/local/Reductor/bin/events.sh вручную. ## При первом запуске должно произойти много событий ip_block_full_add. |
... |
## Наблюдайте за списком блокируемых IP на оборудовании, он должен постепенно наполняться. |
h1. Использование BGP |
|
Здесь перечислены все имеющиеся схемы на текущий момент: |
h2. Анонсирование списка подсетей |
|
Чтобы не создавать лишнюю нагрузку на ваши маршрутизаторы при анонсировании списка заблокированных IP адресов существует возможность анонсировать этот список в виде подсетей, что значительно снизит количество правил блокировки на вашем маршрутизаторе. |
|
[https://github.com/carbonsoft/reductor_bgp_rtbh] |
Сделать это можно с помощью опции меню \-> Reductor \-> Настройка алгоритма фильтрации \-> |
|
Как альтернативу вы можете использовать: [https://github.com/forestmonster/quaggablocker|https://github.com/forestmonster/quaggablocker] но мы пока не тестировали его. h2. Redback SE 100 [https://github.com/carbonsoft/reductor_bgp_rtbh/tree/master/se100] |
!ip_subnets.png|border=1! |