WEB панель и удаленный доступ + логирование сетевых подключений

100 000 руб. за проект
11 января 2025, 14:23 • 3 отклика • 56 просмотров
Наименование проекта: программа для администрирования игровых серверов Rust (далее “Программа”).

Цель:

  • Предоставить инструмент для контроля подозрительных игроков, который бы фиксировал их сетевую активность (подключения к определённым серверам и IP-адресам).
  • Предоставить возможность удалённого доступа к ПК пользователя для визуальной проверки.
Краткое описание:
Программа должна устанавливаться на ПК подозрительного игрока и работать в фоне без возможности деактивации пользователем. Сбор данных о сетевой активности (список IP, домены) будет происходить в режиме реального времени. Если зафиксировано соединение с “подозрительным” сервером или IP, которые используют читы для сверки ключа активации, занесённым в конфигурационный файл, система оповещает админа. Также должна быть возможность удалённого подключения к рабочему столу игрока (screen-share или аналог) и централизованное управление через веб-панель.


2. Требования к функционалу 2.1. Основные функции
  1. Фоновый режим работы

    • Программа должна стартовать вместе с операционной системой и работать незаметно для пользователя (без ярлыков в трее или автозагрузке, доступной к редактированию пользователю).
    • Пользователь не должен иметь возможности принудительно завершить процесс через стандартные инструменты ОС (диспетчер задач, консоль и т.п.).
  2. Мониторинг IP и подключений

    • Программа должна перехватывать исходящие подключения (http/https, tcp, udp и т.д.) и сверять IP-адреса/доменные имена с “подозрительным списком”.
    • “Подозрительный список” (config) должен быть легко редактируемым со стороны администратора (удобный формат, например, JSON/YAML).
    • При совпадении IP или домена с записью в “подозрительном списке” программа генерирует уведомление в лог или напрямую на веб-панель (см. пункт 2.3).
    • Хранить историю подключений к сторонним сервисам/серверам (лог: IP, домен, дата/время подключения).
  3. Удалённый доступ к ПК (Screen Monitoring / Desktop Sharing)

    • Программа должна предоставлять администратору возможность удалённого просмотра экрана пользователя.
    • Формат может быть реализацией RDP/VNC или собственной разработкой, позволяющей просматривать экран.
    • Дополнительная опция: сбор скриншотов (по таймеру или вручную) для дальнейшего анализа.
  4. Веб-панель для логирования и управления

    • Веб-панель для авторизованного доступа администратора.
    • Отображение списка пользователей, у которых установлена данная программа.
    • Просмотр логов (подключений, IP, временных меток).
    • Удалённое управление настройками (обновление “подозрительного списка” IP, включение/отключение каких-либо модулей и т.д.).
    • Управление сеансами удалённого доступа: запуск/остановка.
    • Возможность принудительной деинсталляции программы с ПК пользователя.
  5. Обновление и администрирование

    • Автоматическая или ручная проверка обновлений.
    • Механизм безопасного обновления (подпись/проверка целостности).
    • Логи обновлений и административных действий (кто и что обновил, когда).

2.2. Нефункциональные требования
  1. Безопасность и антивирусная совместимость

    • Минимизация ложных срабатываний антивирусов (цифровая подпись, использование легитимных системных API).
    • Использование защищённого канала передачи данных (HTTPS/TLS) при отправке логов/управлении.
    • Защита от подмены исполняемых файлов.
  2. Устойчивость

    • Программа должна корректно работать под нагрузкой (если идёт анализ большого количества пакетов).
    • При сбое/аварийном закрытии должна перезапускаться автоматически.
  3. Совместимость

    • Поддержка основных версий Windows (Windows 10, 11).
    • Приоритетно 64-битные системы.
  4. Производительность

    • Минимальная нагрузка на ресурсы системы (CPU, RAM, сеть).
    • Время отклика веб-панели при нормальной нагрузке — не более 2–3 секунд.
  5. Масштабируемость

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

3. Архитектура решения
  1. Клиентская часть (устанавливается на ПК пользователя):

    • Драйвер/служба для перехвата сетевых соединений.
    • Модуль логики (сравнение с “подозрительным списком”, сбор логов).
    • Модуль удалённого доступа к экрану (серверная часть RDP/VNC или аналог).
    • Автономная база конфигурации (минимальная, чтобы при отключении сети были сохранены временные логи и настройки).
    • Шифрование данных, отправляемых на сервер.
  2. Серверная часть (располагается у администратора):

    • API для приёма логов от клиентов.
    • Система авторизации и аутентификации (для веб-панели).
    • Модуль управления и оповещений (события о “подозрительных” подключениях).
    • Веб-приложение (панель управления).
    • База данных для хранения логов, списка пользователей, конфигурационных файлов, версий ПО.
  3. Схема взаимодействия:

    • Клиент → (Собирает данные) → Отправляет логи и сигналы → Сервер → (Обрабатывает, хранит, отображает) → Веб-панель → (Управление, просмотр).
    • При инициации удалённого доступа: Веб-панель/Сервер → (Устанавливает соединение) → Клиент (запрашивает экран).

4. Детализация требований 4.1. Мониторинг сети и списка “подозрительных” IP/доменов
  • Формат “подозрительного” списка: JSON или YAML (например, suspicious_hosts.json).
  • Параметры логов:
    • IP/домен назначения
    • Протокол (TCP/UDP/HTTP/HTTPS)
    • Дата и время (UTC)
    • Локальный порт/процесс (по возможности)
4.2. Удалённый доступ к рабочему столу
  • Потоки данных:
    • При низкой скорости сети должно использоваться адаптивное качество (снижение качества картинки/частоты кадров).
    • Поддержка просмотра в режиме реального времени
  • Безопасность:
    • Все действия должны логироваться (кто подключился, когда, сколько длился сеанс).
4.3. Веб-панель
  • Разграничение прав:
    • Роли: “Суперадмин”, “Модератор” (только просмотр логов, доступ к скриншотам и экрану)
  • Структура:
    • Главная страница: список пользователей (онлайн/оффлайн).
    • Раздел логов: фильтры по IP, датам, пользователям.
    • Раздел управления конфигурацией: обновление списка IP, обновление версии клиента, массовые действия (принудительная деинсталляция, перезагрузка сервиса).
    • Раздел удалённого доступа: отображение доступных ПК для подключения.

5. Тестирование
  1. Функциональное тестирование
    • Проверка корректного сбора логов, сверки с “подозрительным списком”, генерации уведомлений.
  2. Интеграционное тестирование
    • Проверка взаимодействия клиентской и серверной частей (обмен данными).
  3. Нагрузочное тестирование
    • Проверка работы при большом количестве одновременно подключенных клиентов.
  4. Тестирование безопасности
    • Попытки завершить процесс через диспетчер задач.
    • Попытки подмены файлов и манипуляции конфигурациями.
    • Pen-тест веб-панели (SQL-инъекции, XSS и др.).
  5. Тестирование удалённого доступа
    • Проверка качества трансляции, задержек, стабильности подключения.

6. Документация и поддержка
  1. Пользовательская документация:
    • Руководство для админов по установке, настройке и использованию веб-панели.
  2. Техническая документация:
    • Описание архитектуры, структуры баз данных, API-эндпоинтов.
    • Инструкции по сборке/развёртыванию (включая Docker/CI-CD).

7. Критерии готовности (Definition of Done)
  • Клиент успешно устанавливается на ПК с Windows, запускается при старте системы, не может быть завершён пользователем стандартными средствами.
  • Удалённый просмотр экрана (screen-share) работает, доступ к нему осуществляется только с сервера по зашифрованному каналу.
  • Логи сети корректно собираются и отображаются в веб-панели, с возможностью фильтрации и уведомлений о “подозрительных” подключениях.
  • Веб-панель предоставляет функционал управления пользователями, ролями, списком IP/доменов, а также принудительной деинсталляции клиента.
  • Обеспечена достаточная защита от несанкционированной модификации программы и соединения.