Skip to content

Информационная безопасность

Информационная безопасность

Аутентификация

Механизмы аутентификации

  • Использование 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-ФЗ «О персональных данных» при соответствующей настройке и конфигурации:

  • Обработка персональных данных пользователей
  • Ограничение доступа к персональным данным
  • Логирование операций с персональными данными
  • Возможность настройки политики хранения данных

Использование в информационных системах персональных данных

Система может быть использована в информационных системах персональных данных при соблюдении требований заказчика к защите информации.

Сертификация

Для использования в системах, требующих сертификации ФСТЭК России или ФСБ России, необходимо проведение дополнительных работ по адаптации и сертификации (не входит в базовую поставку).


Главная | О системе | Архитектура | Внедрение и сопровождение