Rozšíření systému a kernelu v prostředí macOS
Systém macOS 10.15 nebo novější umožňuje vývojářům rozšířit možnosti systému macOS o instalaci a správu takových rozšíření systému, která se spouštějí v uživatelském prostoru, a nikoli na úrovni kernelu. Při spouštění rozšíření systému v uživatelském prostoru se posiluje stabilita a zabezpečení systému macOS. Ačkoli mají rozšíření kernelu ze své podstaty plný přístup do celého operačního systému, při spuštění v uživatelském prostoru jsou jim přidělena jen taková oprávnění, která jsou nezbytně nutná pro výkon jejich konkrétních funkcí.
Rozšíření systému podporují robustní systém správy prostřednictvím služby MDM, včetně možnosti povolit všechna rozšíření od určitého vývojáře nebo rozšíření určitého typu (například síťová rozšíření) bez zásahu uživatele. Služba MDM může volitelně uživatelům zakázat schvalování a zavádění vlastních rozšíření systému.
V systémech macOS 11.3 až macOS 11.6.4 se změny provedené v profilu systémového rozšíření přímo promítají do stavu rozšíření. Jestliže například některé rozšíření čeká na schválení a systém obdrží push zprávu s konfiguračním profilem, který toto rozšíření povoluje, je povoleno jeho zavedení. Pokud je naopak schválení odvoláno, zavedení systémového rozšíření se zruší (bude uvolněno) a bude naplánováno jeho odstranění při příštím restartu Macu. Pokud se některé systémové rozšíření pokusí o vlastní uvolnění, zobrazí se interaktivní dialogové okno s výzvou k ověření totožnosti zadáním údajů správce a k autorizaci tohoto uvolnění.
V systému macOS 12.0.1 nebo novějším můžou správci MDM pomocí slovníku v datové části System Extensions (s označením RemovableSystemExtension
) určit, které aplikace smějí odstranit svá vlastní systémová rozšíření. K odstranění systémových rozšíření není vyžadováno ověření totožnosti místního správce. To je užitečné zejména pro dodavatele, kteří chtějí ke svým aplikacím nabízet automatické odinstalátory.
Kernel extensions (Rozšíření kernelu)
V systému macOS 11 nebo novějších platí, že pokud je povoleno použití rozšíření kernelu (kext) pocházejících od třetí strany, nelze tato rozšíření zavést do kernelu na vyžádání (on demand). Tato rozšíření vyžadují před zavedením změn do kernelu souhlas uživatele a restart systému macOS. Na Macu s čipem Apple musí být navíc nakonfigurováno zabezpečené spouštění na úroveň Snížené zabezpečení.
Vývojáři mohou využívat různé frameworky, například DriverKit nebo NetworkExtension, k zapisování USB ovladačů a ovladačů uživatelského rozhraní, nástroje pro zabezpečení koncových bodů (například pro prevenci datových ztrát nebo zabránění přístupu jiných agentů ke koncovým bodům) nebo VPN a síťové nástroje – to vše bez nutnosti zápisu rozšíření kernelu. Bezpečnostní agenty od nezávislých vývojářů doporučujeme používat jen v případě, že využívají tato API nebo že existuje spolehlivý postup přechodu z rozšíření jádra na tyto agenty a zpět.
Důležité: Používání rozšíření kernelu (kext) se už v systému macOS nedoporučuje. Tato rozšíření představují riziko pro integritu a spolehlivost operačního systému. Uživatelé by měli upřednostňovat řešení, která rozšíření kernelu nevyžadují a využívají místo nich rozšíření systému.
Přidávání rozšíření kernelu na počítačích Mac s procesory Intel nebo čipy Apple a systémem macOS 11 nebo novějším
Pokud musíte použít rozšíření kernelu, zkontrolujte metody schvalování podle typu registrace.
Typ registrace ve službě MDM | Metoda schvalování | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Nezaregistrováno Registrace uživatelů | Když je nainstalováno nové rozšíření kernelu a dojde k pokusu o jeho zavedení, musí uživatel vyvolat restart počítače z dialogového okna varování následovně:
Při tomto restartu se spustí nové sestavení sbírky AuxKC ještě před zavedením kernelu. | ||||||||||
Registrace zařízení Automatická registrace zařízení | Pokaždé, když je nainstalováno nové rozšíření kernelu a dojde k pokusu o jeho zavedení, musí být spuštěn restart systému některým z těchto subjektů:
Poznámka: Služba MDM musí nejdříve nainstalovat profil se seznamem povolených rozšíření kernelu, v němž je dané rozšíření kernelu uvedeno. Systém macOS 11.3 nebo novější volitelně povolí službě MDM vyzvat uživatele k dokončení restartu podle jejich uvážení. |
Další kroky pro přidání rozšíření kernelu na Macu s čipem Apple
Pokud přidáváte rozšíření kernelu na Macu s čipem Apple, je nutné provést další kroky.
Typ registrace ve službě MDM | Metoda schvalování | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Nezaregistrováno | Správa rozšíření kernelu uživatelem vyžaduje restart do režimu recoveryOS, aby bylo možné snížit nastavenou úroveň zabezpečení. Uživatel musí podržením zapínacího tlačítka restartovat do režimu recoveryOS a potom se přihlásit s ověřením totožnosti jako správce. Modul Secure Enclave umožní přijetí změn zásad až poté, když podržením zapínacího tlačítka restartujete do režimu recoveryOS. Uživatel potom musí zaškrtnout políčko Snížené zabezpečení a volbu „Povolit uživatelskou správu rozšíření kernelu od známých vývojářů“ a nakonec restartovat Mac. | ||||||||||
Registrace uživatelů | Uživatel musí restartovat do režimu recoveryOS, aby bylo možné snížit nastavenou úroveň zabezpečení. Uživatel musí podržením zapínacího tlačítka restartovat do režimu recoveryOS a potom se přihlásit s ověřením totožnosti jako místní správce. Modul Secure Enclave umožní přijetí změn zásad až poté, když podržením zapínacího tlačítka restartujete do režimu recoveryOS. Uživatel potom musí zaškrtnout políčko Snížené zabezpečení a dále také volbu „Povolit uživatelskou správu rozšíření kernelu od známých vývojářů“ a nakonec restartovat Mac. | ||||||||||
Registrace zařízení | Služba MDM by měla uživatele upozornit na to, že je nutné restartovat do režimu recoveryOS, aby bylo možné snížit nastavenou úroveň zabezpečení. Uživatel musí podržením zapínacího tlačítka restartovat do režimu recoveryOS a potom se přihlásit s ověřením totožnosti jako správce. Modul Secure Enclave umožní přijetí změn zásad až poté, když podržením zapínacího tlačítka restartujete do režimu recoveryOS. Uživatel potom musí zaškrtnout políčko Snížené zabezpečení a dále také volbu „Povolit vzdálenou správu rozšíření kernelu a automatickou aktualizaci softwaru“ a nakonec restartovat Mac. Informace o tom, zda je tato funkce na vašich zařízeních podporována, najdete v dokumentaci od dodavatele služby MDM. | ||||||||||
Automatická registrace zařízení (V Apple School Manageru, Apple Business Manageru nebo Apple Business Essentials se musí zobrazit sériové číslo Macu a Mac musí být zaregistrován v systému MDM propojeném se službou.) | Služba MDM tuto akci umožňuje provést automaticky. Informace o tom, zda je tato funkce na vašich zařízeních podporována, najdete v dokumentaci od dodavatele služby MDM. |
Rozšíření kernelu při aktivované ochraně integrity systému
Pokud je aktivována ochrana integrity systému (SIP), bude před přidáním rozšíření kernelu do sbírky AuxKC vždy nejprve ověřen jeho podpis.
Je‑li ochrana SIP vypnutá, kontrola podpisů rozšíření kernelu neprobíhá.
Tento přístup umožňuje vývojářům a uživatelům, kteří nejsou zapojeni do programu Apple Developer Program, v rámci procesů Propustného zabezpečení testovat rozšíření kernelu ještě před jejich podepsáním.