WEB панель и удаленный доступ + логирование сетевых подключений
Наименование проекта: программа для администрирования игровых серверов Rust (далее “Программа”).Цель:Предоставить инструмент для контроля подозрительных игроков, который бы фиксировал их сетевую активность (подключения к определённым серверам и IP-адресам).Предоставить возможность удалённого доступа к ПК пользователя для визуальной проверки.Краткое описание:Программа должна устанавливаться на ПК подозрительного игрока и работать в фоне без возможности деактивации пользователем. Сбор данных о сетевой активности (список IP, домены) будет происходить в режиме реального времени. Если зафиксировано соединение с “подозрительным” сервером или IP, которые используют читы для сверки ключа активации, занесённым в конфигурационный файл, система оповещает админа. Также должна быть возможность удалённого подключения к рабочему столу игрока (screen-share или аналог) и централизованное управление через веб-панель. 2. Требования к функционалу 2.1. Основные функции Фоновый режим работыПрограмма должна стартовать вместе с операционной системой и работать незаметно для пользователя (без ярлыков в трее или автозагрузке, доступной к редактированию пользователю).Пользователь не должен иметь возможности принудительно завершить процесс через стандартные инструменты ОС (диспетчер задач, консоль и т.п.).Мониторинг IP и подключенийПрограмма должна перехватывать исходящие подключения (http/https, tcp, udp и т.д.) и сверять IP-адреса/доменные имена с “подозрительным списком”.“Подозрительный список” (config) должен быть легко редактируемым со стороны администратора (удобный формат, например, JSON/YAML).При совпадении IP или домена с записью в “подозрительном списке” программа генерирует уведомление в лог или напрямую на веб-панель (см. пункт 2.3).Хранить историю подключений к сторонним сервисам/серверам (лог: IP, домен, дата/время подключения).Удалённый доступ к ПК (Screen Monitoring / Desktop Sharing)Программа должна предоставлять администратору возможность удалённого просмотра экрана пользователя.Формат может быть реализацией RDP/VNC или собственной разработкой, позволяющей просматривать экран.Дополнительная опция: сбор скриншотов (по таймеру или вручную) для дальнейшего анализа.Веб-панель для логирования и управленияВеб-панель для авторизованного доступа администратора.Отображение списка пользователей, у которых установлена данная программа.Просмотр логов (подключений, IP, временных меток).Удалённое управление настройками (обновление “подозрительного списка” IP, включение/отключение каких-либо модулей и т.д.).Управление сеансами удалённого доступа: запуск/остановка.Возможность принудительной деинсталляции программы с ПК пользователя.Обновление и администрированиеАвтоматическая или ручная проверка обновлений.Механизм безопасного обновления (подпись/проверка целостности).Логи обновлений и административных действий (кто и что обновил, когда). 2.2. Нефункциональные требования Безопасность и антивирусная совместимостьМинимизация ложных срабатываний антивирусов (цифровая подпись, использование легитимных системных API).Использование защищённого канала передачи данных (HTTPS/TLS) при отправке логов/управлении.Защита от подмены исполняемых файлов.УстойчивостьПрограмма должна корректно работать под нагрузкой (если идёт анализ большого количества пакетов).При сбое/аварийном закрытии должна перезапускаться автоматически.СовместимостьПоддержка основных версий Windows (Windows 10, 11).Приоритетно 64-битные системы.ПроизводительностьМинимальная нагрузка на ресурсы системы (CPU, RAM, сеть).Время отклика веб-панели при нормальной нагрузке — не более 2–3 секунд.МасштабируемостьВозможность подключения большого числа пользователей.Возможность добавления новых функциональных модулей без кардинальной переработки. 3. Архитектура решения Клиентская часть (устанавливается на ПК пользователя):Драйвер/служба для перехвата сетевых соединений.Модуль логики (сравнение с “подозрительным списком”, сбор логов).Модуль удалённого доступа к экрану (серверная часть RDP/VNC или аналог).Автономная база конфигурации (минимальная, чтобы при отключении сети были сохранены временные логи и настройки).Шифрование данных, отправляемых на сервер.Серверная часть (располагается у администратора):API для приёма логов от клиентов.Система авторизации и аутентификации (для веб-панели).Модуль управления и оповещений (события о “подозрительных” подключениях).Веб-приложение (панель управления).База данных для хранения логов, списка пользователей, конфигурационных файлов, версий ПО.Схема взаимодействия:Клиент → (Собирает данные) → Отправляет логи и сигналы → Сервер → (Обрабатывает, хранит, отображает) → Веб-панель → (Управление, просмотр).При инициации удалённого доступа: Веб-панель/Сервер → (Устанавливает соединение) → Клиент (запрашивает экран). 4. Детализация требований 4.1. Мониторинг сети и списка “подозрительных” IP/доменов Формат “подозрительного” списка: JSON или YAML (например, suspicious_hosts.json).Пример структуры: jsonКопировать код{ "hosts": [ { "ip": "123.45.67.89", "description": "Чит-сервер #1" },
{ "domain": "cheats.example.com", "description": "Чит-сервер #2" }
]
}
Параметры логов:IP/домен назначенияПротокол (TCP/UDP/HTTP/HTTPS)Дата и время (UTC)Локальный порт/процесс (по возможности) 4.2. Удалённый доступ к рабочему столу Потоки данных:При низкой скорости сети должно использоваться адаптивное качество (снижение качества картинки/частоты кадров).Поддержка просмотра в режиме реального времениБезопасность:Все действия должны логироваться (кто подключился, когда, сколько длился сеанс). 4.3. Веб-панель Разграничение прав:Роли: “Суперадмин”, “Модератор” (только просмотр логов, доступ к скриншотам и экрану)Структура:Главная страница: список пользователей (онлайн/оффлайн).Раздел логов: фильтры по IP, датам, пользователям.Раздел управления конфигурацией: обновление списка IP, обновление версии клиента, массовые действия (принудительная деинсталляция, перезагрузка сервиса).Раздел удалённого доступа: отображение доступных ПК для подключения. 5. Технологический стек Язык разработки клиентской части: C++/C#/Go (по согласованию; важны системные возможности и низкий уровень доступа).Язык разработки серверной части: Python/Node.js/Go/Java (по удобству команды и надёжности).СУБД: PostgreSQL/MySQL (реляционная), при больших объёмах логов рассмотреть NoSQL-решения (MongoDB, ElasticSearch).Фреймворк для веб-панели: любая удобная связка (например, Node.js + React/Vue или Python + Django/Flask + React/Vue).Безопасность: TLS-сертификаты для веб-панели и API.Инфраструктура: Docker-контейнеры/виртуальные машины (по необходимости). 6. Тестирование Функциональное тестированиеПроверка корректного сбора логов, сверки с “подозрительным списком”, генерации уведомлений.Интеграционное тестированиеПроверка взаимодействия клиентской и серверной частей (обмен данными).Нагрузочное тестированиеПроверка работы при большом количестве одновременно подключенных клиентов.Тестирование безопасностиПопытки завершить процесс через диспетчер задач.Попытки подмены файлов и манипуляции конфигурациями.Pen-тест веб-панели (SQL-инъекции, XSS и др.).Тестирование удалённого доступаПроверка качества трансляции, задержек, стабильности подключения. 7. Документация и поддержка Пользовательская документация:Руководство для админов по установке, настройке и использованию веб-панели.Техническая документация:Описание архитектуры, структуры баз данных, API-эндпоинтов.Инструкции по сборке/развёртыванию (включая Docker/CI-CD). 8. Критерии готовности (Definition of Done) Клиент успешно устанавливается на ПК с Windows, запускается при старте системы, не может быть завершён пользователем стандартными средствами.Удалённый просмотр экрана (screen-share) работает, доступ к нему осуществляется только с сервера по зашифрованному каналу.Логи сети корректно собираются и отображаются в веб-панели, с возможностью фильтрации и уведомлений о “подозрительных” подключениях.Веб-панель предоставляет функционал управления пользователями, ролями, списком IP/доменов, а также принудительной деинсталляции клиента.Обеспечена достаточная защита от несанкционированной модификации программы и соединения.
Other