Pro firmu Abuco jsem navrhl systém hromadné správy Maců, který nyní využívají dva její klienti. Díky němu jsme schopni snadno připravit nové počítače a centralizovaně spravovat software a konfiguraci na nasazených Macích.
Na projektu jsme spolupracoval s Vojtou Myslivcem, který mi velmi pomohl s konfigurací webserveru a zabezpečení. Pokud byste hledali Linux sysadmina se zaměřením na bezpečnost, mohu doporučit.
Technologie se však vyvíjí, systém dnes vypadá podstatě jinak než před pěti lety. Podívám se na oba stavy.
Jak je to teď
Vzdálenou správu Maců zajišťuje SimpleMDM propojené s Apple Business Manager. Nové zařízení se zapojují do MDM pomocí Automated Device Enrollment. Starší zařízení mimo ABM si musí vystačit s klasickým Device Enrollment provedeným manuálně.
Vedle konfiguračních profilů Simple MDM pošle na nově zapojené Mac instalační balíček s naší automatizací. Ta zajistí instalaci Munki klienta, jeho konfiguraci a následnou instalaci software. Uživatel je o průběhu informován aplikací DEPnotify.
Do budoucna chceme podporovat i User Enrollment pro BYOD zařízení. Doménu klienta jsme federovali mezi ABM a Azure Active Directory, aby uživatelé mohli využít Microsoft přihlašovacích údajů i pro svá spravované Apple ID. Synchronizaci údajů mezi ABM a AAD zajišťuje protokol SCIM.
Jak to bylo
Nasazení Maců
K zapojení nových i stávajících počítačů do našeho systému používáme nástroj DeployStudio. Ani jeden z klientů nemá přímo ve firmě serverovou infrastrukturu, na které by se dalo provozovat DeployStudio v síťovém režimu. Proto jsou všechny jeho komponenty umístěny na externím disku s macOS.
DeployStudio umožňuje vytvářet automatizovanou posloupnost akcí – workflow, ve které lze například:
- instalovat .pkg balíčky a spouštět skripty při dalším spuštění systému na cílovém Macu,
- vytvořit uživatele a nastavit jméno počítače,
- obnovit obraz disku, pokud chceme “čistý” počítač.
Externích disků používáme několik, protože podporu přímo u klientů řeší víc techniků. Disky je proto třeba synchronizovat ze stavu uloženém na serveru. Napsal jsem si na to vlastní skript používající nástroje rsync a git.
Instalace software a aktualizací
Instalace software probíhá systémem Munki. Klienti stahují instalační soubory z našeho serveru přes internet. Spojení samozřejmě zabezpečuje TLS a autentizace. Skrz Munki dokážeme provést upgrade macOS nebo přidat do systému novou tiskárnu.
Drtivou většinu programů získáváme pomocí automatizačního frameworku AutoPkg. Každý den proběhne kontrola, zda neexistuje novější verze nějakého software. Pokud ano, je stažen a přidán do Munki repozitáře. Z naší strany tedy stačí jej postupně zpřístupnit všem Macům využívající systém.
Abychom udrželi kontrolu nad Apple aktualizacemi, nastavili jsme všechny klienty, aby je vyhledávali na naší replice Apple Software Update serveru. Apple aktualizace z linuxového serveru poskytuje standardní webserver. Synchronizaci a údržbu repozitáře s aktualizacemi zajišťuje Reposado. Pro ovládání Reposada používáme webovou aplikaci Margarita. Skrz její rozhraní lze snadno naklikat dostupnost aktualizací skupinám počítačů.
Monitorování Maců
Směrem k uživatelům chceme být proaktivní. Při každém spuštění Munki klienta jsou zaslány informace webové aplikaci munkireport-php. Přehled o stavu počítačů nám umožňuje řešit některé problémy, ještě než si jich uživatel všimne.
Munkireport dokáže sbírat celou řadu informací. Za zmínku stojí:
- kompletní informace o hardware Macu,
- veškerý nainstalovaný software,
- Wi-Fi síť a síla signálu,
- používané tiskárny, externí displeje a Apple bluetooth příslušenství.