Документация по обеспечению безопасности DMT-SERVER
1. Хранение конфигурационных данных
- Несекретные конфиденциальные данные хранятся в
.env. - Секретные параметры хранятся через Docker Swarm Secrets.
2. Безопасность внешних соединений
- Все внешние соединения защищены SSL/TLS.
- Для настройки SSL/TLS необходимо выполнить команду:
dmt-server reconfigure - В переменной «Путь к файлу SSL-сертификата» необходимо указать полный путь до файла сертификата.
- В переменной «Путь к файлу SSL-ключа» необходимо указать полный путь до файла ключа.
- В переменной «Адрес хоста в сети» необходимо указать доменное имя (например:
example.com). - В переменную «Дополнительные разрешенные источники запросов (через пробел)» необходимо продублировать ранее указанное доменное имя
(например:https://example.com).
3. Интерфейс возвращающий информацию о фактическом состоянии объектов аудита ИБ
Для получения информации о фактическом состоянии объектов аудита ИБ необходимо выполнить команду dmt-server reconfigure с хостовой машины.
Откроется конфигуратор, отображающий все необходимые данные по состояниям параметров аудита ИБ.
Основные параметры системы
- Идентификатор системы: DMT-Server
- Адрес хоста в сети: xx.xx.xx.xx
- Дополнительные адреса хоста (через пробел): your-domain.com
- Дополнительные разрешенные источники запросов (через пробел): http://your-domain.com:801
- HTTP-порт веб-сервера: 80
- HTTPS-порт веб-сервера: 443
- Директория хранения загружаемых файлов: uploads_volume
- Включить принудительное использование HTTPS (Y/n): false
- Количество процессов веб-сервера: 6
- Часовой пояс: Europe/Moscow
- Минимальная длина пароля: 8
- Пароль должен содержать буквы в разных регистрах: false
- Пароль должен содержать цифры: true
- Пароль должен содержать спецсимволы: false
- Глубина истории паролей: 3
- Обязательное изменение пароля при первом входе (Y/n): true
- Ограничить время жизни пароля (Y/n): true
- Время жизни пароля (дней): 31
- Блокировать IP-адрес при превышении лимита попыток входа (Y/n): true
- Лимит неудачных попыток входа: 3
- Продолжительность блокировки IP-адреса (часов): 1
- Режим debug (Y/n): true
- Демо-режим (Y/n): false
- Путь к файлу SSL-сертификата:
- Путь к файлу SSL-ключа:
- Аутентификация и авторизация через Keycloak (Y/n): true
- Внешний URL сервера Keycloak: https://keyckoak.local:443
- Внутренний URL сервера Keycloak: https://keyckoak.local:443
- Наименование Keycloak Realm: RM-10000
- ID клиента Keycloak: dmt-server
- Время жизни сессии (сек): 120
Параметры логирования
- Время хранения файлов журнала аудита безопасности (дней): 1
- Время хранения файлов журнала системных событий (дней): 1
- Время хранения сервисных лог-файлов (дней): 1
- Использовать syslog (Y/n): true
- Адрес сервера syslog: udp://хх.хх.хх.хх:хххх
4. Механизмы защиты от атак
- Валидация входных данных на API.
- Каждый сервис запускается в отдельном контейнере.
- Минимальный сетевой доступ к контейнерам (ограничение экспонируемых портов).
5. Состав продукта и используемые порты
5.1. Проброшены наружу (доступны с хоста)
- nginx
80→80/tcp443→443/tcp
- dmt-keycloak
9096→8080/tcp
- qr-service
6061→8000/tcp
5.2. Не проброшены наружу (только внутри docker-сети)
- dmt-worker — портов нет
- dmt-beat — портов нет
- dmt-web — портов нет
- postgres —
5432/tcp(внутренний) - websocket_service — портов нет
- redis —
6379/tcp(внутренний)
6. Регистрация событий ИБ
6.1. Регистрируемые события ИБ
Пользователи
user_created— Пользователь созданuser_updated— Данные пользователя измененыuser_removed— Пользователь удалёнuser_privileges_updated— Права пользователя изменены
Подразделения / юниты
unit_created— Подразделение (юнит) созданоunit_updated— Подразделение (юнит) измененоunit_removed— Подразделение (юнит) удалено
Файлы
file_created— Файл созданfile_updated— Файл изменёнfile_removed— Файл удалён
Регистраторы
registrar_created— Регистратор созданregistrar_updated— Регистратор изменёнregistrar_removed— Регистратор удалён
Связь пользователь ↔ подразделение
user_added_to_unit— Пользователь добавлен в подразделениеuser_removed_from_unit— Пользователь удалён из подразделенияuser_moved_to_another_unit— Пользователь перемещён в другое подразделение
Системные настройки
system_settings_changed— Системные настройки измененыsystem_id_changed— Идентификатор системы изменён
Журналирование ИБ
sec_log_params_changed— Параметры журналирования ИБ изменены
Прочее
unspecified_event— Неопределённое событие
7. Хранилища данных
7.1. Docker Volumes
static_volumemedia_volumecache
7.2. uploads_volume / внешний путь
Изначально данные предполагается хранить в volume, но при развертке системы можно указать другой путь.
Поэтому в конфигурациях используется переменная: ${UPLOADS_PATH}
7.3. Использование volumes в контейнерах
web
static_volume:/home/app/web/staticmedia_volume:/home/app/web/media/content
nginx
static_volume:/home/app/web/static:romedia_volume:/home/app/web/media/content:ro
redis
cache:/data
8. Требования к бэкапам
- postgres_volume — обязательно
${UPLOADS_PATH}илиmedia_volume— опционально- (опционально) ИБ-логи:
/var/log/dmt-server/audit
9. Процедура обращения к вендору (SECURITY)
- Сбор информации (логи, конфигурации, описание механизма воспроизведения).
- Обращение на почту s@dmtreg.ru (общая) или i@dmtreg.ru (отдел IT).
- Координация внедрения исправления (fix).
- Выпуск обновления с исправлениями.