3.4 KiB
3.4 KiB
План задач по маскировке и шифрованию данных
1. Анализ данных
- Определить, какие поля и таблицы содержат чувствительные данные (например, email, ФИО, адрес, сообщения, вложения).
- Составить список полей для маскировки (для user/guest) и для шифрования (для хранения в БД).
2. Маскировка данных (токенизация)
- Реализовать функцию маскировки на backend (Node.js):
- Для ролей user/guest возвращать токены вместо реальных данных (например,
token_<id>). - Для admin возвращать реальные значения.
- Для ролей user/guest возвращать токены вместо реальных данных (например,
- Внедрить маскировку в API-эндпоинты, возвращающие списки пользователей, чатов, сообщений и т.д.
- Обновить frontend для корректного отображения токенов и подсказок (например, «Данные скрыты, доступ только администратору»).
3. Шифрование данных при хранении
- Выбрать алгоритм шифрования (например, AES-256-GCM).
- Реализовать функции шифрования/дешифрования на backend для чувствительных полей.
- Хранить ключи шифрования только в переменных окружения (не в коде и не в БД).
- Мигрировать существующие данные: зашифровать чувствительные поля в БД.
- Обновить логику создания/обновления записей: шифровать данные перед сохранением.
- Обновить логику чтения: расшифровывать данные для admin, возвращать токены для user/guest.
4. Шифрование файлов и вложений
- Реализовать шифрование файлов/вложений перед сохранением на диск или в облако.
- Обеспечить расшифровку файлов только для admin.
5. Безопасное хранение ключей
- Настроить хранение ключей шифрования в переменных окружения (Akash/Flux Cloud).
- Обновить Dockerfile и инструкции деплоя для поддержки секретов.
6. Тестирование и аудит
- Провести тестирование маскировки и шифрования для всех ролей.
- Проверить, что admin видит реальные данные, user/guest — только токены.
- Провести аудит безопасности (внешний или внутренний).
7. Документация
- Описать логику маскировки и шифрования в README или отдельном разделе.
- Добавить инструкции по настройке переменных окружения и деплою на Akash/Flux Cloud.