Информационная безопасность
Информационная безопасность¶
Аутентификация¶
Механизмы аутентификации¶
- Использование JWT (JSON Web Tokens) для аутентификации пользователей
- Хеширование паролей с использованием алгоритма bcrypt
- Поддержка интеграции с LDAP/Active Directory для централизованной аутентификации
- Время жизни токена настраивается (по умолчанию 7 дней)
- Автоматический выход из системы при истечении срока действия токена
Управление сессиями¶
- Stateless архитектура — состояние сессии не сохраняется на сервере
- Токены хранятся на клиентской стороне
- Возможность отзыва токенов при необходимости
Авторизация¶
Разграничение прав доступа¶
Система использует ролевую модель доступа (RBAC — Role-Based Access Control) с тремя уровнями доступа:
- Администратор — полный доступ ко всем функциям системы
- Библиотекарь — выполнение операций с книгами, управление бронированиями, проведение инвентаризации
- Читатель — просмотр каталога, бронирование книг, просмотр личной информации
Защита маршрутов¶
- Защита маршрутов на уровне frontend и backend
- Проверка прав доступа при выполнении операций
- Middleware для проверки ролей пользователей
Защита от несанкционированного доступа¶
CSRF защита¶
- Защита от CSRF-атак через токены CSRF
- Токены автоматически генерируются и проверяются для изменяющих запросов (POST, PUT, DELETE)
Защита HTTP-заголовков¶
- Использование библиотеки Helmet для защиты HTTP-заголовков
- Настройка политики безопасности контента (CSP)
- Защита от clickjacking
CORS¶
- Настройка CORS для ограничения источников запросов
- Конфигурируемые разрешенные домены
- Защита от несанкционированных cross-origin запросов
Rate Limiting¶
- Ограничение частоты запросов для предотвращения злоупотреблений
- По умолчанию: 100 запросов в минуту на IP
- Специальные лимиты для аутентификации: 5 попыток входа в минуту на IP
Валидация входных данных¶
- Валидация всех входных данных на уровне API
- Использование express-validator для проверки запросов
- Валидация на уровне модели данных (Sequelize)
- Защита от SQL-инъекций через использование ORM (Sequelize) с параметризованными запросами
- Защита от XSS через санитизацию пользовательского ввода
Защита данных¶
Хранение паролей¶
- Пароли пользователей хранятся в захешированном виде
- Использование алгоритма bcrypt с солью
- Невозможность восстановления исходного пароля из хеша
Шифрование трафика¶
- Возможность использования HTTPS для шифрования трафика
- Рекомендуется использование SSL/TLS сертификатов в production окружении
Ограничение доступа к персональным данным¶
- Ограничение доступа к персональным данным пользователей в соответствии с ролью
- Читатели видят только свои данные
- Библиотекари и администраторы имеют доступ к данным пользователей в рамках своих полномочий
Политика хранения данных¶
- Возможность настройки политики хранения данных
- Удаление или архивирование данных в соответствии с требованиями
Логирование¶
Типы логируемых событий¶
- Логирование всех операций с книгами (выдача, возврат, списание, продление)
- Логирование действий администраторов (создание/изменение пользователей, настройки системы)
- Логирование попыток входа в систему
- Логирование ошибок и исключительных ситуаций
Хранение логов¶
- Хранение логов в файлах с ротацией
- Уровни логирования: debug, info, warn, error
- Структурированное логирование для удобства анализа
Аудит¶
- История всех операций сохраняется в базе данных
- Возможность отслеживания действий пользователей
- Экспорт логов для анализа
Меры по обеспечению целостности данных¶
Транзакции¶
- Использование транзакций базы данных для атомарности операций
- Обеспечение ACID-свойств (Atomicity, Consistency, Isolation, Durability)
- Откат изменений при возникновении ошибок
Ограничения целостности¶
- Ограничения целостности на уровне БД (foreign keys, unique constraints)
- Валидация данных на уровне приложения и базы данных
- Предотвращение некорректных операций через триггеры
Идемпотентность¶
- Идемпотентность критических операций для предотвращения дублирования
- Использование уникальных идентификаторов для предотвращения дублирования
- Повторная обработка запросов без побочных эффектов
Резервное копирование¶
- Рекомендуется регулярное резервное копирование базы данных
- Хранение резервных копий на отдельном носителе
- Тестирование восстановления из резервных копий
Соответствие требованиям законодательства¶
Федеральный закон № 152-ФЗ «О персональных данных»¶
Система может быть использована при соблюдении требований Федерального закона № 152-ФЗ «О персональных данных» при соответствующей настройке и конфигурации:
- Обработка персональных данных пользователей
- Ограничение доступа к персональным данным
- Логирование операций с персональными данными
- Возможность настройки политики хранения данных
Использование в информационных системах персональных данных¶
Система может быть использована в информационных системах персональных данных при соблюдении требований заказчика к защите информации.
Сертификация¶
Для использования в системах, требующих сертификации ФСТЭК России или ФСБ России, необходимо проведение дополнительных работ по адаптации и сертификации (не входит в базовую поставку).
Главная | О системе | Архитектура | Внедрение и сопровождение