Post-Install Security: защита инфраструктуры АП и СУБД — расширенные настройки - Публичная база знаний Modus
Общая информация
В современном мире безопасность информационных данных формируется комплексом организационных и технических мер, обеспечивающих конфиденциальность, целостность и доступность на всех этапах их жизненного цикла. В современных реалиях стратегия защиты эволюционирует: на смену защите периметра приходит концепция изоляции на уровне компонентов с жёстким контролем прав доступа.
В данной статье рассмотрены аспекты защиты Modus BI на всех уровнях — от внешнего веб-интерфейса до внутренних баз данных.
Защита периметра: настройка Nginx как обратного прокси
Nginx функционирует как внешний рубеж безопасности, маскируя внутреннюю архитектуру и осуществляя базовую фильтрацию и лимитирование трафика. Подробнее о базовой настройке Nginx см. раздел «Как настроить https с прокси-сервером».
Ключевые аспекты:
- Сокрытие инфраструктуры — Nginx маскирует реальные серверы приложений и СУБД, предоставляя единую точку входа.
- Буферизация запросов — позволяет контролировать размер и скорость загрузки клиентских запросов, предотвращая перегрузку серверов.
- ACL и IP-фильтрация — ограничение доступа к административным интерфейсам (/admin) только по доверенным IP-адресам корпоративной сети или VPN.
- Изоляция SSL/TLS — все криптографические операции выполняются на Nginx, что упрощает управление сертификатами и снижает нагрузку на внутренние сервисы.
- Защита от DoS/DDoS — настройка
limit_req_zoneиlimit_conn_zoneограничивает частоту запросов с одного IP, смягчая атаки на уровне приложения. -
Дополнительные заголовки — добавление заголовков безопасности (
X-Frame-Options, X-Content-Type-Options, Content-Security-Policy) защищает от распространенных веб-уязвимостей (кликджекинг, MIME-sniffing).
Пример конфигурационного файла Nginx:
server {
listen 443 ssl;
http2 on;
server_name portal.company.com;
# SSL/TLS конфигурация
ssl_certificate /etc/ssl/certs/portal.crt;
ssl_certificate_key /etc/ssl/private/portal.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# Разрешенный размер загружаемых файлов (для mbu)
client_max_body_size 100m;
# Основное проксирование
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Принцип минимальных привилегий для СУБД
Взаимодействие аналитического портала с базами данных строится на строгом разделении прав.
Примечание. Запрещено использование учетных записей суперпользователей (sa, postgres, root).
Обеспечение безопасности аналитического портала реализуется через ролевое разграничение доступа (RBAC) к отчетам и данным, а также настройку динамического контроля на уровне записей (RLS) с использованием пользовательских переменных, подробнее см. разделы «Пользователи, роли, профиль доступа к отчетам» и «Настройка прав доступа на уровне записей (RLS)».
Таблица: Права доступа аналитического портала к СУБД
Для обеспечения защиты первичных данных от модификации аналитическими сервисами и оптимизации управления доступом рекомендуется придерживаться правил, представленных в таблице:
|
Роль/ назначение |
СУБД |
Необходимые права |
Пример SQL команды для создания пользователя/назначения прав |
Примечание |
|
Учетная запись для метаданных портала |
PostgreSQL |
|
|
Подробнее о рекомендациях по установке, настройках сервера, управлению пользователями и базами данных, а также об обслуживании СУБД, см. документацию вендора Часть III. Администрирование сервера PostgreSQL. |
|
Учетная запись для базы-источника |
PostgreSQL |
|
|
|
|
Учетная запись для базы |
PostgreSQL |
|
Обратите внимание! При такой конфигурации работа и включение механизмов RLS (Row Level Security) будут невозможны.
|
|
|
Учетная запись для витрин данных (чтение) |
ClickHouse |
|
|
Подробнее о рекомендациях по установке, настройках сервера, управлению пользователями и базами данных, а также об обслуживании СУБД, см. документацию вендора Администрирование сервера ClickHouse. |
|
Подключение к внешним источникам |
Любая |
Только |
Создание роли |
Изоляция на уровне операционной системы
Сервисы запускаются под отдельными системными пользователями, что ограничивает ущерб в случае компрометации одного из них.
Конфигурирование для Linux
# Создание системного пользователя без прав входа
sudo useradd -r -s /usr/sbin/nologin modusbi
# # Настройка прав на рабочие директории
sudo chown -R modusbi:modusbi /opt/modusbi /var/log/modusbi
Конфигурация systemd службы (/etc/systemd/system/modusbi.service)
ini
User=modusbi
Group=modusbi
Конфигурирование для Windows
Для обеспечения изолированной работы приложения без прав на изменение системных файлов или данных других сервисов необходимо следовать следующим правилам:
- Создание локальной учетной записи
modusbi(без прав администратора); - Настройка запуска службы портала от имени этой учетной записи;
- Назначение прав
NTFSна директорию с установленным ПО ModusBI (пример:C:\Program Files\ModusBI), алгоритм:- Нажмите ПКМ → Свойства → Безопасность → Изменить.
- Добавить пользователя
modusbi. - Установить права:
Изменение.

-
Система автоматически предоставляет право
Logon as a service.
Дополнительные уровни защиты
Для усиления рассмотренных в статье мер, дополнительно рекомендуем применять:
- Изолированный сетевой контур — серверы аналитического портала и СУБД не имеют прямого выхода в интернет. Доступ для обновлений и мониторинга осуществляется через строго контролируемые шлюзы.
- Требования к паролям:
- Использование парольных фраз длиной от 12-14 символов (например, Traktor-Kofe-Sputnik-88!);
- Уникальные сложные пароли для каждой учетной записи СУБД;
- Регламентная смена сервисных паролей, особенно при кадровых изменениях.
- Управление аутентификацией портала (Настройки → Настройки безопасности → Настройки аутентификации):
- Количество попыток: 5 (вместо 10 по умолчанию);
- Время блокировки: 1800 секунд (30 минут);
- Интервал между попытками: 600 секунд (10 минут).
- Регулярное обновление ПО: систематическое применение патчей к ОС, СУБД (PostgreSQL, ClickHouse), Nginx и аналитическому порталу для устранения известных уязвимостей.

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