Управление объектами FlowCollector
Объект — это набор IP-масок получателя, используемых для определения соответствия трафика заданным порогам.
Создание и редактирование объектов через веб-интерфейс
Создание объекта
Для создания нового объекта в системе выполнить следующие действия:
1. На главной странице в разделе Объекты нажать кнопку "+".
2. Заполнить следующие поля для создания объекта:
-
Название - уникальное имя для объекта. Рекомендуется использовать комбинацию из обозначения сегмента инфраструктуры и названия сервиса, например, "zapadniy-filial-web" или "dmz-dns".
-
Описание - краткое текстовое пояснение, которое поможет понять назначение объекта.
-
Связать с ДГ - при наличии интеграции между FlowCollector и DosGate объект может быть привязан к профилю DosGate для корреляции событий и мониторинга трафика при обнаружении аномалий.
-
Папка - для удобства объекты можно сгруппировать в папку, выбрав существующую или создав новую через опцию "Создать папку".
Изменение объекта
Для изменения объекта необходимо нажать правой кнопкой мыши на его названии в общем списке объектов и выбрать пункт Изменить. Откроется окно редактирования счётчиков.
Удаление объекта
В объекте предусмотрена возможность его удаления. Для удаления объекта необходимо нажать правой кнопкой мыши на его названии в общем списке объектов и выбрать пункт Удалить. После этого объект будет безвозвратно удален из системы.
Создание объекта через конфигурационный файл
Конфигурационный файл — это ещё один способ задания и управления параметрами объектов системы. Каждый объект системы настраивается индивидуально с помощью отдельного YAML-файла, который определяет ключевые параметры и пороговые значения для мониторинга и защиты сети.
Конфигурационные файлы объектов размещаются по пути:
/opt/spfc/etc/mo/
Допускается создание вложенных директорий для организации конфигураций. Например, конфигурации веб-сервисов можно структурировать следующим образом:
/opt/spfc/etc/mo/web/
/opt/spfc/etc/mo/filial1/service1.yaml
/opt/spfc/etc/mo/filial2/service2.yaml
Создание конфигурационного файла объекта
Для создания нового объекта выполнить следующую команду:
sudo nano /opt/sfpc/etc/mo/new-object.yaml
Структура конфигурационного файла объекта
name: new-object # Имя объекта, чувствительно к регистру
cidrs: # IP-маски получателей объекта. Маска 0.0.0.0/0 не поддерживается
- 1.1.1.0/24
- 1.1.2.0/24
rules: # Блок правил (порогов)
- # Разделитель для правила
type: # Ключ подсчета трафика, global или local. Local - счетчик для каждого /32 в рамках IP-маски, то-есть, ключем является /32. Используется для детекции точных атак. Может быть оба сразу
- local
units: # Единицы измерения. bytes или packets. Может быть оба сразу
- bytes
vectors: # Векторы. Может быть несколько векторов сразу
- total-traffic # Любой сетевой пакет (IPv4/IPv6)
# - dns-flood # UDP или TCP, порт получателя 53
# - ip-fragment-flood # Пакет с установленным битом фрагментации
# - icmp-flood # Протокол ICMP (только IPv4)
# - tcp-flood # Протокол TCP
# - tcp-cwr-flood # TCP с флагом CWR (Congestion Window Reduced, 0x80)
# - tcp-ece-flood # TCP с флагом ECE (ECN-Echo, 0x40)
# - tcp-urg-flood # TCP с флагом URG (Urgent Pointer, 0x20)
# - tcp-ack-flood # TCP с флагом ACK (Acknowledgment, 0x10)
# - tcp-psh-flood # TCP с флагом PSH (Push Function, 0x08)
# - tcp-rst-flood # TCP с флагом RST (Reset, 0x04)
# - tcp-syn-flood # TCP с флагом SYN (Synchronize, 0x02)
# - tcp-fin-flood # TCP с флагом FIN (No more data, 0x01)
# - udp-flood # Протокол UDP
# - total-traffic # Любой сетевой пакет (IPv4/IPv6)
# - invalid-protocol-flood # Пакет с идентификатором протокола 0
# - chargen-amp # UDP, порт источника 19
# - dns-amp # UDP, порт источника 53
# - ntp-amp # UDP, порт источника 123
# - snmp-amp # UDP, порт источника 161
# - snmptrap-amp # UDP, порт источника 162
# - ldap-amp # UDP, порт источника 389
# - mssql-amp # UDP, порт источника 1434
# - ibm-cics-amp # UDP, порт источника 1435
# - ssdp-amp # UDP, порт источника 1900
# - apple-remote-desktop-amp # UDP, порт источника 3283
# - ws-discovery-amp # UDP, порт источника 3702
# - memcached-amp # UDP, порт источника 11211
# - udp-zero-payload-flood # UDP-флуд с нулевой полезной нагрузкой
# - udp-big-packets-flood # UDP-флуд с крупными по размеру пакетами
limit-threshold: 250000000 # Тип порога. Их несколько:
# Limit-threshold - статический порог, в выбранных единицах измерения (байтах или пакетах)
# limit-diff - разница между предыдущим значением (1000 мс.) и настоящим, например, увеличение за секунду на 50000 условных единиц
# Limit-reldiff - разница между предыдущим значением (1000 мс.) и настоящим, например, увеличение за секунду в 5 раз (множитель)
# Можно использовать сразу несколько, тогда любое из превышенных считается аномалией
- type: # Ключ подсчета трафика
- global
units: # Единицы измерения
- packets
vectors: # Векторы
- total-traffic
- tcp-syn-flood
limit-diff: 50000
limit-threshold: 200000
Пример конфигурации объекта
name: web-services # Имя объекта
cidrs: # IP-маски получателей объекта
- 1.1.1.0/24
rules: # Блок правил (порогов)
- # Объем трафика по любому из векторов в сторону объекта
type:
- global # Тип подсчета — глобальный
units:
- bytes # Единицы измерения — байты
limit-threshold: 2000000000 # Статический порог по суммарному трафику
- # Объем трафика по любому из векторов в сторону любого /32
type:
- local # Тип подсчета — локальный (по IP)
units:
- bytes # Единицы измерения — байты
limit-threshold: 500000000 # Статический порог на каждый IP
- # DNS-flood
type:
- local # Локальный и глобальный подсчет
- global
units:
- bytes # Единицы измерения — байты
vectors:
- dns-flood # Тип атаки — DNS-флуд
limit-threshold: 100000000 # Статический порог по DNS-флуду
Активация объекта
Для активации объекта необходимо создать символическую ссылку на конфигурационный файл в директории активированных объектов:
sudo ln -s /opt/spfc/etc/mo/<file> /opt/spfc/etc/mo.enabled/<file>
Перезапустить сервис analyzer для активации объекта:
sudo systemctl start analyzer
Проверить текущий статус службы:
sudo systemctl status analyzer
Активация объекта считается завершённой после успешного запуска службы и отсутствия ошибок в статусе.