37 lines
3.4 KiB
Markdown
37 lines
3.4 KiB
Markdown
# План задач по маскировке и шифрованию данных
|
|
|
|
## 1. Анализ данных
|
|
- [ ] Определить, какие поля и таблицы содержат чувствительные данные (например, email, ФИО, адрес, сообщения, вложения).
|
|
- [ ] Составить список полей для маскировки (для user/guest) и для шифрования (для хранения в БД).
|
|
|
|
## 2. Маскировка данных (токенизация)
|
|
- [ ] Реализовать функцию маскировки на backend (Node.js):
|
|
- [ ] Для ролей user/guest возвращать токены вместо реальных данных (например, `token_<id>`).
|
|
- [ ] Для admin возвращать реальные значения.
|
|
- [ ] Внедрить маскировку в 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. |