Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Kubernetes Service (AKS) iş yükleriniz için kaynaklara kapsayıcı erişiminin güvenliğini sağlamayı öğreneceksiniz.
Önemli
30 Kasım 2025 itibarıyla Azure Kubernetes Service (AKS) artık Azure Linux 2.0 için güvenlik güncelleştirmelerini desteklememektedir veya sağlamamaktadır. Azure Linux 2.0 düğüm görüntüsü 202512.06.0 sürümünde dondurulur. 31 Mart 2026'dan itibaren düğüm görüntüleri kaldırılacak ve düğüm havuzlarınızı ölçeklendiremeyeceksiniz. Düğüm havuzlarınızı desteklenen bir Kubernetes sürümüne yükselterek veya osSku AzureLinux3'e geçerek desteklenen bir Azure Linux sürümüne geçin. Daha fazla bilgi için bkz. [Kullanımdan kaldırma] AKS üzerinde Azure Linux 2.0 düğüm havuzları.
Genel bakış
Kullanıcılara veya gruplara gereken en düşük ayrıcalıkları vermeniz gerektiği gibi, kapsayıcıları yalnızca gerekli eylem ve işlemlerle de sınırlamanız gerekir. Saldırı riskini en aza indirmek için, yükseltilmiş ayrıcalıklar veya kök erişim gerektiren uygulamaları ve kapsayıcıları yapılandırmaktan kaçının.
Yerleşik Kubernetes pod güvenlik bağlamlarını kullanarak, hangi kullanıcı veya grup olarak çalıştırılacağını, açığa çıkarılacak Linux özelliklerini veya pod bildiriminde yapılacak ayarlamaları belirleyerek daha fazla izin tanımlayabilirsiniz. Daha fazla en iyi uygulama için bkz Kaynaklara pod erişiminin güvenliğini sağlama.
Linux'ta ana bilgisayar izolasyonunu iyileştirmek ve yanal hareketi azaltmak için kullanıcı ad alanlarını kullanabilirsiniz.
Kapsayıcı eylemlerinin daha ayrıntılı denetimi için AppArmor ve seccomp gibi yerleşik Linux güvenlik özelliklerini kullanabilirsiniz.
- Linux güvenlik özelliklerini düğüm düzeyinde tanımlayın.
- Pod manifesti aracılığıyla özellikleri uygulayın.
Yerleşik Linux güvenlik özellikleri yalnızca Linux düğümlerinde ve podlarda kullanılabilir.
Not
Şu anda Kubernetes ortamları düşman çok kiracılı kullanım için tamamen güvenli değildir. Kapsayıcılar için Microsoft Defender, AppArmor, seccomp, kullanıcı-ad alanları, Pod Güvenlik Erişimi veya düğümler için Kubernetes RBAC gibi ek güvenlik özellikleri, açıklardan yararlanmaları verimli bir şekilde engeller.
Saldırgan çok kiracılı iş yüklerini çalıştırırken gerçek güvenlik için yalnızca bir hiper yöneticiye güvenin. Kubernetes için güvenlik etki alanı tek bir düğüm değil tüm kümeye dönüşür.
Bu tür saldırgan çok kiracılı iş yükleri için fiziksel olarak yalıtılmış kümeler kullanmanız gerekir.
Kullanıcı ad alanları
Linux podları varsayılan olarak birkaç ad alanı kullanarak çalışır: ağ kimliğini yalıtmak için ağ ad alanları ve işlemleri yalıtmak için bir PID ad alanı. Kullanıcı-ad alanı kapsayıcı içindeki kullanıcıları konak üzerindeki kullanıcılardan yalıtır. Ayrıca özelliklerin kapsamını ve podun sistemin geri kalanıyla etkileşimlerini sınırlar.
Konteynerin içindeki UID'ler ve GID'ler, konak üzerindeki ayrıcalıksız kullanıcılarla eşlenir, bu nedenle konaktaki tüm etkileşimler bu ayrıcalıksız UID ve GID olarak gerçekleşir. Örneğin, kapsayıcının içindeki kök (UID 0), ana makinedeki kullanıcı UID 65536'ya eşlenebilir. Kubernetes, eşlemeyi sistemdeki kullanıcı ad alanlarını kullanarak diğer podlarla çakışmaması için oluşturur.
Kubernetes uygulamasının bazı önemli avantajları vardır:
Artan ana makine yalıtımı: Bir kapsayıcı, pod sınırlarını aşarsa, kapsayıcının içinde root kullanıcı olarak çalışsa bile ana makinede hiçbir ayrıcalığı yoktur. Bunun nedeni kapsayıcının UID'lerinin ve GID'lerinin konak üzerindeki ayrıcalıksız kullanıcılarla eşlenmesidir. Kapsayıcı kaçışı varsa, kullanıcı ad alanları kapsayıcıdaki hangi dosyaların okuyup yazabileceğini ve hangi işleme sinyal gönderebileceğini büyük ölçüde korur. Verilen özellikler yalnızca kullanıcı ad alanında geçerlidir, ana makinede geçerli değildir.
Yanal hareketin önlenmesi: Farklı kapsayıcılar için UID'ler ve GID'ler konakta farklı, örtüşmeyen UID'lere ve GID'lere eşlendiğinden, kapsayıcılar birbirine saldırmada zorlanır. Örneğin, A kapsayıcısının konakta B kapsayıcısından farklı UID'ler ve GID'lerle çalıştığını varsayalım. Kapsayıcının bozulması durumunda, B kapsayıcısının dosyalarında ve işlemlerinde gerçekleştirebileceği işlemler sınırlıdır: yalnızca bir dosyanın başkalarına izin verdiği şeyleri okuma/yazma. Bu bile mümkün olamaz, çünkü yalnızca pod GID'nin erişebilmesini sağlamak için pod kök biriminin üst dizininde ek bir kısıtlama vardır.
En az ayrıcalık ilkesine saygı göster: UID'ler ve GID'ler konakta ayrıcalıksız kullanıcılarla eşlendiğinden, yalnızca konakta ayrıcalığı olan kullanıcılar (ve kullanıcı ad alanlarını devre dışı bırakma) bu ilkeyi alır. Kullanıcı ad alanları olmadan kapsayıcının kullanıcıları ile konağın kullanıcıları arasında ayrım olmaz. Konteynerin içinde ayrıcalık gerektiğinde, ayrıcalık gerekmeyen işlemlere host üzerinde ayrıcalık vermekten kaçınamıyoruz.
Yeni kullanım örneklerinin etkinleştirilmesi: Kullanıcı ad alanları, kapsayıcıların konağı etkilemeden kendi kullanıcı ad alanları içinde belirli özellikler elde etmelerini sağlar. Pod'a kısıtlı olarak verilen özellikler, ana makinede tam root erişimi sağlamadan özel izin gerektiren uygulamaları çalıştırma gibi yeni olasılıkları mümkün kılar. Güvenli bir şekilde uygulanabilecek yaygın yeni kullanım örnekleri şunlardır: iç içe kapsayıcılar çalıştırma ve ayrıcalıksız kapsayıcı derlemeleri oluşturma.
Ayrıcalıksız kapsayıcı kurulumu: Kapsayıcı oluşturma ve kurulumun çoğu konakta kök olarak çalışmaz ve bu da birçok CVE'nin etkisini büyük ölçüde sınırlar.
Kullanıcı ad alanları kullanılmadığında bunların hiçbiri doğru değildir. Kapsayıcı kök olarak çalışıyorsa, kullanıcı ad alanları kullanılmadığında işlem konakta kök olarak çalışır, özellikler konakta geçerli olur ve kapsayıcı kurulumu konakta kök olarak gerçekleştirilir.
Başlamadan önce
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Var olan bir AKS kümesi. Kümeniz yoksa Azure CLI, Azure PowerShell veya Azure portalını kullanarak bir küme oluşturun.
- Denetim düzlemi ve çalışan düğümleri için minimum Kubernetes sürümü 1.33. Kubernetes sürüm 1.33 veya üzerini kullanmıyorsanız kubernetes sürümünüzü yükseltmeniz gerekir.
- Azure Linux 3.0 veya Ubuntu 24.04 çalıştıran çalışan düğümleri. Bu işletim sistemi sürümlerini kullanmıyorsanız, kullanıcı ad alanlarını etkinleştirmek için en düşük yığın gereksinimlerine sahip olmazsınız. İşletim sistemi sürümünüzü yükseltmeniz gerekir.
Sınırlamalar
- Kullanıcı ad alanları bir Linux çekirdek özelliğidir ve Windows düğüm havuzları için desteklenmez.
- Kullanıcı ad alanları için Kubernetes belgelerine, özellikle de sınırlamalar bölümüne bakmaktan çekinmeyin.
Kullanıcı ad alanlarını etkinleştirme
Bu özelliği kullanmak için gerekli yapılandırma yoktur. Gerekli AKS sürümünü kullanıyorsanız, her şey otomatik olarak çalışır.
Adlı
mypod.yamlbir dosya oluşturun ve aşağıdaki bildirimde kopyalayın:Kullanıcı ad alanlarını kullanmak için yaml'nin alanına
hostUsers: falsesahip olması gerekir.apiVersion: v1 kind: Pod metadata: name: userns spec: hostUsers: false containers: - name: shell command: ["sleep", "infinity"] image: debiankomutunu kullanarak uygulamayı dağıtın
kubectl applyve YAML bildiriminizin adını belirtin.kubectl apply -f mypod.yamlkomutunu kullanarak
kubectl get podsdağıtılan podların durumunu denetleyin.kubectl get pods/proc/self/uid_map'ü kontrol etmek içinkubectl execkomutunu kullanarak pod'a girin ve çalıştırın:kubectl exec -ti userns -- bash # Now inside the pod run cat /proc/self/uid_map
Çıktının son sütununda 65536 olması gerekir. Örneğin:
0 833617920 65536
CVE'ler azaltıldı
Aşağıda, kullanıcı ad alanlarıyla tamamen/kısmen azaltılmış bazı CVE'ler listelenmiştir.
Listenin kapsamlı olmadığını, yalnızca yüksek puana sahip ve riski azaltılmış CVE'lerden oluşan bir seçim olduğunu unutmayın.
- CVE-2019-5736 - Puan 8.6 (YÜKSEK)
- CVE 2024-21262: Puan 8.6 (YÜKSEK)
- CVE 2022-0492: Puan 7.8 (YÜKSEK)
- CVE-2021-25741: Puan: 8.1 (YÜKSEK) / 8.8 (YÜKSEK)
- CVE-2017-1002101: Puan: 9.6 (KRITIK) / 8.8(YÜKSEK)
Daha fazla bilgi edinmek için kullanıcı-ad alanları hakkında ek bilgiler içeren bu blog gönderisini okuyun.
Uygulama Koruması
Kapsayıcı eylemlerini sınırlamak için AppArmor Linux çekirdek güvenlik modülünü kullanabilirsiniz. AppArmor, temel alınan AKS düğümü işletim sisteminin bir parçası olarak kullanılabilir ve varsayılan olarak etkindir. Okuma, yazma veya yürütme eylemlerini veya dosya sistemlerini bağlama gibi sistem işlevlerini kısıtlayan AppArmor profilleri oluşturursunuz. Varsayılan AppArmor profilleri, çeşitli /proc ve /sys konumlara erişimi kısıtlar ve kapsayıcıları temel düğümden mantıksal olarak izole etmek için bir araç sağlar. AppArmor yalnızca Kubernetes podları için değil Linux üzerinde çalışan tüm uygulamalar için çalışır.
Not
Azure Linux 3.0, AppArmor desteği sunmaz. Azure Linux 3.0 düğümleri için, zorunlu erişim denetimi için AppArmor yerine SELinux kullanılması önerilir.
AppArmor'un nasıl çalıştığını görmek için aşağıdaki örnekte dosyalara yazılmayı engelleyen bir profil oluşturulur.
deny-write.profile adlı bir dosya oluşturun.
Aşağıdaki içeriği kopyalayıp yapıştırın:
#include <tunables/global> profile k8s-apparmor-example-deny-write flags=(attach_disconnected) { #include <abstractions/base> file, # Deny all file writes. deny /** w, }
AppArmor profilleri apparmor_parser komutu kullanılarak eklenir.
Profili AppArmor'a ekleyin.
Önceki adımda oluşturulan profilin adını belirtin:
sudo apparmor_parser deny-write.profileProfil doğru şekilde ayrıştırılır ve AppArmor'a uygulanırsa herhangi bir çıkış görmezsiniz ve komut istemine dönersiniz.
Yerel makinenizden aks-apparmor.yaml adlı bir pod bildirimi oluşturun. Bu bildirim:
-
container.apparmor.security.beta.kubernetesiçin bir açıklama tanımlar. - Önceki adımlarda oluşturulan deny-write profiline başvurur.
apiVersion: v1 kind: Pod metadata: name: hello-apparmor annotations: container.apparmor.security.beta.kubernetes.io/hello: localhost/k8s-apparmor-example-deny-write spec: containers: - name: hello image: mcr.microsoft.com/dotnet/runtime-deps:6.0 command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]-
Pod dağıtıldığında aşağıdaki komutu çalıştırın ve hello-apparmor podunun Çalışıyor durumunu gösterdiğini doğrulayın:
kubectl get pods NAME READY STATUS RESTARTS AGE aks-ssh 1/1 Running 0 4m2s hello-apparmor 0/1 Running 0 50s
AppArmor hakkında daha fazla bilgi için bkz . Kubernetes'te AppArmor profilleri.
Güvenli bilgi işlem (seccomp)
AppArmor herhangi bir Linux uygulaması için çalışırken, seccomp (secure comping) işlem düzeyinde çalışır. Seccomp aynı zamanda bir Linux çekirdek güvenlik modülüdür ve AKS düğümleri tarafından kullanılan çalışma zamanı tarafından containerd doğal olarak desteklenir. Seccomp ile kapsayıcının sistem çağrılarını sınırlayabilirsiniz. Seccomp, kötü amaçlı aktörler tarafından kötüye kullanılan yaygın sistem çağrısı güvenlik açıklarına karşı ek bir koruma katmanı oluşturur ve düğümdeki tüm iş yükleri için varsayılan bir profil belirtmenize olanak tanır.
Varsayılan bir sekcomp profili yapılandırma (önizleme)
Yeni bir Linux düğüm havuzu oluştururken özel düğüm yapılandırmalarını kullanarak varsayılan seccomp profillerini uygulayabilirsiniz. AKS'de desteklenen iki değer vardır: RuntimeDefault ve Unconfined. Bazı iş yükleri diğerlerinden daha az sayıda syscall kısıtlaması gerektirebilir. Bu, çalışma zamanı sırasında 'RuntimeDefault' profiliyle başarısız olabilecekleri anlamına gelir. Böyle bir hatayı azaltmak için profili belirtebilirsiniz Unconfined . İş yükünüz özel bir profil gerektiriyorsa, Özel bir sekcomp profili yapılandırma bölümüne bakın.
Sınırlamalar
- SeccompDefault, Windows düğüm havuzları için desteklenen bir parametre değildir.
- SeccompDefault, 2024-09-02-preview API'sinde kullanıma sunulmuştur.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Özellik bayrağını KubeletDefaultSeccompProfilePreview kaydetme
KubeletDefaultSeccompProfilePreviewkomutunu kullanarakaz feature registerözellik bayrağını kaydedin.az feature register --namespace "Microsoft.ContainerService" --name "KubeletDefaultSeccompProfilePreview"Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.
komutunu kullanarak
az feature showkayıt durumunu doğrulayın.az feature show --namespace "Microsoft.ContainerService" --name "KubeletDefaultSeccompProfilePreview"Durum Kayıtlı olarak yansıtıldığında,
az provider register --namespace Microsoft.ContainerService
Kapsayıcınızın sistem çağrılarını seccomp ile kısıtlama
1. Kubelet yapılandırmanızda bir seccomp profili uygulamak için belirtilen adımları "seccompDefault": "RuntimeDefault"izleyin.
RuntimeDefault , güvenliği artırmak için belirli sistem çağrılarını kısıtlayarak containerd'ın varsayılan seccomp profilini kullanır. Kısıtlı syscall'lar başarısız olur. Daha fazla bilgi için containerD varsayılan seccomp profiline bakın.
2. Yapılandırmanın uygulandığını denetleyin.
Ana bilgisayara bağlanarak ve dosya sisteminde yapılandırma değişiklikleri yapıldığını doğrulayarak ayarların düğümlere uygulandığını onaylayabilirsiniz.
3. İş yükü hatalarını giderme.
SeccompDefault etkinleştirildiğinde, düğümde zamanlanan tüm iş yükleri için varsayılan olarak kapsayıcı çalışma zamanı varsayılan seccomp profili kullanılır. Bu, engellenen syscall'lar nedeniyle iş yüklerinin başarısız olmasına neden olabilir. bir iş yükü hatası oluştuysa aşağıdaki gibi hatalar görebilirsiniz:
- Özellik etkinleştirildikten sonra "izin reddedildi" hatasıyla iş yükü beklenmedik bir şekilde mevcut olur.
- Seccomp hata iletileri, varsayılan profilde SCMP_ACT_ERRNO yerine SCMP_ACT_LOG değiştirilerek auditd veya syslog'da da görülebilir.
Yukarıdaki hatalarda karşılaşırsanız, sekcomp profilinizi olarak Unconfineddeğiştirmenizi öneririz.
Unconfined syscalls üzerinde hiçbir kısıtlamaya neden olmaz ve tüm sistem çağrılarına izin verir ve bu da güvenliği azaltır.
Özel bir seccomp profili yapılandırma
Özel bir seccomp profiliyle, kısıtlı syscall'lar üzerinde daha ayrıntılı denetime sahip olabilirsiniz. Kapsayıcıya yalnızca çalıştırması için en az izin vermenin en iyi uygulamasına hizalayın:
- Filtrelerle hangi eylemlere izin verileceğini veya hangi eylemlerin reddedileceğini tanımlama.
- Bir pod YAML manifestosunda, seccomp filtresiyle ilişkilendirmek için ek açıklama yapmak.
Seccomp'ın çalıştığını görmek için, dosya üzerindeki izinlerin değiştirilmesini engelleyen bir filtre oluşturun.
/var/lib/kubelet/seccomp/prevent-chmod adlı bir seccomp filtresi oluşturun.
Aşağıdaki içeriği kopyalayıp yapıştırın:
{ "defaultAction": "SCMP_ACT_ALLOW", "syscalls": [ { "name": "chmod", "action": "SCMP_ACT_ERRNO" }, { "name": "fchmodat", "action": "SCMP_ACT_ERRNO" }, { "name": "chmodat", "action": "SCMP_ACT_ERRNO" } ] }Sürüm 1.19 ve sonraki sürümlerde şunları yapılandırmanız gerekir:
{ "defaultAction": "SCMP_ACT_ALLOW", "syscalls": [ { "names": ["chmod","fchmodat","chmodat"], "action": "SCMP_ACT_ERRNO" } ] }Yerel makinenizden aks-seccomp.yaml adlı bir pod bildirimi oluşturun ve aşağıdaki içeriği yapıştırın. Bu bildirim:
-
seccomp.security.alpha.kubernetes.ioiçin bir açıklama tanımlar. - Önceki adımda oluşturulan prevent-chmod filtresine başvurur.
apiVersion: v1 kind: Pod metadata: name: chmod-prevented annotations: seccomp.security.alpha.kubernetes.io/pod: localhost/prevent-chmod spec: containers: - name: chmod image: mcr.microsoft.com/dotnet/runtime-deps:6.0 command: - "chmod" args: - "777" - /etc/hostname restartPolicy: NeverSürüm 1.19 ve sonraki sürümlerde şunları yapılandırmanız gerekir:
apiVersion: v1 kind: Pod metadata: name: chmod-prevented spec: securityContext: seccompProfile: type: Localhost localhostProfile: prevent-chmod containers: - name: chmod image: mcr.microsoft.com/dotnet/runtime-deps:6.0 command: - "chmod" args: - "777" - /etc/hostname restartPolicy: Never-
kubectl apply komutunu kullanarak örnek podu dağıtın:
kubectl apply -f ./aks-seccomp.yamlkubectl get pods komutunu kullanarak pod durumunu görüntüleyin.
- Pod bir hata bildirir.
- Komutun
chmodörnek çıktıda gösterildiği gibi seccomp filtresi tarafından çalıştırılması engellenir:
kubectl get pods NAME READY STATUS RESTARTS AGE chmod-prevented 0/1 Error 0 7s
Seccomp profilinizin sorunlarını giderme konusunda yardım için Azure Kubernetes Service'te seccomp profil yapılandırması sorunlarını giderme makalesine bakın.
Seccomp güvenlik profili seçenekleri
Seccomp güvenlik profilleri, izin verilen veya kısıtlanan tanımlı bir syscall kümesidir. Çoğu kapsayıcı çalışma zamanı, Docker'ın kullandığı profille aynı veya benzer olan bir varsayılan seccomp profiline sahiptir. Kullanılabilir profiller hakkında daha fazla bilgi için bkz Docker veya containerD varsayılan seccomp profilleri.
Özel düğüm yapılandırmasını kullanarak sekcomp'ı yapılandırırken AKS RuntimeDefault için containerD varsayılan seccomp profilini kullanır.
Varsayılan profil tarafından engellenen önemli syscall'lar
Hem Docker hem de containerD, güvenli sistem çağrılarının izin verilenler listesini tutar. Bu tabloda, izin verilenler listesinde olmadıkları için etkili bir şekilde engellenen önemli (ancak tümü değil) syscall'lar listelenmiştir. Engellenen syscall'lardan herhangi biri iş yükünüz için gerekliyse, RuntimeDefault seccomp profilini kullanmayın.
Docker ve containerD'de değişiklik yapıldığında AKS, varsayılan yapılandırmalarını eşleşecek şekilde güncelleştirir. Bu listede yapılan güncelleştirmeler iş yükü hatasına neden olabilir. Sürüm güncelleştirmeleri için bkz . AKS sürüm notları.
| Engellenen sistem çağrısı | Açıklama |
|---|---|
acct |
Muhasebe sistem çağrısı, kapsayıcıların kendi kaynak sınırlarını veya işlem hesaplamasını devre dışı bırakmasına olanak tanıyabilir. Ayrıca CAP_SYS_PACCT tarafından kontrol edilir. |
add_key |
Kapsayıcıların ad alanına sahip olmayan çekirdek anahtar dizisini kullanmasını engelleyin. |
bpf |
Kalıcı olabilecek bpf programlarının çekirdeğe yüklenmesini reddet, zaten CAP_SYS_ADMIN tarafından geçitli. |
clock_adjtime |
Saat/tarih bir ad alanına ait değil. Ayrıca CAP_SYS_TIME tarafından kontrol edilir. |
clock_settime |
Saat/tarih bir ad alanına ait değil. Ayrıca CAP_SYS_TIME tarafından kontrol edilir. |
clone |
Yeni ad alanlarının kopyalanmaması. Ayrıca CAP_SYS_ADMIN for CLONE_* bayraklarıyla sınırlıdır, CLONE_NEWUSER hariç. |
create_module |
Çekirdek modüllerinde düzenlemeyi ve işlevleri reddedin. Kullanımdan kalktı. Ayrıca CAP_SYS_MODULE tarafından kontrol edilir. |
delete_module |
Çekirdek modüllerinde düzenlemeyi ve işlevleri reddedin. Ayrıca CAP_SYS_MODULE tarafından kontrol edilir. |
finit_module |
Çekirdek modüllerinde düzenlemeyi ve işlevleri reddedin. Ayrıca CAP_SYS_MODULE tarafından kontrol edilir. |
get_kernel_syms |
Dışarı aktarılan çekirdek ve modül simgelerinin alınmasını reddet. Kullanımdan kalktı. |
get_mempolicy |
Çekirdek belleğini ve NUMA ayarlarını değiştiren syscall. Zaten tarafından sınırlandırılmış CAP_SYS_NICE. |
init_module |
Çekirdek modüllerinde düzenlemeyi ve işlevleri reddedin. Ayrıca CAP_SYS_MODULE tarafından kontrol edilir. |
ioperm |
Kapsayıcıların çekirdek G/Ç ayrıcalık düzeylerini değiştirmesini engelleyin. Zaten tarafından sınırlandırılmış CAP_SYS_RAWIO. |
iopl |
Kapsayıcıların çekirdek G/Ç ayrıcalık düzeylerini değiştirmesini engelleyin. Zaten tarafından sınırlandırılmış CAP_SYS_RAWIO. |
kcmp |
CAP_SYS_PTRACE düşürülerek zaten engellenmiş olan işlem inceleme yeteneklerini kısıtlayın. |
kexec_file_load |
kexec_load'un benzer sistem çağrısı, aynı işi yapar, biraz farklı dış bağımsız değişkenlerle. Ayrıca CAP_SYS_BOOT tarafından kontrol edilir. |
kexec_load |
Yeni çekirdeğin daha sonra yürütülmesi için yüklenmesini reddeder. Ayrıca CAP_SYS_BOOT tarafından kontrol edilir. |
keyctl |
Kapsayıcıların ad alanına sahip olmayan çekirdek anahtar dizisini kullanmasını engelleyin. |
lookup_dcookie |
Ana bilgisayara bilgi sızdırabilecek syscall'ı izleme/profil oluşturma. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
mbind |
Çekirdek belleğini ve NUMA ayarlarını değiştiren syscall. Zaten tarafından sınırlandırılmış CAP_SYS_NICE. |
mount |
Bağlamayı reddet, zaten CAP_SYS_ADMIN tarafından engellenmiş. |
move_pages |
Çekirdek belleğini ve NUMA ayarlarını değiştiren syscall. |
nfsservctl |
Çekirdek nfs daemon'u ile etkileşimi reddedin. Linux 3.1'den bu yana kullanımdan kaldırıldı. |
open_by_handle_at |
Eski bir konteynerin patlak vermesinin nedeni. Ayrıca CAP_DAC_READ_SEARCH tarafından kontrol edilir. |
perf_event_open |
Ana bilgisayara bilgi sızdırabilecek syscall'ı izleme/profil oluşturma. |
personality |
Kapsayıcının BSD öykünmesini etkinleştirmesini engelleyin. Doğası gereği tehlikeli değil, ancak zayıf test edilmiş, çekirdek açıkları olasılığı bulunuyor. |
pivot_root |
pivot_root yasaklanmalı, ayrıcalıklı bir işlem olmalıdır. |
process_vm_readv |
CAP_SYS_PTRACE düşürülerek zaten engellenmiş olan işlem inceleme yeteneklerini kısıtlayın. |
process_vm_writev |
CAP_SYS_PTRACE düşürülerek zaten engellenmiş olan işlem inceleme yeteneklerini kısıtlayın. |
ptrace |
Syscall'da izleme/profil oluşturma. Sekcomp atlamasını önlemek için 4.8'ten önceki Linux çekirdek sürümlerinde engellendi. Belirli olan işlemleri izleme/profil oluşturma, konakta bilgi sızdırabileceğinden CAP_SYS_PTRACE yetkisinin geri alınmasıyla zaten engellenir. |
query_module |
Çekirdek modüllerinde düzenlemeyi ve işlevleri reddedin. Kullanımdan kalktı. |
quotactl |
Kapsayıcıların kendi kaynak sınırlarını veya işlem hesaplamalarını devre dışı bırakmasına olanak tanıyan syscall kotası. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
reboot |
Kapsayıcıların sunucuyu yeniden başlatmasına izin vermeyin. Ayrıca CAP_SYS_BOOT tarafından kontrol edilir. |
request_key |
Kapsayıcıların ad alanına sahip olmayan çekirdek anahtar dizisini kullanmasını engelleyin. |
set_mempolicy |
Çekirdek belleğini ve NUMA ayarlarını değiştiren syscall. Zaten tarafından sınırlandırılmış CAP_SYS_NICE. |
setns |
bir iş parçacığını ad alanıyla ilişkilendirmeyi reddeder. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
settimeofday |
Saat/tarih bir ad alanına ait değil. Ayrıca CAP_SYS_TIME tarafından kontrol edilir. |
stime |
Saat/tarih bir ad alanına ait değil. Ayrıca CAP_SYS_TIME tarafından kontrol edilir. |
swapon |
Dosya/cihaz değiştirme işleminin başlatılmasını/durdurulmasını reddedin. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
swapoff |
Dosya/cihaz değiştirme işleminin başlatılmasını/durdurulmasını reddedin. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
sysfs |
Kullanım dışı syscall. |
_sysctl |
Eski, /proc/sys ile değiştirildi. |
umount |
Ayrıcalıklı bir işlem olmalıdır. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
umount2 |
Ayrıcalıklı bir işlem olmalıdır. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
unshare |
Yeni ad alanlarının işlemler için kopyalanmasına izin verme.
CAP_SYS_ADMIN ile kısıtlanmış, -user paylaşımını kaldırma haricinde. |
uselib |
Paylaşılan kütüphanelerle ilgili eski bir sistem çağrısı (syscall), uzun süredir kullanılmıyor. |
userfaultfd |
İşlem geçişi için büyük ölçüde gerekli olan kullanıcı alanı sayfası hata işleme. |
ustat |
Kullanım dışı syscall. |
vm86 |
Çekirdek x86 gerçek mod sanal makinesinde. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
vm86old |
Çekirdek x86 gerçek mod sanal makinesinde. Ayrıca CAP_SYS_ADMIN tarafından kontrol edilir. |
Sonraki adımlar
İlişkili en iyi yöntemler için bkz. AKS'de küme güvenliği ve yükseltmeleri için en iyi yöntemler ve AKS'de pod güvenliği için en iyi yöntemler.