Собственный Meshcentral-сервер в облаке для управления любыми устройствами

В прошлой статье мы ставили Meshcentral-сервер в своей локальной сети. Сейчас рассмотрим более интересный случай - собственный меш-сервер в облаке на примере Amazon EC2. Преимущества такого варианта очевидны - управлять своими устройствами можно в любое время, из любого места и с помощью любого устройства (компьютер-планшет-телефон) - всё просто через браузер.
Итак, в прошлый раз был показан вариант на Windows 2008, теперь, чтобы показать на примере более современной системы, выбираю последнюю Microsoft Windows Server 2012 R2 Base:
 

 AWS choose AMI

Система требовательна к мощности лишь на время установки, потому тип виртуалки m3.medium (3.75 GB памяти, 1 ядро, SSD) обычно наиболее оптимален с точки зрения производительности/стоимости:



 AWS choose Instance type

При выборе объёма диска достаточно минимума в 35 ГБ. Если вы планируете поставить домен и/или использовать расширенную версию MS SQL, то желательно поставить от 50 ГБ.


Комментарии для пользователей Active Directory. Меш-сервер может ставиться на домен. Однако, во-первых, напомню, непосредственно на контроллер домена поставить MS SQL не получится, во-вторых, при установке из-под доменного юзера, у него должны быть достаточные права. И даже при соблюдении всех моментов в случае домена могут возникнуть проблемы. Потому доменный вариант для установки меш-сервера без глубоких знаний системы не рекомендуется. В любом случае, для облачного варианта, домен точно ни к чему.

Для максимально корректной работы мешсервера со всеми его возможностями, потребуется открыть следующие порты:


Цитата
TCP:
80
443
843
3478
8000
8080-8081
8084-8085
9971
UDP:
3478
55500-55900

После создания получаем пароль и заходим. В данном случае был выбран вариант "чистой" Win2012R2, без "полной версии" MS SQL, т.к. SQL Express будет вполне достаточно, а так виртуалка чуть дешевле.



Win2012

Качаю последнюю версию Microsoft® SQL Server® 2014 Express и ставлю её полностью по всё дефолту (см. статью). Я использую "обычную" MS SQL Express (которая на 200 MB).


Для полной версии MS Express потребуется .NET 3.5 (для Windows 2012 включается в установленных компонентах системы). 

Качаем установочные файлы меш-сервера:


  • маленькая версия (3 MB) с загрузкой через интернет — Mesh Server Installer
  • полная версия (больше 100 MB), с возможностью установки без интернета — Mesh Server Installer Full

Теперь можно запустить инсталлятор, однако перед установкой, чтобы сертификат, который будет создаваться на текущее имя компьютера, был "человеческим" (иначе он будет выдан на текущее имя система типа Win-12345 - см. картинку выше или какое в вашем случае) - переименовываю его:



Computer Name

Как говорилось выше, домен не используется, потому также добавляю суффикс (чтобы компьютер назывался не "имя", а имел FQDN-вид "имя.мой.домен"):



DNS suffix

После перезагрузки начинаю установку Meshcentral-сервера.


Подчеркну - никакие "специальные" операции по предварительной настройке компонентов Windows - не требуется (всю конфигурацию определит сам инсталлятор и доставит нужное). Лишь установленный MS SQL (либо MS SQL Express) и всё. Мало того, наличие подобных уже установленных компонентов может вызвать проблемы - таки текущая версия сервера ещё в "глубокой бете" (как минимум на момент написания статьи - середина 2015).

Далее стандартная установка, аналогичная описанной ранее.



Mesh Installer Full


Нужно лишь отметить, что в пакете также имеется возможность включить "расширенный режим" установки:
 

Advanced Mode

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

Итак, в случае удачной установки сервера, автоматически запустится установка Platform Manager по её окончанию:



Mesh Installer Platform Manager

После его установки, он также будет запущен:



Platform Manager start

Жмём Accept и дожидаемся установки всех компонентов (пару минут - в зависимости от мощности виртуалки). Результатом должны быть все "зелёные кружки":



Platform Manager done

Теоретически всё должно при этом работать. Однако если при заходе на страницу (аналогичная ситуация и если заходить локально) получаете ошибку 403:



Error 403

В таком случае потребуется дополнительная принудительная синхронизация содержимого дефолтного (https) сайта (Default Web Site):



Site Sync

Так же повторяем и для http-варианта сайта для переадресации (Redirect Web Site).
После этого получаем рабочий сайт:



MeshCentral installed


Сертификат для HTTPS был сгенерирован от имени нашего самоподписанного root-сертификата, потому, чтобы не иметь проблем с постоянным добавлением исключений безопасности - можно получить бесплатный TLS-сертификат, например, в StartSSL. По умолчанию бесплатные выдаются лишь на основной домен, однако можно указать и один поддомен. Обычно это подразумевает "www", однако если он не используется, можно воспользоваться этой ситуацией:
 

StartSSL add domains

В результате вместо обычного сертификата на "мой.домен" и "www.мой.домен" - получим "правильный" (и бесплатный) сертификат, годный для двух сайтов сразу.


Конечно, повторюсь, такой способ подойдёт лишь сайтам, не использующих "www".

Итого, получаем сертификат:



StartSSL add domains next

Конвертируем его в pfx для импорта в IIS:


Код
openssl pkcs12 -export -in vpro.by.crt -inkey vpro.by.rsa.key.pem -certfile StartSSL-intermediate_sub.class1.server.ca.pem -out vpro.by.pfx

Крайне желательно указывать и промежуточный сертификат (StartSSL-intermediate_sub.class1.server.ca.pem, как и сделано выше), т.к. не везде он присутствует и иначе могут быть проблемы (сертификат не будет считаться "правильным").

Полученный pfx-файл импортируем в IIS:



IIS import pfx

И выбираем его в bindings:



IIS bindings

Всё, теперь получаем "правильный" доступ:



Правильный сертификат

Итак, поставив сервер и настроив сертификаты, приступаем к настройке сервера. Дело в том, что, как минимум, в текущей версии, никаких пользователей в свежепоставленном сервере нет, даже привычного admin. В то время как именно ему (пользователю с логином "admin") даются права на управление настройками сервера и другими пользователями. Потому крайне важно, прежде чем враги получат доступ к вашему серверу - не забыть создать admin-пользователя (т.е. проще говоря - задать ему пароль).



MeshCentral create admin

При этом admin может точно также иметь устройства и управлять ими, как и все другие пользователи, потому, в принципе, если вы делаете "лишь для себя" - можно использовать лишь "админский" аккаунт.
Я, всё же, делаю отдельный. После чего, аналогично описанному в предыдущей статье, создаю меш-сеть и устанавливаю агенты на управляемые устройства.
В прошлый раз мы ставили на Windows и Linux устройства, сейчас поставим на Android. Удобней прямо с такого смартфона/планшета зайти на свежесделанный сайт и аккаунт в нём и установить всё прямо оттуда.
Заходим, например, с планшета в "Моя учётная запись" и жмём "Установить":



mesh agent

По умолчанию идёт виндовый агент, меняем на андроидный:



mesh agent android

Теперь для установки нужно просто нажать на ссылку:



agent android install

Перейдя по ней в Google Play Market устанавливаем агент:



mesh agent googlestore install

После окончания установки и запуска агента - лучше ничего не делать немного подождать, пока он подхватит ранее переданные параметры. В результате, спустя несколько секунд получим запрос на установку хеша нашей меш-сети (из ссылки, которую жали в админке мешсервера):



mesh agent setup

Теперь андроидный агент настроен на работу с мешсервером. Правда он не сразу соображает об этом и потому на экране, не обновившись, будет предложено нажать "Setup". Обновив его любыми действиями появятся кнопки Start и Stop - запускающие и останавливающие работу агента соответственно. По нажатию Start андроид-агент присоединится к нашему мешсерверу:



mesh agent start

Повторив подобную операцию на других устройствах, можно собрать их всех "в одном месте":



MeshCentral All devices


В результате можно управлять разными типами устройств (например, на базе Android), в том числе, удалённо включать-перезагружать-итп те, что поддерживают Intel AMT.

п.с. В процессе написания статьи было использовано несколько тестовых виртуалок (с разными именами - mesh, mesh2, meshcentral и т.п.), потому некоторые надписи по ходу статьи отличаются (но смысл не меняется).

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Anti-bot.