11 марта 2024

Статья 3. Установка и настройка PT NAD в односерверной конфигурации

Цикл статей PT NAD Getting Started
Начиная с версии PT NAD 11.0 в дистрибутиве продукта появился мастер установки, значительно упрощающий и ускоряющий процесс разворачивания системы на сервере.
В этой статье мы с вами рассмотрим процесс установки и настройки PT NAD в односерверном исполнении.

Примечания:
  1. В статье и на всех скриншотах выполнение команд производилось от имени root. При отказе в доступе к некоторым файлам используйте пользователя root или команду sudo (убедитесь перед этим, что пользователь находится в файле /etc/sudoers).
  2. При ошибке во время установки пакетов из-за отсутствия некоторых зависимостей выполните команду apt install -f.
  3. В статье для лаконичности и большей универсальности путь, по которому находится каталог с дистрибутивом, обозначен переменной $DISTR.

Подготовка

Установка будет происходить на ОС Debian 10, являющейся одной из поддерживаемых систем (наравне с Astra Linux SE 1.7.3 и 1.7.4).
В системе должны присутствовать три каталога:
  • / - корневой каталог
  • /es — каталог для хранения метаданных и индексов elasticsearch
  • /pcaps — каталог для хранения сырого трафика

К каждому из каталогов должен быть примонтирован диск или его раздел соответствующего объема (расчет объема накопителей для метаданных и сырого трафика рассмотрен в предыдущей статье).
Если сервер выделен исключительно для PT NAD, то дополнительно нужно убедиться в отсутствии swap-раздела, так как он может замедлять работу системы.
Перед началом установки также необходимо скопировать дистрибутив PT NAD в удобное доступное для записи место (как правило, в домашний каталог пользователя) и распаковать оба архива, входящих в его состав: ptnad-depends.11.1* и ptnad-installer.11.1*.
Установим пакет заголовочных файлов для установленной версии ядра Linux.

Установка с помощью мастера установки

Находясь в папке с распакованным дистрибутивом, запускаем мастер установки командой ./install.sh. В стартовом окне установщик предложит выбрать тип установки.

Выбираем All-in-one, подходящий для односерверной конфигурации.
В следующем окне предлагается выбрать имя сенсора. Рекомендуется задать значение, совпадающее с именем хоста (можно посмотреть в файле /etc/hostname). В целом это необязательно для установки в односерверном исполнении, но очень полезно в распределенной системе и помогает управлять сенсорами через веб-интерфейс.

Оставим значение по умолчанию.
В следующем окне мы можем выбрать, какие дополнительные действия необходимо совершить установщику.

Нажмем Enter, оставив выбранными все опции.
Затем начнется процесс установки, после чего последует предложение установить драйвера для карты NVIDIA Mellanox.

Откажемся. Так как в нашем сервере данная сетевая карта не установлена, установщик дополнительно сообщает об этом в самой первой строке.
После выбора одного из вариантов ответа процесс установки продолжится и не будет прерываться до его завершения.

В последней строке должно быть выведено сообщение об успешной установке компонентов PT NAD.

Установка в ручном режиме

Для корректной установки и работы продукта необходимо настроить синхронизацию времени и локализацию en_US.UTF-8.

В нашей инсталляции настроим синхронизацию с внешним NTP-сервером и сменим часовой пояс.
Проверить используемую в системе локализацию можно командой local. Для смены локализации воспользуемся командой localectl set-locale.

Заметим, что изменения отобразятся только после повторной авторизации.
Сперва устанавливаем elasticsearch и пакет OpenJDK, от которого он зависит, из каталога $DISTR/repos/additional_packages/.

После этого меняем владельца и группу владельца каталога /es, чтобы elasticsearch мог записывать и считывать оттуда метаданные.
Далее с помощью скрипта $DISTR/ptnad-distrib/scripts/deploy_elastic создаем узлы elasticsearch и выделяем для них ресурсы. В виду ограниченных ресурсов стенда (8 потоков ЦПУ, 16 Гб ОЗУ) будет создан только один узел, объединяющий в себе все три роли.

Ему будет выделено 3 логических ядра процессора и половина доступной оперативной памяти. Опция-dry-run позволяет без внесения изменений проверить конфигурацию, которая будет создана введенной командой. Если необходимо перезаписать существующую конфигурацию, то используйте ключ force.
Затем переходим к установке модуля ptdpi. Устанавливаем необходимые зависимости из каталога $DISTR/repos/additional_packages/. Останавливаем и отключаем автозапуск службы irqbalance, если она есть.

В нашем случае данная служба не была установлена, поэтому дополнительные действия не требуются. И устанавливаем пакет ptdpi из каталога $DISTR/ptnad-distrib/.
В файле /opt/ptsecurity/etc/ptdpi.settings.yaml задаем имя сенсора. В нашем случае оно будет совпадать с именем хоста.
Для дальнейшей настройки механизма захвата DPDK необходимо установить драйверы сетевой карты, которые находятся в каталоге $DISTR/repos/ additional_packages/.
Устанавливаем postgresql, redis и nginx. Для этого необходимо активное интернет-соединение.
Находясь в $DISTR/ptnad-distrib/, устанавливаем модуль pyfpta и пакет ptnad_11.1*.deb.

В открывшемся окне выбираем опцию All-in-one.
Перезапускаем nginx-сервер, активируем автозапуск для служб nad-web-server и nad-task-server и запускаем их.

Настройка с помощью конфигуратора

В версии 11.1 появился конфигуратор, позволяющий в автоматическом режиме проводить настройку системы. Доступен конфигуратор только при использовании мастера установки. Для его запуска необходимо использовать команду nad-configure.

После выполнение команды появляется приветственное окно. Для начальной настройки необходимо нажать «Continue».

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

Затем будет необходимо указать MTU, предельную скорость обрабатываемого трафика, ip-адрес устройства захвата трафика при использовании ERSPAN и настройки хранения метаданных.

В последнем окне мы можем проверить все вносимые в конфигурацию изменения и подтвердить их. По завершению настройки будет предложено перезагрузить сервер — выберем опцию Yes.

Перезагрузка выполнится через минуту.

Настройка в ручном режиме

С помощью команды ptdpictl devlist получаем список всех сетевых интерфейсов в системе. Идентификаторы интерфейсов записываем в конфигурационный файл в поле capture_if, а также распределяем потоки по различным задачам модуля ptdpi.
Для того чтобы другие процессы не нагружали ядра, выделенные для модуля ptdpi, их необходимо изолировать. Для этого воспользуемся утилитой, входящей в состав дистрибутива, выполнив команду: /opt/ptsecurity/dpi/ptdpi.sh.

Строку-вывод команды необходимо записать в конец файла /etc/default/grub, закомментировав строку, аналогичную добавленной. После этого необходимо обновить конфигурацию GRUB и перезапустить сервер.
Меняем владельца и группу владельца каталога /pcaps на ptdpi: ptdpi.

В конфигурационном файле /opt/ptsecurity/etc/ptdpi.settings.yaml раскомментируем параметр pcap_path и укажем в нем путь к каталогу для хранения сырого трафика /pcaps.
Устанавливаем службы для обогащения метаданных.
Выполнив команду /opt/ptsecurity/nad/bin/manage commit, установим пакеты данных для работы системы обогащения метаданных. В конфигурационном файле ptdpi.settings.yaml раскомментируем параметр workers и перечислим в нем все используемые модули обогащения.
В конфигурационном файле ptdpi.settings.yaml определим количество создаваемых шардов и продолжительность срока хранения метаданных.

Параметр es_online_shards отвечает за количество осколков индекса, приходящийся на метаданные от поступающего трафика.

es_offline_shards — количество шардов, содержащих индексы метаданных от импортированных pcap-файлов.

es_store_days указывает максимальный срок хранения метаданных. В примере значения оставлены по умолчанию.

После внесения изменений перезапускаем модуль ptdpi и все его службы.
В самом конце установим модуль ptdpistat, добавим его в автозапуск и переведем в активное состояние.

Проверка работы

После завершения этапов установки и настройки проверяем работу продукта.
Для этого подключаемся к веб-серверу по адресу нашего сервера. Откроется окно авторизации. Для первого входа можно воспользоваться учетной записью по умолчанию: логин — administrator, пароль — Administr@t0r.
При успешном входе откроется вкладка с дашбордами.

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

Возможно, нужно будет подождать несколько минут, прежде чем обработанный трафик отразится в интерфейсе.
Также мы можем зайти во вкладку «Администрирование» (иконка разводного ключа в правом верхнем углу) в раздел «Сенсоры и убедиться», что сенсор включен и отображается верное название сенсора.

Заключение

Завершаем третью статью курса «PT NAD Getting Started»: в ней мы подробно разобрали процесс установки и настройки PT NAD All-in-one как в автоматическом, так и в ручном режиме.

Наша основная рекомендация: использовать мастер установки и конфигуратор. Однако при их некорректной работе или отсутствии (например.более старая версия продукта) можно прибегнуть к установке вручную.

В следующей статье курса мы изучим процесс установки и настройки PT NAD в многосерверном исполнении.

До встречи на TS University!