Skip to content

DepartmentOfSoftwareEngineeringFEFU/M9123-01.04.02pmi_Ezhov_Aleksei

Repository files navigation

ВКР Магистра Ежова А. О. по теме "ПРИМЕНЕНИЕ ТЕХНОЛОГИЙ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ АВТОМАТИЗАЦИИ ОБНАРУЖЕНИЯ АНОМАЛИЙ В ИНФОРМАЦИОННЫХ СИСТЕМАХ И СЕТЯХ". Образ результата - PAM-Система с модулем анализа поведенческих паттернов пользователей на базе ML. Научный руководитель - Чусова А. Е., Консультант - Артемьева И. Л.

Описание

PAM System - это комплексная система управления привилегированным доступом (Privileged Access Management), разработанная для обеспечения безопасности критически важных ресурсов организации.

Основные возможности

🔐 Управление учетными данными

  • Централизованное хранение привилегированных учетных данных
  • Автоматическая ротация паролей
  • Шифрование учетных данных
  • Контроль доступа к учетным данным

👥 Управление пользователями

  • Ролевая модель доступа (Администратор, Оператор, Аудитор, Пользователь)
  • Управление жизненным циклом пользователей
  • Временные ограничения доступа
  • Двухфакторная аутентификация

🖥️ Управление сессиями

  • Мониторинг привилегированных сессий
  • Запись активности сессий
  • Автоматическое завершение неактивных сессий
  • Обнаружение аномальной активности

📋 Политики безопасности

  • Гибкие политики доступа
  • Временные ограничения
  • IP-фильтрация
  • Workflow утверждений

📊 Аудит и отчетность

  • Полное логирование всех действий
  • Отчеты соответствия
  • Обнаружение аномалий
  • Алерты безопасности

📈 Дашборд и мониторинг

  • Обзор состояния системы
  • Статистика использования
  • Мониторинг безопасности
  • Уведомления в реальном времени

Архитектура системы

Backend (Flask)

  • Flask - веб-фреймворк
  • SQLAlchemy - ORM для работы с базой данных
  • Flask-CORS - поддержка CORS
  • Cryptography - шифрование данных
  • BCrypt - хеширование паролей

Frontend (HTML/CSS/JavaScript)

  • Bootstrap 5 - UI фреймворк
  • Font Awesome - иконки
  • Vanilla JavaScript - логика интерфейса

База данных

  • SQLite (по умолчанию) / PostgreSQL (для продакшена)

Установка и запуск

Требования

  • Python 3.8+
  • pip

Установка зависимостей

pip install -r requirements.txt

Запуск системы

python src/main.py

Система будет доступна по адресу: http://localhost:5000

Учетные данные по умолчанию

  • Администратор: admin / admin123
  • Оператор: operator / operator123
  • Аудитор: auditor / auditor123
  • Пользователь: user / user123

⚠️ ВАЖНО: Обязательно измените пароли по умолчанию в продакшене!

Структура проекта

pam_system/
├── src/
│   ├── main.py                 # Главный файл приложения
│   ├── models/                 # Модели данных
│   │   ├── privileged_user.py  # Модель пользователей
│   │   ├── credential.py       # Модель учетных данных
│   │   ├── session.py          # Модель сессий
│   │   ├── audit.py           # Модель аудита
│   │   └── policy.py          # Модель политик
│   ├── routes/                 # API маршруты
│   │   ├── auth.py            # Аутентификация
│   │   ├── users.py           # Управление пользователями
│   │   ├── credentials.py     # Управление учетными данными
│   │   ├── sessions.py        # Управление сессиями
│   │   ├── audit.py           # Аудит и отчетность
│   │   ├── policies.py        # Политики доступа
│   │   └── dashboard.py       # Дашборд
│   └── static/
│       └── index.html         # Веб-интерфейс
├── requirements.txt           # Зависимости Python
└── README.md                 # Документация

API Endpoints

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

  • POST /api/auth/login - Вход в систему
  • POST /api/auth/logout - Выход из системы
  • GET /api/auth/check-session - Проверка сессии

Пользователи

  • GET /api/users - Список пользователей
  • POST /api/users - Создание пользователя
  • PUT /api/users/{id} - Обновление пользователя
  • DELETE /api/users/{id} - Удаление пользователя

Учетные данные

  • GET /api/credentials - Список учетных данных
  • POST /api/credentials - Создание учетных данных
  • POST /api/credentials/{id}/access - Доступ к учетным данным
  • POST /api/credentials/{id}/rotate - Ротация учетных данных

Сессии

  • GET /api/sessions - Список сессий
  • POST /api/sessions - Создание сессии
  • POST /api/sessions/{id}/terminate - Завершение сессии
  • GET /api/sessions/active - Активные сессии

Политики

  • GET /api/policies - Список политик
  • POST /api/policies - Создание политики
  • POST /api/policies/evaluate - Оценка политик

Аудит

  • GET /api/audit/logs - Журнал аудита
  • GET /api/audit/statistics - Статистика аудита
  • POST /api/audit/reports - Генерация отчетов

Дашборд

  • GET /api/dashboard/overview - Общий обзор
  • GET /api/dashboard/security-alerts - Алерты безопасности
  • GET /api/dashboard/system-health - Состояние системы

Модель данных

Пользователи (PrivilegedUser)

  • Роли: ADMIN, OPERATOR, AUDITOR, USER
  • Статусы: ACTIVE, INACTIVE, LOCKED, EXPIRED
  • Временные ограничения доступа
  • История входов

Учетные данные (PrivilegedCredential)

  • Типы: PASSWORD, SSH_KEY, API_KEY, DATABASE, CERTIFICATE
  • Автоматическая ротация
  • Шифрование данных
  • Контроль доступа

Сессии (PrivilegedSession)

  • Типы: SSH, RDP, DATABASE, WEB, API
  • Мониторинг активности
  • Запись команд
  • Обнаружение аномалий

Политики (AccessPolicy)

  • Типы: TIME_BASED, IP_BASED, ROLE_BASED, APPROVAL_REQUIRED
  • Приоритеты выполнения
  • Условия применения
  • Действия: ALLOW, DENY, REQUIRE_APPROVAL

Аудит (AuditLog)

  • Типы событий: LOGIN, LOGOUT, CREDENTIAL_ACCESS, SESSION_START, etc.
  • Уровни серьезности: INFO, LOW, MEDIUM, HIGH, CRITICAL
  • Полная трассировка действий
  • Обнаружение аномалий

Безопасность

Шифрование

  • Учетные данные шифруются с использованием Fernet (AES 128)
  • Пароли хешируются с использованием BCrypt
  • Сессионные токены генерируются криптографически стойким способом

Аутентификация и авторизация

  • Сессионная аутентификация
  • Ролевая модель доступа
  • Временные ограничения
  • Контроль IP-адресов

Аудит

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

Развертывание в продакшене

Переменные окружения

export FLASK_ENV=production
export SECRET_KEY=your-secret-key
export DATABASE_URL=postgresql://user:pass@host:port/dbname
export PAM_ENCRYPTION_KEY=your-encryption-key

Рекомендации по безопасности

  1. Используйте HTTPS
  2. Настройте файрвол
  3. Регулярно обновляйте систему
  4. Мониторьте логи безопасности
  5. Настройте резервное копирование
  6. Используйте внешнюю базу данных (PostgreSQL)

Соответствие стандартам

Система разработана с учетом требований:

  • ISO 27001 (Информационная безопасность)
  • NIST Cybersecurity Framework
  • PCI DSS (для организаций, работающих с платежными картами)
  • SOX (Sarbanes-Oxley Act)

Техническая поддержка

Для получения технической поддержки или сообщения об ошибках:

  • Создайте issue в репозитории проекта
  • Обратитесь к администратору системы
  • Проверьте логи в разделе "Аудит"

Лицензия

Данная система разработана в рамках дипломной работы и предназначена для образовательных и исследовательских целей.


© 2025 PAM System - Система управления привилегированным доступом

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors