System- og kjerneutvidelser i macOS
macOS 10.15 eller nyere gir utviklere muligheten til å utvide mulighetene i macOS ved å installere og administrere systemutvidelser som kjøres i brukerområdet i stedet for på kjernenivå. Ved å kjøre i brukerområdet øker systemutvidelsene stabiliteten og sikkerheten i macOS. Selv om kext-er i seg selv har fullstendig tilgang til hele operativsystemet, får utvidelsene som kjøres i brukerområdet, kun rettighetene som er nødvendige for å utføre den spesifiserte oppgaven.
Systemutvidelser støtter robust administrasjon med MDM, inkludert muligheten til å tillate at alle utvidelser fra en bestemt utvikler eller en bestemt type (som nettverksutvidelser) lastes inn uten brukermedvirkning. MDM kan også forhindre at brukere godkjenner sine egne systemutvidelser for innlasting.
I macOS 11.3 til macOS 11.6.4 kan endringer som gjøres i en systemutvidelsesprofil, påvirke tilstanden til eb utvidelse. Hvis for eksempel en utvidelse venter på godkjenning og det rulles ut en konfigurasjonsprofil som tillater utvidelsen, vil utvidelsen kunne lastes inn. Hvis en godkjenning trekkes tilbake, vil systemutvidelsen lastes ut og merkes for fjerning neste gang Macen startes på nytt. Hvis en systemutvidelse prøver å laste seg ut selv, vises en interaktiv dialogrute der administratoren må logge seg inn for å godkjenne utlastingen.
I macOS 12.0.1 og nyere tillater en ordbok i System Extensions-nyttelasten – kalt RemovableSystemExtensions
– at en MDM-administrator kan spesifisere hvilke apper som har lov til å fjerne sine egne systemutvidelser. Det kreves ingen autentisering av en lokal administrator for å fjerne systemutvidelsene. Dette er ekstra nyttig for leverandører som tilbyr automatisk avinstallering av appene sine.
Kjerneutvidelser
I macOS 11 eller nyere kan ikke eventuelle aktiverte kjerneutvidelser (kext-er) fra tredjeparter lastes inn i kjernen ved behov. De krever brukerens godkjenning og omstart av macOS for å laste endringene inn i kjernen, og de krever også at den sikre oppstarten konfigureres til Redusert sikkerhet på Macer med Apple-chip.
Utviklere kan bruke rammeverk som DriverKit og NetworkExtension til å skrive USB- og grensesnittdrivere, endepunktsikkerhetsverktøy (som forhindring av tap av data eller andre endepunktagenter), og VPN- og nettverksverktøy – helt uten å måtte skrive kjerneutvidelser. Sikkerhetsagenter fra tredjeparter skal kun brukes hvis de drar nytte av disse API-ene eller har en solid plan for overgangen til dem og bort fra kjerneutvidelsene.
Viktig: Kext-er anbefales ikke lenger for macOS. Kext-er risikerer integriteten og påliteligheten til operativsystemet. Brukere bør derfor foretrekke løsninger som ikke krever utvidelser av kjernen, og bruke systemutvidelser i stedet.
Legge til kext-er på Macer (Intel-baserte eller med Apple-chip) med macOS 11 eller nyere
Hvis du må bruke kjerneutvidelser, leser du gjennom godkjenningsmetodene basert på registreringstype.
MDM-registreringstype | Godkjenningsmetode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ikke registrert Brukerregistrering | Når en ny kext er installert og skal lastes inn, må en omstart utføres av brukeren fra advarselen i:
Denne omstarten starter gjenoppbyggingen av AuxKC før kjerneoppstarten. | ||||||||||
Enhetsregistrering Automatisert enhetsregistrering | Hver gang en ny kext er installert og den skal lastes inn, må en omstart settes i gang av enten:
Merk: MDM-løsningen må først installere en kext-tillatelseslisteprofil som spesifiserer kext-en. macOS 11.3 eller nyere lar også MDM-en varsle brukeren om å gjennomføre omstarten på et egnet tidspunkt. |
Ekstra trinn for å legge til kext-er på Macer med Apple-chip
Hvis du legger til kjerneutvidelser på en Mac med Apple-chip, må du gjennom ekstra trinn.
MDM-registreringstype | Godkjenningsmetode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ikke registrert | Kext-administrering av brukeren krever en omstart til recoveryOS for å nedgradere sikkerhetsinnstillingene. Brukeren må holde nede av/på-knapp for å starte på nytt i recoveryOS og autentisere som en administrator. Det er bare når recoveryOS åpnes ved hjelp av Av/på-knappen vil Secure Enclave godta endringer i kriterier. Brukeren må deretter markere avkrysningsruten for Redusert sikkerhet og alternativet «Tillat brukeradministrering av kjerneutvidelser fra identifiserte utviklere» og starte Macen på nytt. | ||||||||||
Brukerregistrering | Brukeren må starte på nytt i recoveryOS for å nedgradere sikkerhetsinnstillingene. Brukeren må holde nede av/på-knapp for å starte på nytt i recoveryOS og autentisere som lokal administrator. Det er bare når recoveryOS åpnes ved hjelp av Av/på-knappen vil Secure Enclave godta endringer i kriterier. Brukeren må deretter velge Redusert sikkerhet, markere avkrysningsruten «Tillat brukeradministrering av kjerneutvidelser fra identifiserte utviklere» og starte Macen på nytt. | ||||||||||
Enhetsregistrering | MDM-løsningen bør varsle brukerne om at de må starte på nytt i recoveryOS for å nedgradere sikkerhetsinnstillingene. Brukeren må holde nede av/på-knapp for å starte på nytt i recoveryOS og autentisere som en administrator. Det er bare når recoveryOS åpnes ved hjelp av Av/på-knappen vil Secure Enclave godta endringer i kriterier. Brukeren må deretter velge Redusert sikkerhet, markere avkrysningsruten «Tillat ekstern administrering av kjerneutvidelser og automatiske programvareoppdateringer» og starte Macen på nytt. Hvis du vil finne ut om denne funksjonen støttes på enhetene dine, slår du opp i dokumentasjonen som gjelder for MDM-leverandøren. | ||||||||||
Automatisert enhetsregistrering (Macens serienummer må vises i Apple School Manager, Apple Business Manager eller Apple Business Essentials, og Macen må være registrert i en MDM-løsning som er koblet til tjenesten.) | MDM-løsninger kan administrere dette automatisk. Hvis du vil finne ut om denne funksjonen støttes på enhetene dine, slår du opp i dokumentasjonen som gjelder for MDM-leverandøren. |
Kjerneutvidelser med System Integrity Protection
Hvis System Integrity Protection (SIP) er aktivert, verifiseres signaturen for hver kext før den blir inkludert i AuxKC.
Hvis SIP er deaktivert, håndheves ikke kext-signaturen.
Denne tilnærmingen tillater Middels sikkerhet-flyter for utviklere eller brukere som ikke er en del av Apple Developer Program, slik at de kan teste kext-er før de signeres.