# Руководство пользования системой RMM ![alt text](1-1.png) ![alt text](2-1.png) # Анотация Программный комплекс **RMM** (Remote Monitoring and Management) предназначен для централизованного удалённого мониторинга и управления устройствами в компьютерной сети. Система состоит из серверной части, реализованной на языке Python с использованием фреймворка Flask, и клиентского агента, разработанного на языке Rust. \ \ Сервер обеспечивает регистрацию агентов, хранение информации об устройствах, обработку команд, обмен данными по WebSocket, а также предоставляет административную панель и REST API. Агент устанавливается на удалённое устройство, поддерживает постоянное соединение с сервером, отправляет heartbeat-сообщения и выполняет полученные команды.\ \ Система может использоваться в локальных сетях организаций, учебных лабораториях, тестовых инфраструктурах и средах администрирования для автоматизации контроля и управления удалёнными узлами. --- # Введение В современных условиях стремительного развития информационных технологий и увеличения количества сетевых устройств возрастает необходимость централизованного мониторинга и удалённого управления компьютерными системами. Организации, учебные учреждения и частные администраторы сталкиваются с необходимостью оперативного контроля состояния удалённых устройств, автоматизации обслуживания инфраструктуры и обеспечения безопасного взаимодействия между клиентскими узлами и сервером управления.\ \ Системы класса RMM (Remote Monitoring and Management) предназначены для решения задач удалённого администрирования, мониторинга состояния устройств, автоматизированного выполнения команд и централизованного сбора информации о работе оборудования. Использование подобных систем позволяет существенно сократить время реагирования на инциденты, повысить эффективность сопровождения инфраструктуры и упростить процессы технического обслуживания.\ \ В рамках данного проекта разработан программный комплекс удалённого мониторинга и управления, состоящий из серверной части и клиентского агента. Серверная часть реализована с использованием языка программирования Python и фреймворка Flask, что обеспечивает гибкость разработки, поддержку REST API и возможность масштабирования системы. Клиентский агент разработан на языке Rust, обеспечивающем высокую производительность, безопасность работы с памятью и стабильность сетевого взаимодействия.\ \ Разработанная система поддерживает регистрацию агентов, двустороннее взаимодействие по WebSocket, передачу управляющих команд, сбор системной информации и ведение журналов аудита. Для обеспечения безопасности используются механизмы TLS/mTLS, JWT-аутентификация и ограничение количества запросов.\ \ Актуальность разработки обусловлена необходимостью создания безопасного и расширяемого решения для централизованного управления удалёнными устройствами, которое может применяться как в учебных целях, так и в небольших корпоративных инфраструктурах.\ \ Целью разработки является создание программного комплекса удалённого мониторинга и управления устройствами, обеспечивающего безопасное взаимодействие между сервером и агентами, централизованное выполнение команд и контроль состояния подключённых узлов.\ --- ## Область применения Программный комплекс RMM применяется для удалённого администрирования и мониторинга компьютеров и серверов, подключённых к сети. Система ориентирована на использование: - в корпоративных локальных сетях; - в учебных и исследовательских лабораториях; - в тестовых инфраструктурах; - в системах централизованного администрирования; - в проектах автоматизации обслуживания удалённых устройств. Комплекс позволяет администраторам централизованно получать информацию о состоянии подключённых устройств, отправлять управляющие команды и контролировать сетевую активность агентов. --- ## Краткое описание возможностей Основные возможности программного комплекса: - регистрация и хранение информации об агентах; - централизованное управление удалёнными устройствами; - обмен сообщениями между сервером и агентами по WebSocket; - отправка и выполнение команд на удалённых устройствах; - периодическая отправка heartbeat-сообщений; - сбор системной информации об устройствах; - журналирование действий пользователей и агентов; - загрузка и хранение файлов; - REST API для интеграции с внешними системами; - использование JWT-аутентификации; - защита соединений с помощью TLS/mTLS; - ограничение запросов с использованием rate limiting; - административная веб-панель управления. --- ## Перечень эксплуатационной документации В состав эксплуатационной документации входят: - руководство пользователя; - руководство администратора; - руководство программиста; - описание архитектуры системы; - программа и методика испытаний; - инструкция по установке и настройке; - описание REST API; - описание конфигурационных файлов. --- # Назначение и условия применения Программный комплекс RMM предназначен для удалённого мониторинга и управления устройствами в компьютерной сети. Система обеспечивает: - централизованное управление агентами; - контроль состояния подключённых устройств; - выполнение удалённых команд; - защищённый обмен данными между сервером и агентами; - хранение информации о действиях пользователей и агентов. \ Условия применения системы: - Docker Или: - наличие установленного Python версии 3.11 или выше; - наличие Rust и Cargo для сборки агента; - наличие базы данных PostgreSQL; А также: - наличие сетевого соединения между сервером и агентами; - поддержка TLS-соединений; - операционная система семейства Windows или Linux. Минимальные требования к серверу: - процессор: 2 ядра; - оперативная память: от 2 ГБ; - свободное место на диске: от 1 ГБ; - Docker или установленный PostgreSQL или другая поддерживаемая СУБД. --- # Установка становка серверной части с использованием Docker: 1. Перейти в каталог сервера: 2. Написать команду в терминале ```Docker-compose up -d``` Установка серверной части без Docker: - [ ] 1. Перейти в каталог сервера ```cd server``` - [ ] 2. Создать виртуальное окружение ```python -m venv venv``` - [ ] 3. Активировать виртуальное окружение ```venv\Scripts\activate``` - [ ] 4. Установить зависимости ```pip install -r requirements.txt``` - [ ] 5. Настроить файл ```.env```. - [ ] 6. Запустить сервер ```python run.py``` Установка агента 1. Перейти в каталог агента ```cd agent``` 2. Настроить файл ```config.json```. 3. Выполнить сборку ```cargo build --release``` 4. Запустить агент \
> **Справка:** > Серверная часть RMM использует Flask и SQLAlchemy для обработки API-запросов и работы с базой данных.
> **Рекомендация:** > Для безопасной эксплуатации системы рекомендуется использовать TLS и регулярно обновлять сертификаты.
> **Внимание:** > Использование стандартного пароля администратора может привести к компрометации системы.
--- # Описание операций Основные операции, выполняемые системой: 1. Регистрация агента Агент отправляет информацию о себе на сервер и получает уникальный идентификатор. 2. Поддержание соединения Агент периодически отправляет heartbeat-сообщения для подтверждения активности. 3. Передача команд Администратор отправляет команду через сервер, после чего она передаётся агенту по WebSocket. 4. Выполнение команд Агент принимает команду, выполняет её и возвращает результат выполнения. 5. Работа с файлами Система позволяет загружать и хранить файлы на сервере. 6. Аутентификация пользователей Для доступа к административной панели используется JWT-аутентификация. 7. Ведение журнала аудита Все действия пользователей и агентов фиксируются в журнале событий. --- # Термины и сокращения | Термин | Полная форма | | ------ | ------------ | | RMM | Remote Monitoring and Management — система удалённого мониторинга и управления| | Агент |Клиентское приложение, установленное на удалённом устройстве | | Сервер | Центральный компонент системы управления | | REST API | Интерфейс взаимодействия по HTTP | |WebSocket| Протокол двустороннего обмена данными| |JWT|JSON Web Token — механизм аутентификации| |TLS|Transport Layer Security — протокол защиты соединения| |mTLS|Mutual TLS — взаимная аутентификация по сертификатам| |Heartbeat|Периодическое сообщение о работоспособности агента| |SQLAlchemy|ORM-библиотека для работы с базой данных| |Rate Limiting|Ограничение количества запросов| |Audit Log|Журнал действий пользователей и системы| |Fingerprint|Уникальный отпечаток сертификата| |ORM|Object-Relational Mapping — технология взаимодействия с БД через объекты| # Контакты
Почта > Chernobai.e.s@yandex.ru
[Telegram](https://t.me/another_useless_nickname)