Επεκτάσεις συστήματος και πυρήνα στο macOS
Το macOS 10.15 ή μεταγενέστερο επιτρέπει σε προγραμματιστές να επεκτείνουν τις δυνατότητες του macOS μέσω της εγκατάστασης και της διαχείρισης επεκτάσεων συστήματος που εκτελούνται στον χώρο χρήστη αντί του επιπέδου πυρήνα. Χάρη στην εκτέλεση στον χώρο χρήστη, οι επεκτάσεις συστήματος αυξάνουν τη σταθερότητα και την ασφάλεια του macOS. Παρόλο που τα kext έχουν εγγενώς πλήρη πρόσβαση σε ολόκληρο το λειτουργικό σύστημα, στις επεκτάσεις που εκτελούνται στον χώρο χρήστη εκχωρούνται μόνο τα προνόμια που είναι απαραίτητα για εκτέλεση της καθορισμένης λειτουργίας τους.
Οι επεκτάσεις συστήματος υποστηρίζουν ισχυρή διαχείριση με χρήση MDM, συμπεριλαμβανομένης της δυνατότητας να επιτρέπεται η φόρτωση όλων των επεκτάσεων από έναν συγκεκριμένο προγραμματιστή ή ενός συγκεκριμένου τύπου (όπως επεκτάσεις δικτύου) χωρίς αλληλεπίδραση χρήστη. Προαιρετικά, το MDM μπορεί να απαγορεύει στους χρήστες να εγκρίνουν τη φόρτωση των δικών τους επεκτάσεων συστήματος.
Στο macOS 11.3 έως και το macOS 11.6.4, η πραγματοποίηση αλλαγών σε ένα προφίλ επέκτασης συστήματος επηρεάζει άμεσα την κατάσταση μιας επέκτασης. Για παράδειγμα, αν εκκρεμεί έγκριση για μια επέκταση και ωθηθεί ένα προφίλ διαμόρφωσης που επιτρέπει την επέκταση, θα επιτραπεί η φόρτωση της επέκτασης. Αντιθέτως, αν μια έγκριση ανακληθεί, καταργείται η φόρτωση της επέκτασης συστήματος και επισημαίνεται για αφαίρεση στην επόμενη επανεκκίνηση του Mac. Αν μια επέκταση συστήματος προσπαθήσει να καταργήσει η ίδια τη φόρτωσή της, εμφανίζεται ένα διαδραστικό πλαίσιο διαλόγου ελέγχου ταυτότητας που απαιτεί τα διαπιστευτήρια του διαχειριστή για την εξουσιοδότηση της κατάργησης φόρτωσης.
Στο macOS 12.0.1 ή μεταγενέστερη έκδοση, ένα λεξικό στο φορτίο «Επεκτάσεις συστήματος», που ονομάζεται RemovableSystemExtensions
, επιτρέπει σε έναν διαχειριστή MDM να καθορίσει ποιες εφαρμογές θα μπορούν να αφαιρέσουν τις δικές τους επεκτάσεις συστήματος. Δεν απαιτείται έλεγχος ταυτότητας τοπικού διαχειριστή για αφαίρεση των επεκτάσεων συστήματος. Αυτό είναι ιδιαίτερα χρήσιμο για προμηθευτές που μπορεί να παρέχουν αυτοματοποιημένα προγράμματα κατάργησης εγκατάστασης για τις εφαρμογές τους.
Επεκτάσεις πυρήνα
Στο macOS 11 ή σε μεταγενέστερες εκδόσεις, αν είναι ενεργοποιημένες οι επεκτάσεις πυρήνα (kext) τρίτων, δεν είναι δυνατή η φόρτωσή τους στον πυρήνα κατόπιν αιτήματος. Απαιτούν την έγκριση του χρήστη και την επανεκκίνηση του macOS για φόρτωση των αλλαγών στον πυρήνα, και επίσης απαιτούν τη ρύθμιση της ασφαλούς εκκίνησης σε «Μειωμένη ασφάλεια» σε ένα Mac με Apple Silicon.
Οι προγραμματιστές μπορούν να χρησιμοποιήσουν πλαίσια εργασίας, όπως το DriverKit και το NetworkExtension, για να εγγράψουν προγράμματα οδήγησης USB και ανθρώπινης διεπαφής, εργαλεία ασφαλείας τελικού σημείου (όπως πρόληψη απώλειας δεδομένων ή άλλους πράκτορες τελικού σημείου), και εργαλεία VPN και δικτύου, όλα αυτά χωρίς να χρειάζεται να εγγράψουν kext. Οι πράκτορες ασφαλείας τρίτων πρέπει να χρησιμοποιούνται μόνο αν αξιοποιούν αυτά τα API ή διαθέτουν ένα ισχυρό σχέδιο δράσης για μετάβαση σε αυτά και απομάκρυνση από τις επεκτάσεις πυρήνα.
Σημαντικό: Τα kext δεν συνιστώνται πλέον για το macOS. Οι επεκτάσεις πυρήνα (kext) θέτουν σε κίνδυνο την ακεραιότητα και την αξιοπιστία του λειτουργικού συστήματος. Οι χρήστες θα πρέπει να προτιμούν λύσεις που δεν απαιτούν επέκταση του πυρήνα και να χρησιμοποιούν επεκτάσεις συστήματος αντ' αυτού.
Προσθήκη kext σε Mac με επεξεργαστή Intel ή με Apple Silicon και macOS 11 ή μεταγενέστερη έκδοση
Αν πρέπει να χρησιμοποιήσετε επεκτάσεις πυρήνα, εξετάστε τις μεθόδους έγκρισης με βάση τον τύπο εγγραφής.
Τύπος εγγραφής MDM | Μέθοδος έγκρισης | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Δεν έχει εγγραφεί Εγγραφή χρήστη | Όταν εγκαθίσταται ένα νέο kext και γίνεται απόπειρα φόρτωσής του, ο χρήστης πρέπει να κάνει επανεκκίνηση από το πλαίσιο διαλόγου προειδοποίησης στο:
Αυτή η επανεκκίνηση εκκινεί την αναδόμηση του AuxKC πριν από την εκκίνηση του πυρήνα. | ||||||||||
Εγγραφή συσκευής Αυτοματοποιημένη εγγραφή συσκευής | Κάθε φορά που εγκαθίσταται ένα νέο kext και γίνεται απόπειρα φόρτωσής του, πρέπει να γίνει επανεκκίνηση από:
Σημείωση: Πρέπει πρώτα να εγκατασταθεί ένα προφίλ λίστας επιτρεπόμενων kext από τη λύση MDM, στο οποίο καθορίζεται το kext. Το macOS 11.3 ή μεταγενέστερο επιτρέπει προαιρετικά στο MDM να ενημερώνει τον χρήστη να ολοκληρώσει την επανεκκίνηση όταν είναι εύκολο. |
Επιπρόσθετα βήματα για προσθήκη kext σε Mac με Apple Silicon
Αν προσθέτετε επεκτάσεις πυρήνα σε Mac με Apple Silicon, πρέπει να ακολουθήσετε πρόσθετα βήματα.
Τύπος εγγραφής MDM | Μέθοδος έγκρισης | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Δεν έχει εγγραφεί | Η διαχείριση kext από τον χρήστη απαιτεί επανεκκίνηση στο recoveryOS για υποβάθμιση των ρυθμίσεων ασφάλειας. Ο χρήστης πρέπει να κρατήσει πατημένο το κουμπί τροφοδοσίας για επανεκκίνηση στο recoveryOS και έλεγχο ταυτότητας ως διαχειριστής. Μόνο όταν πραγματοποιείται είσοδος στο recoveryOS με χρήση του κουμπιού τροφοδοσίας θα δεχτεί το Secure Enclave την αλλαγή πολιτικής. Στη συνέχεια, ο χρήστης πρέπει να επιλέξει το πλαίσιο επιλογής «Μειωμένη ασφάλεια» και τη ρύθμιση «Επιτρέπεται σε χρήστες να διαχειρίζονται επεκτάσεις πυρήνα από αναγνωρισμένους προγραμματιστές», και να επανεκκινήσει το Mac. | ||||||||||
Εγγραφή χρήστη | Ο χρήστης πρέπει να κάνει επανεκκίνηση στο recoveryOS για υποβάθμιση των ρυθμίσεων ασφάλειας. Ο χρήστης πρέπει να κρατήσει πατημένο το κουμπί τροφοδοσίας για επανεκκίνηση στο recoveryOS και έλεγχο ταυτότητας ως τοπικός διαχειριστής. Μόνο όταν πραγματοποιείται είσοδος στο recoveryOS με χρήση του κουμπιού τροφοδοσίας θα δεχτεί το Secure Enclave την αλλαγή πολιτικής. Στη συνέχεια, ο χρήστης πρέπει να επιλέξει «Μειωμένη ασφάλεια» και τη ρύθμιση «Επιτρέπεται σε χρήστες να διαχειρίζονται επεκτάσεις πυρήνα από αναγνωρισμένους προγραμματιστές» και να επανεκκινήσει το Mac. | ||||||||||
Εγγραφή συσκευής | Η λύση MDM πρέπει να ειδοποιήσει τον χρήστη ότι πρέπει να κάνει επανεκκίνηση στο recoveryOS για υποβάθμιση των ρυθμίσεων ασφάλειας. Ο χρήστης πρέπει να κρατήσει πατημένο το κουμπί τροφοδοσίας για επανεκκίνηση στο recoveryOS και έλεγχο ταυτότητας ως διαχειριστής. Μόνο όταν πραγματοποιείται είσοδος στο recoveryOS με χρήση του κουμπιού τροφοδοσίας θα δεχτεί το Secure Enclave την αλλαγή πολιτικής. Στη συνέχεια, ο χρήστης πρέπει να επιλέξει «Μειωμένη ασφάλεια» και τη ρύθμιση «Επιτρέπονται η απομακρυσμένη διαχείριση επεκτάσεων πυρήνα και οι αυτόματες ενημερώσεις λογισμικού» και να επανεκκινήσει το Mac. Για να μάθετε αν αυτή η δυνατότητα υποστηρίζεται για τις συσκευές σας, συμβουλευτείτε το πληροφοριακό υλικό του προμηθευτή MDM σας. | ||||||||||
Αυτοματοποιημένη εγγραφή συσκευής (Ο σειριακός αριθμός του Mac πρέπει να εμφανίζεται στο Apple School Manager, το Apple Business Manager ή το Apple Business Essentials και το Mac πρέπει να είναι εγγεγραμμένο σε μια λύση MDM που είναι συνδεδεμένη στην υπηρεσία.) | Οι λύσεις MDM μπορούν να διαχειριστούν αυτήν τη λειτουργία αυτόματα. Για να μάθετε αν αυτή η δυνατότητα υποστηρίζεται για τις συσκευές σας, συμβουλευτείτε το πληροφοριακό υλικό του προμηθευτή MDM σας. |
Επεκτάσεις πυρήνα με την Προστασία ακεραιότητας συστήματος
Αν είναι ενεργοποιημένη η Προστασία ακεραιότητας συστήματος (SIP), πρέπει να επαληθευτεί η υπογραφή κάθε kext προτού συμπεριληφθεί στο AuxKC.
Αν είναι απενεργοποιημένο το SIP, η υπογραφή kext δεν επιβάλλεται.
Αυτή η προσέγγιση επιτρέπει τις ροές Επιτρεπτικής ασφάλειας για προγραμματιστές ή χρήστες που δεν συμμετέχουν στο Πρόγραμμα προγραμματιστών της Apple, ώστε να κάνουν δοκιμές στα kext πριν από την υπογραφή τους.