Rozšírenia systému v macOS
Mac so systémom macOS 10.15 alebo novším umožňuje vývojárom rozširovať možnosti systému macOS inštaláciou a správou rozšírení systému, ktoré bežia v priestore užívateľov a nie na úrovni kernelu. Vďaka tomu, že rozšírenia systému bežia v priestore užívateľov, zvyšujú stabilitu a zabezpečenie macOS. Hoci kexty majú neodmysliteľne plný prístup k celému operačnému systému, rozšíreniam bežiacim v priestore užívateľov sa udeľujú len oprávnenia nevyhnutné na vykonanie ich uvedenej funkcie.
Rozšírenia systému podporujú robustnú správu pomocou riešenia MDM vrátane možnosť povoliť načítanie všetkých rozšírení od konkrétneho vývojára alebo rozšírenia konkrétneho typu (napríklad sieťové rozšírenia) bez interakcie užívateľa. Riešenie MDM môže voliteľne zakázať užívateľom schvaľovať načítavanie svojich vlastných rozšírení systému.
Na Macu so systémom macOS 12.0.1 alebo novším umožňuje slovník v objeme dát Rozšírenia systému s názvom RemovableSystemExtensions
MDM správcovi špecifikovať, ktoré apky by mali mať možnosť odstrániť svoje vlastné rozšírenia systému. Na vymazanie rozšírení systému nie je potrebná autentifikácia lokálneho správcu. Je to osobitne výhodné v prípade poskytovateľov, ktorí môžu poskytovať pre svoje apky odinštalátory.
Na Macoch so systémom macOS 11.3 až macOS 11.6.4 má zmena rozšírenia systému priamy vplyv na stav rozšírenia. Ak napríklad nejaké rozšírenie čaká na schválenie a odošle sa konfiguračný profil, ktorý toto rozšírenie povoľuje, rozšíreniu bude umožnené načítanie. Naopak, ak bude schválenie rozšírenia systému zrušené, zruší sa aj načítanie tohto rozšírenia a bude označené na odstránenie pri najbližšom reštarte Macu. Ak sa pokúsi o zrušenie načítania samotné rozšírenie, zobrazí sa interaktívne dialógové okno autentifikácie, v ktorom bude musieť správca takéto zrušenie načítania autorizovať.
Rozšírenia kernelu
Na Macoch so systémom macOS 11 alebo novším nebude v prípade povolenia rozšírení kernelu (kextov) tretích strán možné načítať ich do kernelu na vyžiadanie. Vyžadujú schválenie užívateľom a reštartovanie macOS a až potom sa zmeny načítajú do kernelu. Podmienkou je navyše to, aby bolo zabezpečené štartovanie nakonfigurované na možnosť Znížené zabezpečenie na Macoch s Apple čipom.
Vývojári môžu používať frameworky ako sú DriverKit a NetworkExtension na zapisovanie cez ovládače USB a human interface, bezpečnostné nástroje koncových bodov (ako napríklad prevencia straty dát a ďalšie agenty koncových bodov), ako aj VPN a sieťové nástroje, a to bez potreby zapisovania do kextov. Bezpečnostní agenti tretích strán by sa mali používať len v prípade, ak využívajú tieto API alebo ak majú robustný plán tranzície k nim a od nich smerom z rozšírení kernelu.
Dôležité: Kexty viac nie sú pre macOS odporúčané. Tieto rozšírenia predstavujú riziko pre integritu a spoľahlivosť operačného systému. Užívatelia by mali uprednostňovať riešenia, ktoré rozšírenia kernelu nevyžadujú a namiesto nich využívajú rozšírenia systému.
Pridávanie kextov na Macoch s procesormi Intel alebo Apple čipmi a systémom macOS 11 alebo novším
Ak používate rozšírenia kernelu, pozrite si spôsoby schválenia podľa metódy registrácie.
Metóda registrácie do MDM | Spôsob schválenia | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Neregistrované Registrácia užívateľa | Keď sa nainštaluje nový kext a nastane pokus o jeho načítanie, reštart musí iniciovať užívateľ v dialógovom okne v:
Tento reštart iniciuje prebudovanie AuxKC pred spustením kernelu. | ||||||||||
Registrácia zariadenia Automatická registrácia zariadenia | Vždy keď sa nainštaluje nový kext a nastane pokus o jeho načítanie, reštart musí iniciovať buď:
Poznámka: Riešenie MDM musí najprv nainštalovať profil zoznamu povolených kextov so špecifikáciou daného kextu. Mac so systémom macOS 11.3 alebo novším voliteľne umožňuje MDM oznámiť užívateľovi možnosť vykonať reštart, keď to považuje za vhodné. |
Dodatočné kroky na pridanie kextov na Macu s Apple čipom
Ak pridávate rozšírenia kernelu na Macu s Apple čipom, musíte vykonať nasledujúci postup.
Metóda registrácie do MDM | Spôsob schválenia | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Neregistrované | Správa kextu užívateľom vyžaduje reštart do recoveryOS s cieľom degradovať nastavenia zabezpečenia. Na reštartovanie do recoveryOS a autentifikáciu ako správca je potrebné, aby užívateľ podržal tlačidlo napájania. Secure Enclave prijme zmenu pravidiel až potom, ako sa zapne recoveryOS pomocou tlačidla napájania. Užívateľ musí následne zaškrtnúť políčko Znížené zabezpečenie a možnosť „Povoliť užívateľskú správu rozšírení kernelu od identifikovaných vývojárov“ a reštartujte Mac. | ||||||||||
Registrácia užívateľa | Užívateľ musí reštartovať do recoveryOS s cieľom degradovať nastavenia zabezpečenia. Na reštartovanie do recoveryOS a autentifikáciu ako lokálny správca je potrebné, aby užívateľ podržal tlačidlo napájania. Secure Enclave prijme zmenu pravidiel až potom, ako sa zapne recoveryOS pomocou tlačidla napájania. Užívateľ musí následne vybrať možnosť Znížené zabezpečenie, zaškrtnúť políčko „Povoliť užívateľskú správu rozšírení kernelu od identifikovaných vývojárov“ a reštartovať Mac. | ||||||||||
Registrácia zariadenia | Riešenie MDM by malo upozorniť užívateľa, že musí reštartovať do recoveryOS s cieľom degradovať nastavenia zabezpečenia. Na reštartovanie do recoveryOS a autentifikáciu ako správca je potrebné, aby užívateľ podržal tlačidlo napájania. Secure Enclave prijme zmenu pravidiel až potom, ako sa zapne recoveryOS pomocou tlačidla napájania. Užívateľ musí následne vybrať možnosť Znížené zabezpečenie, zaškrtnúť políčko Povoliť vzdialenú správu rozšírení kernelu a automatických aktualizácií softvéru a reštartovať Mac. Informácie o tom, či je táto funkcia na vašich zariadeniach podporovaná, nájdete v dokumentácii dodávateľa riešenia MDM. | ||||||||||
Automatická registrácia zariadenia (Sériové číslo Macu sa musí zobraziť v Apple School Manageri alebo Apple Business Manageri a Mac musí byť zaregistrovaný v MDM riešení prepojenom so službou.) | Túto funkciu dokážu riešenia MDM spravovať automaticky. Informácie o tom, či je táto funkcia na vašich zariadeniach podporovaná, nájdete v dokumentácii dodávateľa riešenia MDM. |
Rozšírenia kernelu s Ochranou integrity systému
Ak je povolená Ochrana integrity systému (SIP), podpis každého kextu sa pred jeho zahrnutím v AuxKC overí.
Ak je SIP zakázaný, podpis kextu sa nebude vynucovať.
Tento prístup umožňuje toky Priepustné zabezpečenie aj pre vývojárov alebo užívateľov, ktorí nie sú súčasťou programu Apple Developer Program, a testovať tak kexty pred ich podpísaním.