Подробный гайд: Архитектура и размещение БД PostgreSQL в Secret Net Studio

База данных Secret Net Studio (PostgreSQL) хранит политики и инциденты. Рекомендуется выделенный SSD-сервер для стабильности и скорости при нагрузке от 500 агентов.

2026.07.16                  


Подробный гайд: Архитектура и размещение БД PostgreSQL в Secret Net StudioПодробный гайд: Архитектура и размещение БД PostgreSQL в Secret Net Studio Подготовка архитектуры и правильное расположение базы данных (БД) — один из самых критичных этапов внедрения Secret Net Studio (SNS). От этого зависит быстродействие системы, возможность масштабирования и стабильность работы.


В Secret Net Studio в качестве основной СУБД используется PostgreSQL. Она хранит конфигурацию, политики, метаданные инцидентов, информацию об агентах и пользователях.


Примечание:

Не путайте её с базой данных Сервера поиска на базе Elasticsearch/OpenSearch, которая хранит полнотекстовые индексы и тела документов.


Ниже представлен подробный гайд по вариантам расположения БД, требованиям иbest practices.


1. Варианты архитектуры размещения БД

Выбор схемы зависит от количества защищаемых рабочих станций/серверов (агентов) и требований к отказоустойчивости.


Вариант А: Единый сервер (All-in-One)

Все компоненты SNS (Сервер управления, БД PostgreSQL, Сервер поиска) устанавливаются на один физический или виртуальный сервер.

  • Для чего подходит: Тестовые среды, малый бизнес (до 300–500 агентов).
  • Плюсы: Простота развертывания, нет задержек сети между компонентами.
  • Минусы: Высокая конкуренция за ресурсы (CPU, RAM, Disk I/O). При падении сервера останавливается вся система.

Вариант Б: Распределенная архитектура (Выделенный сервер БД)

Сервер управления и Сервер поиска находятся на своих серверах, а PostgreSQL вынесена на отдельную выделенную машину.

  • Для чего подходит: Средний и крупный бизнес (от 500 до 5000+ агентов). Рекомендуемый вариант для продакшена.
  • Плюсы: Изоляция нагрузок. БД не страдает от нехватки памяти, когда Сервер поиска индексирует большие объемы данных. Легче масштабировать.
  • Минусы: Требуется настройка сети, появляются требования к пропускной способности канала между Сервером управления и БД.

Вариант В: Кластер БД (High Availability)

Использование кластера PostgreSQL (например, на базе Patroni или штатных механизмов SNS, если поддерживается вашей версией).

  • Для чего подходит: Критичные инфраструктуры, предприятия с жесткими требованиями к SLA и отказоустойчивости.
  • Плюсы: Отсутствие единой точки отказа (SPOF) для базы данных.
  • Минусы: Сложность администрирования, требуются лицензии на соответствующие компоненты (если используются проприетарные кластерные решения).

2. Аппаратные требования к серверу БД

Если вы выбираете Вариант Б (Выделенный сервер), к его ресурсам предъявляются строгие требования:

Дисковая подсистема (Критично!):

  • Обязательно SSD (или NVMe). Использование HDD для БД DLP-системы категорически не рекомендуется из-за огромного количества операций случайного чтения/записи (IOPS).
  • Идеальная схема: Разнести по разным физическим дискам/томам: 1) ОС, 2) Данные БД (pgdata), 3) WAL-журналы (Write-Ahead Logs). Это кратно повысит скорость записи.

Оперативная память (RAM):

  • Минимум: 16 ГБ (для малых инсталляций).
  • Рекомендуется: 32–64 ГБ и более. PostgreSQL отлично кэширует данные в RAM. Чем больше памяти, тем меньше обращений к диску.

Процессор (CPU):

  • Чем больше ядер, тем лучше. PostgreSQL умеет распараллеливать выполнение сложных запросов. Рекомендуется от 8 до 16+ ядер (vCPU).

3. Сетевые требования и безопасность

1. Порт:

Сервер БД должен слушать порт TCP 5432.


2. Сеть:

Сервер управления и Сервер БД должны находиться в одной локальной сети (или соединены каналом с задержкой < 1-2 мс и высокой пропускной способностью). Не размещайте БД в другом городе или за медленным WAN-каналом.


3. Безопасность:

  • Ограничьте доступ к порту 5432 на уровне firewall/iptables. Разрешите подключения только с IP-адреса Сервера управления SNS.
  • Обязательно смените стандартный пароль для пользователя postgres и создайте отдельного пользователя для SNS с правами только на нужную БД.

4. Пошаговый алгоритм развертывания (для распределенной схемы)

Примечание:

Интерфейс установщика может немного отличаться в зависимости от версии SNS (7.x или 8.x), но логика сохраняется.


Шаг 1: Подготовка сервера БД

  1. Установите поддерживаемую ОС (Astra Linux, Alt Linux, РОСА, Ubuntu и т.д. — согласно листу совместимости вашей версии SNS).
  2. Установите PostgreSQL нужной версии (обычно установщик SNS сам предлагает установить нужную версию, либо она ставится из репозиториев ОС).
3. Настройте postgresql.conf и pg_hba.conf:
  • В postgresql.conf укажите listen_addresses = '*' (или конкретный IP).
  • В pg_hba.conf разрешите подключение с IP Сервера управления SNS (метод аутентификации md5 или scram-sha-256).
4. Перезапустите службу PostgreSQL.

Шаг 2: Установка Сервера управления SNS

  1. Запустите инсталлятор Secret Net Studio на сервере управления.
  2. На этапе выбора типа базы данных выберите «Удаленная база данных» (или «Существующая СУБД»).
3. Введите параметры подключения:
  • IP-адрес сервера БД.
  • Порт (5432).
  • Логин и пароль суперпользователя PostgreSQL (для создания структуры БД).
  • Имя создаваемой базы данных (по умолчанию обычно sns или secret_net).
4. Продолжите установку. Инсталлятор создаст структуру таблиц, индексы и базовые данные.

5. Миграция БД на другой сервер (если система уже работает)

Если вам потребовалось перенести БД с единого сервера на выделенный:

  1. Остановите службы SNS на Сервере управления (systemctl stop sns-server или через панель управления).

2. Сделайте дамп БД на старом сервере:

   pg_dump -U postgres -Fc -Z9 -f sns_backup.dump имя_базы_sns

3. Перенесите дамп на новый сервер БД.


4. Восстановите дамп на новом сервере:

   pg_restore -U postgres -d имя_базы_sns -Fc sns_backup.dump

  1. Обновите конфигурацию SNS на Сервере управления. Обычно это делается через файл конфигурации БД (например, /opt/SecretNetStudio/config/db_config.ini или аналогичный, зависит от версии) или через повторный запуск инсталлятора в режиме изменения конфигурации. Укажите новый IP.

  1. Запустите службы SNS и проверьте доступность консоли.

6. Best Practices (Рекомендации от эксперта)

При эксплуатации БД для Secret Net Studio обратите внимание на следующие нюансы:

1. Контроль размера БД:

Таблица с событиями (инцидентами) растет очень быстро. Обязательно настройте в консоли SNS Политики архивации и очистки (Retention Policy). Удаляйте или переносите в архив события старше 30/60/90 дней, иначе БД разрастется до сотен гигабайт, что убьет производительность.


2. Регулярное бэкапирование:

Не надейтесь только на снапшоты виртуальных машин. Настройте автоматический дамп БД через cron (например, каждую ночь) с выгрузкой файлов на внешнее файловое хранилище (NFS/SMB/Backup Server).


3. Автоанализ (Autovacuum):

Убедитесь, что в postgresql.conf включен и правильно настроен autovacuum. DLP-система генерирует много операций UPDATE и DELETE, без вакуума таблицы "разбухнут" мёртвыми кортежами.


4. Мониторинг:

Подключите метрики PostgreSQL к вашей системе мониторинга (Zabbix, Prometheus). Следите за параметрами: количество активных подключений, размер БД, время отклика, наличие долгих транзакций.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта