Egor Chernobai vor 1 Monat
Ursprung
Commit
1b534aab0c
3 geänderte Dateien mit 187 neuen und 0 gelöschten Zeilen
  1. 186 0
      Readme.md
  2. BIN
      ЛР14 Документирование.docx
  3. 1 0
      Руководство.gui

+ 186 - 0
Readme.md

@@ -0,0 +1,186 @@
+# Руководство пользования системой RMM
+# Анотация
+Программный комплекс **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. Запустить агент
+\
+<div align="left">
+
+> **Справка:**  
+> Серверная часть RMM использует Flask и SQLAlchemy для обработки API-запросов и работы с базой данных.
+
+</div>
+
+<div align="center">
+
+> **Рекомендация:**  
+> Для безопасной эксплуатации системы рекомендуется использовать TLS и регулярно обновлять сертификаты.
+
+</div>
+
+<div align="right">
+
+> **Внимание:**  
+> Использование стандартного пароля администратора может привести к компрометации системы.
+
+</div>
+---
+# Описание операций
+Основные операции, выполняемые системой:
+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 — технология взаимодействия с БД через объекты|
+
+# Контакты
+<details>
+<summary>Почта</summary>
+
+> Chernobai.e.s@yandex.ru  
+
+</details>
+
+[Telegram](https://t.me/another_useless_nickname)

BIN
ЛР14 Документирование.docx


Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 0
Руководство.gui


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.