Поддержка Консалтинг Обучение Jamf Pro Блог

MicroMDM

Антон Конобеев 31.10.2022

В статье про MDS мы упомянули про опенсорсный MDM-сервер MicroMDM. Одна из сторон его опенсорсности — отсутствие графического интерфейса; всё взаимодействие с ним происходит с помощью CLI и запросов к API. Но при этом это полноценный инструмент для взаимодействия с протоколом Apple MDM, который может и профили по машинам разлить, и команды на них отправить, и через DEP провести энролл, так что можно и потерпеть. Тем более, что терпеть не очень-то и нужно, потому что у MDS для этого всего есть довольно удобный интерфейс.

Конечно, это сложно назвать продакшен-решением, если только ваши вкусы не позволяют отдавать кусок вашей инфраструктуры десктопному приложению, но для того, чтобы посмотреть и проверить возможности MicroMDM — вполне сойдёт.

Для начала запустим MDS и зайдем в раздел Security, чтобы выпустить SSL-сертификат для нашего хостнейма, чтобы потом мы могли спокойно использовать https для страницы энролла устройств, до которой мы дойдем позже, а пока просто жмём “Create self-signed certificate”.

Идем во вкладку MicroMDM, открываем “замок” и запускаем сервис.

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

После перезапуска сервиса у нас откроются настройки сертификата, профиля и токена — раньше они были недоступными. Ну и первым делом нам нужно выпустить push-сертификат, потому что именно он будет толкать на те устройства, которые мы заэнроллим, наши профили и команды. Помните же, что вся магия происходит через APNs?

Нажав на кнопку “Save request” и указав страну и адрес, MDS очень удобно сама выпустит нам неподписанный запрос сертификата, который затем нужно будет подписать.

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

Хорошо, что можно воспользоваться сайтом https://mdmcert.download. Он тоже потребует регистрацию, но ее подтверждение проходит почти моментально в автоматическом режиме, после чего нужно будет совершить немного колдунства:

  • выкинуть выпущенный нами ранее CSR
  • открываем терминал, вводим /Applications/MDS.app/Contents/Resources/micromdm/mdmctl mdmcert.download -new -email=%почта_регистрации_mdmcert.download%
    это выпустит новый CSR и автоматически отправит его на подпись в mdmcert.download
  • получаем письмо от mdmcert.download, забираем оттуда сертификат куда-нибудь на диск и вводим в терминале команду /Applications/MDS.app/Contents/Resources/micromdm/mdmctl mdmcert.download -decrypt=%полный_путь_до_файла%
    это расшифрует наш сертификат и сложит в ту же папку файл mdmcert.download.push.req
  • теперь мы идем на https://idmsa.apple.com/ и там, используя вообще любой (главное не потерять к нему доступ потом!) Apple ID, выпускаем push certificate

И загружаем его в MicroMDM, нажав на кнопку “Import Push Certificate” в MDS, и перезапускаем сервис. Не всегда работает с первого перезапуска, но в итоге индикатор Push Certificate станет, наконец, зелёным.

Можно было бы еще настроить DEP, но поскольку мы в РФ и нам это недоступно, мы этот момент тактично опустим.

Теперь нам нужно заэнроллить устройство — переходим в браузере по адресу https://%хостнейм_тестового_компьютера%:8443 (браузер может ругаться на сертификат — можно проигнорировать, а можно найти сертификат в кичейне и добавить в доверенные). 

Кликаем по одной-единственной ссылке и качаем профиль, который затем устанавливаем в системных настройках -> профили

И всё готово. Обновим список компьютеров в MDS и убедимся, что добавленный ноутбук там отображается:

Как видим, все необходимые команды для него теперь доступны.

Таким довольно простым образом можно добавить в MicroMDM несколько компьютеров и поэкспериментировать с ними, прежде чем поднимать полноценную виртуалку для этих целей и вникать в тонкости управления через CLI и API — об этом мы расскажем в следующих статьях.