СОВ (IDS/IPS)

Функциональность системы обнаружения и предотвращения вторжений (СОВ) в ARMA Стена реализуется посредством ПО с открытым исходным кодом «Suricata» и использованием метода захвата пакетов «NetMap» для повышения производительности и минимизации загрузки ЦП.

Система обнаружения и предотвращения вторжений в ARMA Стена позволяет решать следующие задачи:

  • обнаружение и предотвращение использования эксплойтов и уязвимостей сетевых приложений;

  • обнаружение и предотвращение эксплуатации уязвимостей в поддерживаемых протоколах;

  • обнаружение и предотвращение сетевого сканирования;

  • обнаружение и фильтрация трафика от скомпрометированных хостов;

  • обнаружение и фильтрация трафика от хостов, заражённых троянским ПО и сетевыми червями;

  • обнаружение и предотвращение DOS-атак.

Для перехода в раздел «СОВ» необходимо выполнить следующие действия:

  1. В списке источников открыть карточку необходимого источника «NGFW».

  2. В карточке источника выбрать модуль «IPS/IDS» (см. Рисунок – СОВ (IDS/IPS)).

../../../../_images/ngfw.rp.web.suricata_0.1.png

Рисунок – СОВ (IDS/IPS)

Применение и сохранение конфигурации СОВ (IDS/IPS)

После завершения настройки всех необходимых параметров в подразделах раздела «IDS/IPS» необходимо сохранить внесённые изменения. Для этого следует нажать кнопку «Сохранить», расположенную в правом верхнем углу заголовка раздела «IDS/IPS».

После нажатия кнопки откроется окно подтверждения «Сохранить изменения конфигурации». Для продолжения и применения настроек необходимо подтвердить действие, нажав кнопку «Сохранить» в данном окне (см. Рисунок – Применение и сохранение настроек).

Только после успешного подтверждения все изменения будут сохранены и активированы в текущей конфигурации системы ARMA Стена.

../../../../_images/ngfw.rp.web.suricata_0.2.png

Рисунок – Применение и сохранение настроек

Настройки СОВ

Настройка СОВ осуществляется в подразделе «Настройки» меню «IPS/IDS». Данный раздел включает следующие блоки:

  1. общие настройки;

  2. настройки логирования;

  3. источники обновлений правил;

  4. настройки NetMap;

  5. создание дампов трафика.

Общие настройки

  1. Режим захвата - выбрать режим захвата сетевого трафика для Suricata. Возможно указать следующие режимы:

    • NetMap - высокопроизводительный фреймворк для захвата и обработки сетевых пакетов, который минимизирует задержки и потери данных, обеспечивая максимальную эффективность на высокоскоростных сетях. Установлен по умолчанию.

    • af-packet - режим перехвата трафика в Suricata, который требует наличия нескольких сетевых интерфейсов и работает в режиме шлюза. Настройка данного режима недоступна через веб-интерфейс. Конфигурация режима осуществляется исключительно с использованием командной строки (CLI).

  2. Путь к файлам с правилами - указать новый каталог, используемый по умолчанию для хранения правил Suricata. По умолчанию используется каталог «/config/files/configuration/suricata/rule-files/».

  3. Файлы с правилами - выпадающий список, позволяющий выбрать файлы с правилами, которые будут использоваться системой Suricata для анализа сетевого трафика и выявления потенциальных угроз. По умолчанию установлено значение «*.rules», при котором Suricata загружает все файлы с расширением «.rules» из каталога по умолчанию: «/config/files/configuration/suricata/rule-files/». Файлы, расположенные в подкаталогах указанного пути, не учитываются. Список отображает только те файлы с расширением «.rules», которые находятся непосредственно в каталоге, заданном в поле «Путь к файлам с правилами».

Примечание

При изменении каталога в поле «Путь к файлам с правилами» все ранее выбранные файлы, которые отсутствуют в новом указанном каталоге, будут выделены красным цветом. При этом отображается предупреждение о том, что данные файлы не будут использоваться системой Suricata (после её перезапуска), поскольку они не находятся в текущем каталоге.

В случае необходимости использования файла с правилами, находящегося в директории, отличной от текущей, возможно применить один из следующих методов:

  1. Перенести требуемый файл в текущий каталог, указанный в поле «Путь к файлам с правилами».

  2. Задать полный путь к файлу посредством командной строки (CLI). Например:

admin@ngfwos# set suricata rule-files file-name /config/files/configuration/rule-files/test.rules

Во втором случае система выделит имя файла красным цветом, сигнализируя о его нахождении вне текущего каталога, однако Suricata будет корректно использовать данный файл для анализа сетевого трафика, так как указан полный путь к ресурсу (см. Рисунок – Файлы с правилами).

../../../../_images/ngfw.rp.web.suricata_1.1.1.png

Рисунок – Файлы с правилами

  1. Политика обработки ошибок прикладного уровня - выбрать политику обработки ошибок, возникающих на уровне приложений в Suricata. Возможно выбрать следующие политики:

    • Отбросить пакет (drop-packet) - отбрасывает только текущий пакет, вызвавший ошибку.

    • Отбросить поток (drop-flow) - отключает проверку для всего потока (flow), включая пакеты, полезную нагрузку и протоколы прикладного уровня. Отбрасывает текущий пакет и все последующие пакеты в этом потоке. Применяется в ситуациях, требующих обеспечения высокого уровня защиты и оперативного блокирования потенциально вредоносного трафика.

    • Отклонить (reject) - аналогично drop-flow, но также отправляет TCP-сброс (RST) или ICMP-сообщение об ошибке для завершения соединения. Уведомляет участников соединения о блокировке.

    • В обход (bypass) - обходит (игнорирует) весь поток, отключая дальнейшую проверку. Используется для минимизации влияния ошибок на производительность, но может снижать безопасность.

    • Пропустить пакет (pass-packet) - отключает детектирование для текущего пакета, но продолжает обновление потока и анализ прикладного уровня (в зависимости от того, какая политика была активирована). Позволяет изолировать ошибку, не затрагивая остальной трафик.

    • Пропустить пакет (pass-flow) - отключает проверку полезной нагрузки и пакетов, но продолжает выполнять сборку потока (stream reassembly), анализ прикладного уровня (app-layer parsing) и логирование.

    • Не применять (ignore) - игнорировать ошибку в приложении и продолжать обработку данных. Значение используется по умолчанию.

Настройки логирования

  1. Уровень журналирования системных событий - выбор уровня ведения журнала. Возможно выбрать следующие значения:

    • «Ошибка (error)» - уровень ошибок, которые могут оказать влияние на работу системы;

    • «Предупреждение (warning)» - уровень предупреждений о потенциальных проблемах;

    • «Уведомление (notice)» - уровень для общих уведомлений о важных событиях;

    • «Инфо (info)» - уровень для информационных сообщений;

    • «Производительность (perf)» - уровень для сообщений и событий, связанных с производительностью и работой системы Suricata;

    • «Конфигурирование (config)» - уровень конфигурации Suricata;

    • «Отладка (debug)» - уровень для отладочной информации.

    По умолчанию используется уровень «Уведомление (notice)».

  2. Syslog - включить логирование системных событий работы Suricata в глобальный журнал системы ARMA Стена. По умолчанию логирование включено.

  3. Логирование срабатываний правил (syslog) - включить логирование событий и предупреждений IDS/IPS в глобальный журнал системы ARMA Стена. По умолчанию запись событий и предупреждений IDS/IPS в глобальный журнал включена.

Настройки NetMap

В разделе «Настройки NetMap» осуществляется конфигурация параметров захвата сетевого трафика с использованием высокопроизводительного метода NetMap в системе Suricata. Доступны настройки драйвера, режимов работы (IDS/IPS), политик исключений, проверки контрольных сумм и параметров параллельной обработки (см. Рисунок – Настройки NetMap):

../../../../_images/ngfw.rp.web.suricata_1.3.1.png

Рисунок – Настройки NetMap

  1. Настройки ресурсоемкости драйвера NetMap - позволяет задать параметры драйвера сетевой карты при использовании технологии NetMap. Определяет баланс между производительностью и потреблением аппаратных ресурсов. Возможно выбрать следующие значения:

    • экономичные - подходит для сетей с низкой нагрузкой или ограниченными ресурсами оборудования. Минимизирует использование оперативной памяти и CPU:

      • if_num = 100 - количество интерфейсов, которые могут быть обработаны одновременно;

      • buf_num = 163840 - общее количество буферов для хранения пакетов;

      • if_size = 1024 -размер кольцевого буфера (ring buffer) для каждого интерфейса.

    • средние (по умолчанию)- оптимальное решение для большинства сценариев, особенно при использовании сетей средней пропускной способности (до 10 Гбит/с):

      • if_num = 500 - увеличенное количество интерфейсов для обработки большего числа потоков данных;

      • buf_num = 491520 - увеличение объёма буферов для временного хранения пакетов;

      • if_size = 2048 -увеличенный размер кольцевого буфера для каждого интерфейса, снижая вероятность потери пакетов.

    • высокие - рекомендовано для использования в высокоскоростных сетях со скоростью передачи данных 10 Гбит/с и выше, где требуется максимальная пропускная способность и минимальные потери данных:

      • if_num = 1000 - максимальное количество интерфейсов, которые могут быть обработаны одновременно;

      • buf_num = 983040 - увеличение объёма буферов для минимизации потерь пакетов при высокой нагрузке;

      • if_size = 4096 -максимальный размер кольцевого буфера, обеспечивающий минимальные задержки и максимальную пропускную способность.

  2. Режим работы - позволяет выбрать режим захвата трафика по умолчанию для сетевых интерфейсов, на которых режим не задан в явном виде, но активирована служба Suricata. Возможно выбрать следующие режимы:

    • IDS - пассивный режим анализа трафика. Обнаруженные инциденты регистрируются без вмешательства в поток данных.

    • IPS - активный режим. Система может блокировать или модифицировать трафик в реальном времени для предотвращения атак.

  3. Политика исключений - глобальная конфигурация действий с пакетами и потоками, возникающими в процессе работы Suricata (нехватка памяти, неподдерживаемый протокол, разрыв соединения и т.д.). Может быть переопределена локальными настройками политики. Параметр доступен для редактирования только после выбора режима работы NetMap. Возможно выбрать следующие политики:

    • Авто (auto);

    • Отбросить пакет (drop-packet);

    • Отбросить поток (drop-flow);

    • Отклонить (reject);

    • В обход (bypass);

    • Пропустить пакет (pass-packet);

    • Пропустить пакет (pass-flow);

    • Не применять (ignore).

    По умолчанию для режима NetMap «IDS» применяется политика исключений «Не применять (ignore)», а для режима NetMap «IPS»«Авто (auto)».

  4. Проверка контрольных сумм - определяет необходимость проверки контрольных сумм TCP/IP-пакетов при обработке трафика. Возможно указать следующие значения:

    • Включена - включает проверку контрольных сумм (надёжность, но ниже производительность). Проверка контрольных сумм TCP-пакетов оказывает значительное влияние на производительность системы;

    • Выключена - отключает проверку (высокая производительность, но возможны ошибки);

    • Авто - автоматический выбор, основанный на конфигурации системы и аппаратного обеспечения. Используется по умолчанию.

  5. Потоки - указать количество потоков, используемых Suricata для обработки трафика. Возможно выбрать значение «auto» или «Число». По умолчанию используется значение «auto». При выборе значения «Число», появится дополнительное поле «Число потоков». В это поле возможно ввести количество потоков в диапазоне от «1» до «9999». Рекомендуется устанавливать значение, равное числу RSS-очередей на интерфейсе. Несоответствие указанного числа фактическому может привести к нестабильной работе Suricata.

Таблица «NetMap» содержит список сетевых интерфейсов, на которых активирован захват пакетов с использованием NetMap, а также указан режим захвата для каждого из интерфейсов.

Для включения захват пакетов с помощью NetMap на определённом интерфейсе необходимо выполнить следующие действия:

  1. Нажать кнопку «+ Добавить» на панели инструментов таблицы «NetMap».

  2. В открывшемся окне «Добавить Netmap» указать следующие параметры:

    • Интерфейс - выбрать из выпадающего списка необходимый сетевой интерфейс системы ARMA Стена, на котором будет осуществляться фильтрация трафика с помощью Suricata.

    • Режим работы - укажите режим работы Suricata для данного интерфейса.

    Примечание

    Если поле «Режим работы» оставлено незаполненным, система автоматически применит режим, заданный по умолчанию в общих настройках СОВ.

    Необходимо явно указывать режим захвата трафика либо глобально (в общих настройках), либо для каждого конкретного интерфейса, на котором активирована Suricata.

  3. Нажать кнопку «Добавить» для сохранения параметров (см. Рисунок – Добавление сетевого интерфейса в СОВ).

../../../../_images/ngfw.rp.web.suricata_1.3.2.png

Рисунок – Добавление сетевого интерфейса в СОВ

После добавления интерфейс отобразится в таблице «NetMap» с указанием назначенного режима работы. Захват трафика начнётся немедленно при условии, что служба СОВ активна.

Для применения настроек NetMap необходимо нажать кнопку «Сохранить» в верхнем правом углу заголовка раздела «IPS/IDS», а затем подтвердите действие в открывшемся окне «Сохранить изменения конфигурации», нажав кнопку «Сохранить».

Создание дампов трафика

Создание дампа трафика в Suricata необходимо для анализа инцидентов, отладки правил и расследования угроз. Трафик записывается в файл формата pcap.

Для включения записи дампов трафика в файл формата pcap необходимо перевести переключатель «Статус» в активное состояние и нажать кнопку «Сохранить» (см. Рисунок – Включение записи дампов трафика в файл).

../../../../_images/ngfw.rp.web.suricata_1.4.1.png

Рисунок – Включение записи дампов трафика в файл

Примечание

Дамп сетевого трафика будет записываться в файл «log.pcap», который создаётся при включении функции записи в каталоге /var/log/suricata/.

Блок настроек «Максимальный размер дампа (Мб)» предназначен для ограничения объёма записываемых дампов трафика с целью предотвращения переполнения накопителей данных. Блок включает следующие параметры:

  1. Единица измерения - позволяет задать единицу измерения размера одного файла pcap. Возможно выбрать следующие значения:

    • байты;

    • килобайты;

    • мегабайты - используется по умолчанию;

    • гигабайты.

  2. Размер - определяет максимальный объём одного файла pcap в указанной единице измерения. Возможно указать следующие значения в зависимости от единицы измерения:

    • от «0» до «18446744073709553664» - в байтах;

    • от «0» до «18014398509481986» - в килобайтах;

    • от «0» до «17592186044416» - в мегабайтах;

    • от «0» до «17179869184» - в гигабайтах.

    По умолчанию размер одного файла pcap установлен равным 1000 мегабайтах.

  3. Количество - указывает максимальное количество файлов pcap, которые могут быть созданы для одного потока. Возможно указать значение в диапазоне от «1» до «4294967295». По умолчанию используется значение «2000».

Для сохранения внесённых изменений необходимо нажать кнопку «Сохранить», расположенную в верхнем правом углу заголовка раздела «IPS/IDS» (см. Рисунок – Включение записи дампов трафика в файл).

Примечание

Блок настроек «Максимальный размер дампа (Мб)» применяются на каждый отдельный поток. Таким образом, ограничение объёма для восьми потоков с 2000 файлами с размером 1000 мегабайт каждый составит 16 терабайт.

Включение СОВ

Для обеспечения корректной работы СОВ необходимо выполнить следующие минимальные настройки Suricata:

  1. указать интерфейс, на котором будет включён захват пакетов;

  2. определить режим захвата, который будет применяться по умолчанию для всех интерфейсов системы ARMA Стена;

  3. указать файл с правилами Suricata.

Для включения СОВ после выполнения минимальных настроек Suricata, необходимо перевести переключатель «Статус СОВ» в активное состояние и нажать кнопку «Сохранить» (см. Рисунок – Включение СОВ).

../../../../_images/ngfw.rp.web.suricata_3.1.png

Рисунок – Включение СОВ

Обновление правил СОВ

Для обеспечения высокой степени защиты сети система ARMA Стена поддерживает обновление правил Suricata. Обновления правил могут осуществляться из локальных и внешних источников, что обеспечивает гибкость настройки в зависимости от условий эксплуатации — как в изолированных сетях, так и в средах с выходом во внешние сети.

Источники обновлений правил

Система ARMA Стена позволяет использовать два источника обновления правил Suricata:

  • локальный источник - файлы с правилами, размещённые непосредственно на устройстве;

  • внешний источник - удалённый ресурс, предоставляющий актуальные версии правил.

Локальный источник

Для добавления локального источника обновлений правил Suricata необходимо выполнить следующие действия (см. Рисунок – Добавление локального источника обновления правил):

  1. Перейти в подраздел «Настройки» раздела «IPS/IDS».

  2. В таблице «Источники обновлений правил» нажать кнопку «+ Добавить» в панели инструментов.

  3. В открывшемся боковом окне «Источник обновлений правил» выбрать создаваемую сущность «Локальный» и указать следующие параметры:

    • Наименование - пользовательское имя создаваемого локального источника обновлений правил. Значение не может содержать двойные («"») или одинарные («'») кавычки и знак вопроса («?»).

    • Путь - полный путь к файлу обновления с правилами Suricata, который расположен в системе ARMA Стена.

    Для переноса файла обновления в систему ARMA Стена возможно использовать программное обеспечение, поддерживающее передачу файлов по протоколам SFTP или SCP (например, WinSCP для операционной системы Windows), либо воспользоваться командой «scp» через интерфейс командной строки. Возможны также альтернативные способы передачи данных.

    Пример использования команды «scp»:

    «C:\Users\test>scp c:\Users\test\Desktop\user.rules admin@172.16.20.76:/config/files/configuration/suricata/rule-files/»

    Команда выполнит копирование файла обновления правил СОВ «user.rules» в каталог «/config/files/configuration/suricata/rule-files/» на системе ARMA Стена, доступной по IP-адресу 172.16.20.105.

../../../../_images/ngfw.rp.web.suricata_4.1.1.png

Рисунок – Добавление локального источника обновления правил

Внешний источник

Для добавления внешнего источника обновлений правил Suricata необходимо выполнить следующие действия (см. Рисунок – Добавление внешнего источника обновления правил):

  1. Перейти в подраздел «Настройки» раздела «IPS/IDS».

  2. В таблице «Источники обновлений правил» нажать кнопку «+ Добавить» в панели инструментов.

  3. В открывшемся боковом окне «Источник обновлений правил» выбрать создаваемую сущность «Внешний» и указать следующие параметры:

    • Наименование - пользовательское имя создаваемого источника обновлений правил. Значение не может содержать двойные («"») или одинарные («'») кавычки и знак вопроса («?»).

    • URL - URL-адрес внешнего источника обновлений правил. Значение не может содержать двойные («"») или одинарные («'») кавычки и знак вопроса («?»). По умолчанию поле содержит URL-адрес сервера обновлений правил Suricata компании ООО «ИнфоВотч АРМА» - «https://update.iwarma.ru/ngfw/ids_ips».

    • Логин - имя УЗ, имеющей доступ к внешнему источнику обновлений правил. Значение не может содержать двойные («"») или одинарные («'») кавычки и знак вопроса («?»).

    • Пароль - пароль УЗ. Значение не может содержать двойные («"») или одинарные («'») кавычки и знак вопроса («?»).

../../../../_images/ngfw.rp.web.suricata_4.1.2.png

Рисунок – Добавление внешнего источника обновления правил

Для модификации источника обновлений правил следует осуществить выбор соответствующей записи в таблице «Источники обновлений правил» посредством нажатия ЛКМ. В открывшемся окне необходимо произвести требуемые изменения. Поле «Наименование» не подлежит редактированию. По завершении процесса модификации следует нажать кнопку «Сохранить».

Для удаления источника обновлений правил необходимо выбрать одну или несколько соответствующих записей в таблице «Источники обновлений правил», установив флажок в чек-боксе слева от наименования источника, и нажать кнопку «Удалить»* на панели инструментов. В открывшемся окне, подтвердить удаление нажатием кнопки «Удалить».

Порядок выполнения обновления

  1. Настроить источник обновления правил (см. Источники обновлений правил).

  2. В разделе «IPS/IDS» перейти в подраздел «Управление».

  3. В поле «Тип источника» выбрать тип источника обновления внешний или локальный.

  4. В поле «Источник обновления» выбрать из списка ранее настроенный источник, соответствующий указанному типу. При выборе значения «все» обновление будет выполнено со всех доступных источников данного типа.

  5. Нажать кнопку «Обновить» (см. Рисунок – Обновление правил Suricata).

    ../../../../_images/ngfw.rp.web.suricata_4.2.1.png

    Рисунок – Обновление правил Suricata

  6. По завершении процесса система отобразит информационное сообщение о результате выполненного обновления (см. Рисунок – Результат обновления правил Suricata).

    ../../../../_images/ngfw.rp.web.suricata_4.2.2.png

    Рисунок – Результат обновления правил Suricata