暫無描述

Egor Chernobai ff0da271be done 1 月之前
1-1.png ff0da271be done 1 月之前
2-1.png ff0da271be done 1 月之前
Readme.md ff0da271be done 1 月之前
Руководство.gui 1b534aab0c done 1 月之前

Readme.md

Руководство пользования системой RMM

alt text alt text

Анотация

Программный комплекс 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:
    - [ ] 1. Перейти в каталог сервера  
    

    cd server```

  • [ ] 2. Создать виртуальное окружение

    - [ ] 3. Активировать виртуальное окружение  
    

    venv\Scripts\activate```

  • [ ] 4. Установить зависимости

    - [ ] 5. Настроить файл ```.env```.
    - [ ] 6. Запустить сервер  
    

    python run.py```

Установка агента

  1. Перейти в каталог агента

    2. Настроить файл ```config.json```.
    3. Выполнить сборку  
    

    cargo build --release```

  2. Запустить агент \

  3. Справка:
    Серверная часть 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