Лидеры года — новая категория на Workspace Digital Awards! Номинируйте вашу команду, продукты и проекты.
#Разработка сайтов под ключ

RDP Monitor

14 
Олег Пехтерев Россия, Ноябрьск
Поделиться: 0 0 0
RDP Monitor
Бюджет

1 500 000

Сфера

Информационные технологии и интернет

Тип сайта

Порталы и сервисы

Сдано

Июнь 2026

Задача

Основная задача — создать централизованный инструмент, который позволит:

Собирать события RDP-подключений с нескольких Windows-серверов.

Видеть, кто и когда подключался, а также IP-адрес источника подключения.

Контролировать доступность серверных агентов.

Анализировать активность пользователей и распределение подключений во времени.

Оперативно получать уведомления о событиях.

Разграничивать доступ к системе по ролям.

Интегрировать авторизацию с корпоративным Active Directory.

Вести аудит действий администраторов.

Разворачивать решение внутри инфраструктуры заказчика без обязательной передачи данных во внешнее облако.

Решение

Это был проект которым я одновременно горжусь и ненавижу его :). Изначально ТЗ было достаточно простым - реализовать возможность получения уведомлений в MAX (дополнительно по email, telegram) о событиях подключения по протоколу RDP к Windows серверам. Но по мере продвижения по проекту ТЗ неоднократно менялось, требовался дополнительный функционал например такой как "Аналитика".

Справа представлена тепловая карта, которая позволяет визуально определить какие даты связаны с наименее и наиболее активными действиями пользователей.

Так же в ТЗ было прописано что агенты которые будут устанавливаться на Windows Server`s должны работать на PowerShell однако вскоре выяснилось что из-за политик безопасности агенты такого типа установить на некоторые серверы невозможно. Поэтому началась разработка второго типа агентов на .NET. В итоге данный проект можно смело назвать SIEM системой для малого и среднего бизнеса.

Так же данное web приложение можно интегрировать с внешними системами такими как Zabbix.

На экране вы так же можете видеть что агенты проходят аутентификацию по индивидуальным и общим ключам.

Немного о том что же было реализовано:

Уведомления и интеграции

Реализованы уведомления через MAX, Telegram и электронную почту.

Система предусматривает настройку оповещений о RDP-событиях и контроль состояния агентов.

Также реализован API для внешних сервисов, позволяющий получать сведения о доступности серверов и использовать их в сторонних системах мониторинга.

Аналитическая панель

Отдельное внимание уделено аналитике.

Разработан интерактивный дашборд, который позволяет анализировать RDP-активность за выбранный период.

Реализованы:

  • Графики активности подключений.

  • Тепловая карта активности по дням недели и часам.

  • Рейтинг серверов по количеству подключений.

  • Рейтинг наиболее активных пользователей.

  • Фильтрация по временным диапазонам, серверам и пользователям.

  • Сводные показатели по событиям и состоянию инфраструктуры.

Это позволяет не просто хранить события, а использовать собранные данные для анализа работы серверной инфраструктуры.

Развёртывание и сопровождение

RDP Monitor спроектирован для локального развёртывания в инфраструктуре организации.

Центральное веб-приложение работает в Docker-контейнерах, а сбор событий выполняется непосредственно на Windows-серверах.

Такой подход позволяет заказчику сохранять контроль над инфраструктурой и собранными данными.

Интеграция с Active Directory, OpenLDAP, FreeIPA

Реализована авторизация через LDAP/LDAPS.

Система позволяет синхронизировать серверы и пользователей из каталога, управлять доступом и назначать роли.

Также предусмотрена локальная авторизация, что позволяет использовать приложение независимо от доменной инфраструктуры.

Безопасность и аудит действий

Безопасность стала одним из ключевых направлений разработки.

Реализованы:

  • API-ключи для авторизации серверных агентов.

  • Индивидуальные и общие ключи с возможностью отзыва.

  • Разграничение доступа по ролям.

  • Журналирование административных действий.

  • Учёт пользовательских сессий.

  • Настройки времени хранения событий.

  • Защищённое подключение к LDAP через LDAPS.

Единый журнал RDP-событий

Реализован централизованный журнал, объединяющий события со всех контролируемых серверов.

Система фиксирует входы, выходы, подключения, отключения и переподключения пользователей.

Предусмотрены фильтрация по серверам, типам событий, времени, пользователям и IP-адресам.

Вместо ручного просмотра Windows Event Viewer на каждом сервере администратор получает единую точку доступа к истории подключений.

Агенты Windows Server

Разработаны два варианта агентов — на PowerShell и .NET. Они работают непосредственно на контролируемых серверах, собирают события RDP и передают их в центральную систему через API.

Для контроля состояния агентов реализован механизм heartbeat — периодическая отправка сигналов о работоспособности.

Основной стек web app:

  • Next.js, React, TypeScript — веб-приложение и пользовательский интерфейс.

  • MySQL — хранение событий, настроек и служебных данных.

  • PowerShell и .NET — агенты сбора событий.

  • Docker — контейнеризация и развёртывание.

  • LDAP/Active Directory — интеграция с корпоративной системой учётных записей.

Экран "Пользователи"

Экран "События". Тут присутствуют все события которые приходят с серверов. Имеестся сортировка по времени, именам серверов, ip адресам итд.

Экран "Серверы".

К сожалению выложить ссылку на web app не представляется возможным так как изначально он разрабатывался для внутреннего корпоративного использования.

Результат

В результате создана полноценная специализированная система для централизованного аудита RDP-подключений.

Вместо разрозненных журналов Windows администратор получает единый интерфейс для контроля серверов, анализа удалённых сессий, управления доступом и получения уведомлений.

Проект объединил несколько направлений моей экспертизы: Fullstack-разработку, интеграцию с Windows-инфраструктурой, DevOps и информационную безопасность.

RDP Monitor разработан как самостоятельный программный продукт с возможностью дальнейшего развития и адаптации под задачи организаций


Стек технологий

  • CSS CSS Язык программирования
  • SQL SQL Язык программирования
  • TypeScript TypeScript Язык программирования
  • Next.js Next.js Фреймворк/библиотека
  • React.js React.js Фреймворк/библиотека
  • PostgreSQL PostgreSQL База данных
  • Intellij IDEA Intellij IDEA Среда разработки
  • NGINX NGINX Веб-сервер

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку