
macOS’te sistem genişletmeleri
macOS 10.15 veya daha yenisine sahip bir Mac, geliştiricilerin çekirdek düzeyi yerine kullanıcı alanında çalışan sistem genişletmelerini yükleyerek ve yöneterek macOS’in yeteneklerini genişletmesine olanak tanır. Sistem genişletmeleri kullanıcı alanında çalışarak macOS’in kararlılığını ve güvenliğini artırır. Kext’ler özünde tüm işletim sistemine tam erişime sahip olsa da kullanıcı alanında çalışan genişletmelere yalnızca belirtilen işlevlerini gerçekleştirmeleri için gereken ayrıcalıklar verilir.
Sistem genişletmeleri, belirli bir geliştiriciye ait veya belirli bir türdeki (ağ genişletmeleri gibi) tüm genişletmelere izin verebilme de dahil olmak üzere kullanıcı etkileşimi olmadan MDM kullanarak güçlü yönetim desteği sunar. İsteğe bağlı olarak MDM, kullanıcıların kendi sistem genişletmelerinin yüklenmesine onay vermelerine izin vermeyebilir.
macOS 12.0.1 veya daha yenisine sahip bir Mac’te, System Extensions verisindeki RemovableSystemExtensions
adlı bir sözlük, MDM yöneticisinin hangi uygulamaların kendi sistem genişletmelerini silebilmesi gerektiğini belirlemesine izin verir. Sistem genişletmelerini silmek için hiçbir yerel yönetici kimlik doğrulaması gerekmez. Bu, özellikle uygulamalarına yönelik otomatik kaldırıcılar sunmak isteyen satıcılar için yararlıdır.
macOS 11.3 ila macOS 11.6.4 sürümlerine sahip bir Mac’te, bir sistem genişletmesi profilinde değişiklik yapılması genişletmenin durumunu doğrudan etkiler. Örneğin bir genişletme onay aşamasında bekliyorsa ve genişletmeye izin veren bir konfigürasyon profili iletilirse genişletmenin yüklenmesine izin verilir. Diğer taraftan bir onay iptal edilirse sistem genişletmesi kaldırılır ve Mac’in bir sonraki yeniden başlatılışında silinmek üzere işaretlenir. Bir sistem genişletmesi kendi yüklemesini kaldırmayı denerse bu kaldırmayı yetkilendirmek için yönetici kimlik bilgilerini isteyen bir etkileşimli kimlik doğrulama sorgu kutusu görünür.
Çekirdek genişletmeleri
macOS 11 veya daha yenisine sahip bir Mac’te, üçüncü parti genişletmeler (kext’ler) etkinleştirilmişse bunlar isteğe bağlı olarak çekirdeğe yüklenemez. Bunlar, değişikliklerin çekirdeğe yüklenmesi için kullanıcı onayını ve macOS’in yeniden başlatılmasını gerektirir; ayrıca Apple Silicon çipli bir Mac’te güvenli başlatmanın Azaltılmış Güvenlik olarak ayarlanmasını da gerektirir.
Geliştiriciler, kext yazmak zorunda kalmadan USB ve insan arabirim sürücülerine, uç nokta güvenlik araçlarına (veri kaybı önleme veya diğer uç nokta aracıları gibi), VPN ve ağ araçlarına yazmak için DriverKit ve NetworkExtension gibi framework’ler kullanabilir. Üçüncü parti güvenlik aracıları yalnızca bu API’lerden yararlanıyorsa veya bunlara ve çekirdek genişletmelerinden uzağa geçiş yapmak için güçlü bir yol haritası varsa kullanılabilir.
Önemli: Kext’ler macOS için artık önerilmez. Kext’ler işletim sisteminin bütünlüğünü ve güvenilirliğini riske atar. Kullanıcıların çekirdeği genişletmeyi gerektirmeyen çözümleri tercih etmeleri ve bunların yerine sistem genişletmelerini kullanmaları gerekir.
macOS 11 veya daha yenisine sahip Intel tabanlı veya Apple Silicon çipli bir Mac’te kext’leri ekleme
Çekirdek genişletmelerini kullanmanız gerekiyorsa kayıt yöntemine göre onay yöntemlerini gözden geçirin.
MDM kayıt yöntemi | Onay yöntemi | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Kayıtlı değil Kullanıcı Kaydı | Yeni bir kext yüklendiğinde ve bir yükleme girişimi olduğunda, yeniden başlatma işlemi şu konumdaki uyarı sorgu kutusundan kullanıcı tarafından başlatılmalıdır:
Bu yeniden başlatma işlemi, çekirdek başlatmadan önce AuxKC’nin yeniden oluşturulmasını başlatır. | ||||||||||
Aygıt Kaydı Otomatik Aygıt Kaydı | Yeni bir kext her yüklendiğinde ve bir yükleme girişimi olduğunda, şunlardan biri tarafından yeniden başlatma işleminin başlatılması gerekir:
Not: Kext izin listesi profili, öncelikle kext’i belirten MDM çözümü tarafından yüklenmelidir. macOS 11.3 veya daha yenisine sahip bir Mac, isteğe bağlı olarak MDM’nin kullanıcıya yeniden başlatma işlemini istediği zaman tamamlayabileceğini bildirmesine izin verir. |
Apple Silicon çipli bir Mac’te kext eklemeye yönelik ek adımlar
Apple Silicon çipli bir Mac’te çekirdek genişletmeleri ekliyorsanız ek adımları gerçekleştirmeniz gerekir.
MDM kayıt yöntemi | Onay yöntemi | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Kayıtlı değil | Kullanıcı tarafından kext yönetimi, güvenlik ayarlarının düzeyini düşürmek için recoveryOS’te yeniden başlatma gerektirir. Kullanıcı, recoveryOS’te yeniden başlatmak ve yönetici olarak kimlik doğrulamak için açma/kapama düğmesini basılı tutmalıdır. Secure Enclave, politika değişikliğini ancak açma/kapama düğmesine basılarak recoveryOS’e girildiğinde kabul eder. Kullanıcı da daha sonra Azaltılmış Güvenlik onay kutusunu ve “Kimliği belirli geliştiricilerden gelen çekirdek genişletmelerinin kullanıcı tarafından yönetimine izin ver” seçeneğini seçmeli ve Mac’i yeniden başlatmalıdır. | ||||||||||
Kullanıcı Kaydı | Kullanıcı güvenlik ayarlarının düzeyini düşürmek için recoveryOS’te yeniden başlatmalıdır. Kullanıcı, recoveryOS’te yeniden başlatmak ve yerel yönetici olarak kimlik doğrulamak için açma/kapama düğmesini basılı tutmalıdır. Secure Enclave, politika değişikliğini ancak açma/kapama düğmesine basılarak recoveryOS’e girildiğinde kabul eder. Kullanıcı da daha sonra Azaltılmış Güvenlik’i seçmeli, “Kimliği belirli geliştiricilerden gelen çekirdek genişletmelerinin kullanıcı tarafından yönetimine izin ver”i işaretlemeli ve Mac’i yeniden başlatmalıdır. | ||||||||||
Aygıt Kaydı | MDM çözümü kullanıcıyı güvenlik ayarlarının düzeyini düşürmek için recoveryOS’te yeniden başlatması gerektiği konusunda uyarmalıdır. Kullanıcı, recoveryOS’te yeniden başlatmak ve yönetici olarak kimlik doğrulamak için açma/kapama düğmesini basılı tutmalıdır. Secure Enclave, politika değişikliğini ancak açma/kapama düğmesine basılarak recoveryOS’e girildiğinde kabul eder. Kullanıcı da daha sonra Azaltılmış Güvenlik’i seçmeli, “Çekirdek genişletmelerinin ve otomatik yazılım güncellemelerinin uzaktan yönetimine izin ver”i işaretlemeli ve Mac’i yeniden başlatmalıdır. Aygıtlarınız için bu özelliğin desteklenip desteklenmediğini öğrenmek istiyorsanız MDM satıcınızın belgelerine bakın. | ||||||||||
Otomatik Aygıt Kaydı (Mac seri numarası Apple Okul Yönetimi’nde veya Apple İşletme Yönetimi’nde görünmeli ve Mac servise bağlı bir MDM çözümüne kayıtlı olmalıdır.) | MDM çözümleri bunu otomatik olarak yönetebilir. Aygıtlarınız için bu özelliğin desteklenip desteklenmediğini öğrenmek istiyorsanız MDM satıcınızın belgelerine bakın. |
Sistem Bütünlük Koruması ile çekirdek genişletmeleri
Sistem Bütünlük Koruması (SIP) etkinleştirildiğinde, her bir kext’in imzası AuxKC’ye eklenmeden önce doğrulanır.
SIP etkisizleştirilmişse kext imzası zorlanmaz.
Bu yaklaşım, Apple Geliştirici Programı’nın parçası olmayan geliştiricilere veya kullanıcılara yönelik Sıkı Olmayan Güvenlik akışlarının kext’leri imzalanmadan önce test etmesine izin verir.