Документация по обеспечению безопасности DMT-SERVER
1. Хранение конфигурационных данных
- Несекретные конфиденциальные данные хранятся в
.env. - Секретные параметры хранятся через Docker Swarm Secrets.
2. Безопасность внешних соединений
- Все внешние соединения защищены SSL/TLS.
3. Механизмы защиты от атак
- Валидация входных данных на API.
- Каждый сервис запускается в отдельном контейнере.
- Минимальный сетевой доступ к контейнерам (ограничение экспонируемых портов).
4. Состав продукта и используемые порты
4.1. Проброшены наружу (доступны с хоста)
-
nginx
4433→80/tcp1111→443/tcp
-
dmt-keycloak
9096→8080/tcp
-
qr-service
6061→8000/tcp
4.2. Не проброшены наружу (только внутри docker-сети)
- dmt-worker — портов нет
- dmt-beat — портов нет
- dmt-web — портов нет
- postgres —
5432/tcp(внутренний) - websocket_service — портов нет
- redis —
6379/tcp(внутренний)
5. Регистрация событий ИБ
5.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— Неопределённое событие
6. Хранилища данных
6.1. Docker Volumes
static_volumemedia_volumecache
6.2. uploads_volume / внешний путь
Изначально данные предполагается хранить в volume, но при развертке системы можно указать другой путь.
Поэтому в конфигурациях используется переменная: ${UPLOADS_PATH}
6.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
7. Требования к бэкапам
- postgres_volume — обязательно
${UPLOADS_PATH}илиmedia_volume— опционально- (опционально) ИБ-логи:
/var/log/dmt-server/audit
8. Процедура обращения к вендору (SECURITY)
- Сбор информации (логи, конфигурации, описание механизма воспроизведения).
- Обращение на почту s@dmtreg.ru (общая) или i@dmtreg.ru (отдел IT).
- Координация внедрения исправления (fix).
- Выпуск обновления с исправлениями.