--- pdf: false comments: false status: new --- # Die MDM-/MAM-Reise
![MDM/MAM](images/mdm.jpg){ loading=lazy }
Foto von Firmbee.com auf Unsplash
**Mobile Device Management (MDM)** und **Mobile Application Management (MAM)** sind essenziell für Unternehmen, um **Sicherheit**, **Kontrolle** und **Effizienz** im Umgang mit mobilen Geräten und Apps zu gewährleisten. Einem **MDM** kommen dabei insbesondere folgende Aufgaben zu: * Zentrale Verwaltung und zentrales Absichern von Firmen- und BYOD-Geräten, * Remote-Wipe bei Diebstahl oder Verlust, * Zentrale Richtlinien für Updates, Zugriffe und Verschlüsselung bereitstellen. **Mobile Application Management** kommen u.a. folgende Aufgaben zu: * Kontrollieren und Schützen von Unternehmens-Apps unabhängig vom Gerät, * Verhinderung von unautorisiertem Zugriff und Datenlecks, * selektives Löschen geschäftlicher Daten ohne persönliche Daten zu berühren, * Zentrale und selektive Bereitstellung von Unternehmensanwendungen. So richtig begann die Reise für mich 2012, als ich das erste Mal überhaupt mit einem Macbook in Berührung kam. Vorher war ich ausschließlich mit Linux und Windows unterwegs. Erste Schritte zum Mobile Device Management unternahm ich allerdings bereits 2010 mit der Software [OPSI](https://opsi.org/de/). ## Projektbeschreibung - Grundausbaustufe 2012 wurde die Betriebssystemsoftware für die Macbooks im Unternehmen noch auf USB-Sticks bereitgestellt. Es wurde von der IT dann eine grundlegende, *manuelle* Softwareinstallation auf den Geräten durchgeführt und jeder Mitarbeiter hatte die Möglichkeit darüberhinaus weitere Anwendungen eigenständig zu installieren. Dies war für die IT zeitaufwändig und verhinderte die Standardisierung der Clientsysteme. Im Jahr 2013 wurde ich auf das Softwareprojekt [Munki](https://www.munki.org/munki/) aufmerksam und realisierte die Umsetzung auf einem freien Mac Mini. Neben **Munki** kamen weitere Softwareprodukte zum Einsatz: * [Autopkg](https://github.com/autopkg/autopkg): Automatisierung der Paketierung und Softwareverteilung unter macOS. * [NetSUS](https://github.com/jamf/NetSUS): NetBoot und Software-Aktualisierungsserver für Betriebssystemupdates. * [MWA2](https://github.com/munki/mwa2): Munkiwebadmin 2 für die Verwaltung der Anwendungssoftwarepakete * [MunkiReport](https://github.com/munkireport/munkireport-php): MunkiReport für Reporting der Softwareumgebung, gleichzeitig die Inventarisierung der Systeme mit allen relevanten Informationen zur Hardware. Die NetSUS-Server und Systeme zur Bereitstellung von Softwarepaketen wurden je einmal an jedem Standort (Berlin, Frankfurt, Stuttgart) platziert um eine schnelle Bereitstellung von Softwarepaketen und Betriebssystemupdates zu gewährleisten. Für die Aktualisierung der iPads und iOS-Devices kam auf den macOS-Devices der Dienst "Inhaltscaching" zum Tragen. Zusätzlich schrieb ich eine Software, welcher eine nächtliche Aktualisierung der Anwendungssoftwarepakete vornahm (umfangreiches Bash-Shellscript) und durch die IT am nächsten Morgen mit MWA2 freigegeben wurde. Während der Pandemie wurden die Munki-Serversysteme durch ein externes System erweitert, da die Mitarbeiter:innen primär im Homeoffice gearbeitet hatten. Somit gab es einen zentralen Munki-Package-Server und einen zentralen NetSUS-Server. Das System bewährte sich und wurde schnell akzeptiert. Ein herausragender Bestandteil von Munki war das sogenannte **Managed Software Center (MSC)**, welches einen unternehmensweiten App-Store für macOS-Devices darstellte. ![Managed Software Center](images/managed_software_center.png) ## Projektbeschreibung - Erweiterung um Mobile Device Management (MDM) Mit der Open-Source-Lösung **[MicroMDM](https://micromdm.io/)** und verschiedener Hilfsmittel * [InstallApplications](https://github.com/macadmins/installapplications) - quasi das Kernstück neben MicroMDM, Hilfsmittel um die Grundkonfiguration des Rechners zu definieren und für das Device Enrollment Programm als *Ansprechpartner* zu fungieren, * [DEPNotify](https://gitlab.com/Mactroll/DEPNotify) - hptsl. für die Bildschirmausgabe und Benutzerinteraktion, * [MDS](https://twocanoes.com/products/mac/mds/) von Twocanoes Software zur Bereitstellung von Betriebsystemabbildern zur automatischen (Re-)Installation der MacBooks über das Netz konnten wir den Rollout von macOS-Rechner vereinfachen, weiter standardisieren und gleichzeitig beschleunigen. Mithilfe des **Device Enrollment Programs (DEP)** (heute: *Apple Enrollment Program (ADE)*) konnten wir bei neuen Rechner direkt durch den Händler ein entsprechendes Flag setzen lassen, was dann beim Starten von neu beschafften Rechnern direkt den Installationsvorgang mit den vordefinierten Parametern starten konnte. Dies führten wir dann später auch für die mobilen Devices ein wie iPhones und iPads. Der Umstellungsprozess musste gut durchdacht sein, und nun nahmen wir [UMAD](https://github.com/macadmins/umad) zuhilfe, um die Umstellung der Rechner auf den MDM-Betrieb vorzunehmen. Neben der Umstellung auf **MicroMDM** wurden Anwendungs- und Systemprofile definiert und aufgespielt zur Konfiguration von Anwendungen und Systemen, beispielsweise zur automatischen Sperrung des Rechners, der grundlegenden Härtung von Clientpasswörtern usw. Neben der Umstellung auf MicroMDM haben wir mit [FusionInventory](https://fusioninventory.org/) automatische Inventarisierung der Clientsysteme eingeführt und mit der [SupportApp](https://github.com/root3nl/SupportApp) ein kleines Helferlein für die Menüleiste geschaffen. Zusammengefasst: wir waren nun mit dieser Erweiterung in der Lage den Rechnerrollout vollautomatisch durchzuführen. Die zentralen NetSUS-Server wurden noch während der Pandemie eingestampft, da Apple diese nicht mehr unterstützte. Wie sich der Onboarding-Prozess von macOS-Devices ungefähr anfühlte kann man bei der Firma Kolide [anschauen](https://www.kolide.com/blog/macos-onboarding-at-kolide). ## Projektbeschreibung - Umstieg auf Microsoft Endpoint Manager (Intune) Die bisherige Lösung hatte ein paar wesentliche Nachteile: * *Windows-Devices* (wenn auch nur in geringer Stückzahl vorhanden) wurden bisher nicht berücksichtigt, * **Jamf Now** wurde als zusätzliche Software zur Verwaltung der Mobiledevices iPhone und iPad eingeführt, * die Angestelltenzahl nahm zu, * nicht jeder Systemadministrator kommt mit der Shell zurecht, * und durch die Pandemie mussten wir Devices direkt vom Händler weiterreichen. Es musste also eine Konsolidierung der verschiedenen Systeme durchgeführt werden. Durch die Umstellung auf *Microsoft Office E5* konnten wir nun u.a. auf den **Microsoft Endpoint Manager (Intune)** migrieren. Hierbei kamen uns die Erfahrungen, welche wir mit MicroMDM gemacht hatten, zu Gute. Haben wir doch von Grund auf gelernt, wie ein MDM funktioniert. Grundlegend mussten wir einige Dinge durchdenken und veränderten die Systemwelt wie folgt: * *Windows-Devices* wurden nun auch über *Intune* abgebildet, die Umstellung war auf dem ersten Device etwas holprig, da sich Apple-MDM und Windows-MDM in der dahinterstehenden Überlegungen doch grundsätzlich unterscheiden, * *iOS-* und *iPadOS-Devices* mussten von Jamf Now migriert werden und die in Jamf Now vorgenommenen Einstellungen als Profile in *Intune* bereitgestellt werden, * *Munki* wurde durch die Anwendungsverwaltung in *Intune* abgelöst und das *Munki Software Center* durch das *Intune Unternehmensportal* abgelöst. Die komfortable Bereitstellung von Anwendungen über Munki musste nun umgebaut werden, dies realisierten wir durch [Intune Shell-Scripts](https://github.com/microsoft/shell-intune-samples) und für die manuelle Bereitstellung im Portal durch teilweise Repaketierung und Resignierung von Anwendungen. Es mussten in dem Zuge einige neue Shell-Skripte realisiert, Anwendungen einem Paketierungsprozess unterzogen und in Intune eingestellt werden, * Ein ausgeklügeltes Rechte- und Rollenkonzept wurde auf die Softwareprodukte erweitert und installiert nun das Device so, wie es der Anwender benötigt, * Testbetrieb für Dualnutzung (Privat/Business) initiiert für bereitgestellte iOS-Devices, * [Nudge](https://github.com/macadmins/nudge) stupste Mitarbeiter:innen regelmäßig an, wenn Updates nicht zeitnah installiert wurden, * Für die Inventarisierung stellten wir auf den [GLPI-Agent](https://github.com/glpi-project/glpi-agent) für Windows- und macOS-Devices um und inventarisierten direkt mit [GLPI](https://glpi-project.org/). ![Intune Unternehmensportal](images/intune.png) Mit einer breit angelegten Kommunikation, einer einfachen Anleitung "zum Selbermachen" und erhöhter Bereitschaft der IT beim Anwendersupport konnten wir die Umstellung in-time durchführen. Bis auf wenige Ausnahmen verlief die Umstellung problemlos. Mit der Bereitstellung von **Apple Platform SSO** in Verbindung mit **Microsoft Entra ID** konnten wir auch ein durchgängiges Single-Sign-On-Feeling auf den Devices schaffen und hierbei kam der [Zero-Trust-Ansatz](/projects/profiles/zero-trust-security) ebenfalls zum Tragen. ## Fazit und Ausblick Trotz einigen Umstellungsaufwands haben sich die Innovationen in den verschiedenen aufgezeigten Phasen bewährt. Neben den Vorteilen die jede Phase mit sich brachte, lernten die IT-Mitarbeitenden auch vielerlei neue Aspekte einer modernen IT kennen. Aus Informationssicherheits- und Datenschutzsicht sind **Mobile Device Management (MDM)** und **Mobile Application Managment (MAM)** sowie das ebenso eingeführte **Microsoft Defender for Endpoint** Meilensteine und nicht wegzudenken aus der IT-Landschaft. Zu kämpfen hatten wir allerdings mit den Unzulänglichkeiten beim System von Microsoft, welches uns hin und wieder in die Rolle des "Beta-Testenden" drückte. Wichtig ist während der Umstellungsphasen ausreichend zu kommunizieren, gute Dokumentationen zu liefern und einen guten Anwendersupport bereitzustellen. Die Einführung des Systems in der letzten Ausbaustufe bringt natürlich auch den Vorteil mit sich unter Zuhilfenahme von Hardwarelieferanten logistische Konzepte zu entwickeln, welche auch den Versand vom Lieferant zur Mitarbeiterin und zum Mitarbeiter abbilden und damit weiter zur Entlastung von IT-Abteilungen beitragen. Quasi: Rechner wird geliefert, vom Personal eingeschaltet und installiert sich selbst. In dem gerade ausgerufenen Jahr der "KI-Agenten" kann ich mir gut vorstellen, dass man derartige Umstellungen durch Agenten begleitet bzw. die Agenten bei auftretenden Problemen assistieren. Auch eine Integration des IT-Onboardings kann man sich bspw. mit [Octory](https://octory.io/) gut vorstellen. Ebenso spannend empfinde ich die Entwicklung hier bei [Fleet](https://github.com/fleetdm/fleet), welches u.a. Teile der von mir aufgezeigten Werkzeuge auch mit einem Open-Source-MDM wie [nanoMDM](https://github.com/micromdm/nanomdm) verbindet.