Защита TCP с синхронизацией ISN

MITIGATOR имеет режим защиты TCP с синхронизацией ISN, в котором после проверки клиента соединение не разрывается, фильтрация получается прозрачной и удобной. Для этого нужно установить на защищаемый сервер модуль ядра, который будет выдавать нужную информацию, и агент синхронизации, который будет опрашиваться системой MITIGATOR. Режим работы с синхронизацией ISN поддерживается в контрмерах TCP, ATLS, MINE и BPF.

Код модуля: https://github.com/ddos-mitigator/tcpsecrets.

Системные требования:

  • MITIGATOR v20.12.0 и выше.

  • На защищаемом сервере: Linux с ядром 4.13 и выше (показывает команда uname -r).

  • Время на защищаемом сервере и MITIGATOR синхронизировано. Фактически, нужно настроить NTP на обоих серверах.

Установка модуля ядра и сервиса (агента синхронизации)

На защищаемом сервисе под управлением Debian или Ubuntu:

wget -O- https://docs.mitigator.ru/v22.12/dist/mitigator-agent | sh

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

Если используется firewall, нужно разрешить TCP-подключения к порту 7100.

Администратор системы MITIGATOR предоставит публичный ключ такого вида:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDO7P4aiE3fgdsVieFiFaUKjU54yFpU9FdiimsFHd6eZ mitigator1

Здесь mitigator1 – название экземпляра MITIGATOR в кластере.

Полученный ключ нужно дописать в файл /opt/mitigator_agent/keys:

head -1 >> /opt/mitigator_agent/keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDO7P4aiE3fgdsVieFiFaUKjU54yFpU9FdiimsFHd6eZ mitigator1

Здесь mitigator1 – тэг, помогающий идентифицировать в журналах, какой экземпляр производил опрос агента синхронизации.

Командой wget -O- https://… | sh код из интернета запускается от root. Более безопасно скачать файл по ссылке, прочитать его и запустить.

Настройка в web-интерфейсе

Для работы механизма нужен перечень серверов, где работают агенты синхронизации. Он задается как список IP-адресов, один сервер — одна строка. При обращении через MITIGATOR к одному из указанных адресов параметры сессии будут генерироваться по данным, полученным с этого адреса от агента.

Если адрес интерфейса управления, по которому доступен агент, отличается от адресов, по которым обращаются к сервисам через MITIGATOR, адреса сервисов можно указать в той же строке в скобках. Например, запись 192.0.2.1(192.0.2.3,192.0.2.4) означает, что параметры сессии для адресов 192.0.2.1, 192.0.2.3 и 192.0.2.4 будут генерироваться по данным, полученным от агента по адресу 192.0.2.1.

В поле настроек игнорируются пробелы. Допускаются пустые строки и комментарии, начинающиеся с символа #.

Также в контрмерах политики, поддерживающих работу в режиме синхронизации параметров сессии, следует задать соответствующий режим.

Обновление агента синхронизации

Запустить команду установки еще раз. Настроенные ключи сохранятся.

Удаление агента синхронизации

Запустить sh mitigator-agent -d.