Система централизованного сопровождения пользователей

Сообщения
20
#1
Предлагаю подумать над клиент-серверной системой управления парком серверов и клиентов.
Можно с интеграцией с ALD, но можно без нее, на сертификатах. второе - лучше.

Сценарий на сервере:
- Сервер это непрерывно работающая в фоне служба + плюс консоль управления
- Сервер поддерживает управление клиентами (раб станциями и серверами) по ssh, vnc, rdp через вызов соответствующих клиентов протоколов с передачей им параметров сессии, открытием ремина, текстового терминала - должно уметь настраиваться, но и работать по умолчанию.
- Сервер опознает клиентов системы управления путем защищенного асиметрией (сертификатами) обмена. Связь сервер-клиент должна быть 100% секурной.
- Клиентов на сервере можно групировать. Как автоматически, по операционным системам так и вручную. На сервере есть развитая система поиска и фильтрации клиентов.
- Сервер может работать в режиме кластера, поддерживая работу с 1000 клиентов.
- Сервер может опрашивать клиентов через определенные промежутки времени, это настраивается, и это не создает нагрузку на сеть и клиентов.
- Сервер принимает запросы на подключение от ненастроенных клиентов, админ добавляет клиентов системы управления в список доверенных. При добавлении сервер понимает, какие протоколы управления доступны и с какими реквизитами-параметрами.
-Сервер может служить прокси-хабом для клиентов системы управления, для обхода ната. Сервера могут соединятся друг с другом. Сервер-прокси может помогать обходить нат для протоколов управления путем перенаправления портов и др. механизмов.
- Сервер следит за доверенными клиентами, показывает кто доступен, кто нет. Мониторит процессор/память/очередь диска, если разрешили и настроили на клиенте. Если клиенту плохо - выделяет его цветом.

Сценарий на клиенте:
- развернул рабстанцию, запустил консоль клиента, нажал на "поиск сервера сопровождения", выбрал найденный сервер, нажал на "запрос на соединение".
- Если на сервере разрешили и внесли в доверенные, произошел обмен сертификатами с сервером, выбрал на клиенте какими протоколами и кому разрешено управлять, информация отправилась на сервер.
- клиент опознает сервер по адресу и сертификату, после настройки запросы от других серверов игнорирует. До своей перенастройки.
- нужна помощь админа - написал ему в клиенте - он написал ответ или присоединился, если ему разрешили.
- клиенты есть и для линукс и вин

Посмотрите, как работает netsupportmanager, много взято от туда. Мое предложение - это не предложение сделать велосипед, а сделать софт, который будет без закладок и пройдет сертификацию.

При этом сам клиент должен по возможности работать под отдельным непривилегированным пользователем и должен ничего не уметь\мочь, ни по отношению к процессам, ни к файловой системе. Не поддерживать удаленное изменение конфигов, если не разрешено. Вести логи подключений, предупреждать о запросах с сервера. Быть ддосо устойчивым. Главная задача клиента - сказать серверу что клиент жив и о разрешенных протоколах управления, он это может делать через настраиваемые промежутки по собственной инициативе. В идеале - у клиента не должно быть механизмов приема входящих соединений не по инициативе клиента (фактическое управление все равно будет осуществятся другими сервисами)
В принципе, можно реализовать возможность получения клиентом запросов с сервера на выполнение некоторых действий - передачи инвентаризационной информации о железе или состоянии работающих служб - при следующем обращении к серверу с клиента.
 
Последнее редактирование: