Freigeben über


Sicherer Containerzugriff auf Ressourcen für Azure Kubernetes Service (AKS)-Workloads mit integrierten Linux-Sicherheitsfeatures

In diesem Artikel erfahren Sie, wie Sie den Containerzugriff auf Ressourcen für Ihre Azure Kubernetes Service (AKS)-Workloads mithilfe der eingebauten Linux-Sicherheitsfunktionen Benutzernamespaces, AppArmor und seccomp sichern.

Übersicht über die Sicherheit des Containerzugriffs

Nicht nur Benutzern und Gruppen sollten lediglich die erforderlichen Mindestberechtigungen gewährt werden, auch Container sollten auf die Aktionen und Prozesse beschränkt werden, die unbedingt erforderlich sind. Konfigurieren Sie zur Minimierung des Angriffsrisikos nach Möglichkeit keine Anwendungen und Container, die ausgeweitete Berechtigungen oder Root-Zugriff benötigen.

Sie können integrierte Pod-Sicherheitskontexte in Kubernetes verwenden, um weitere Berechtigungen zu definieren, z. B. den Benutzer oder die Gruppe, die ausgeführt werden soll, die Linux-Funktionen, die verfügbar gemacht werden sollen, oder das Festlegen von allowPrivilegeEscalation: false im Pod-Manifest. Weitere Best Practices finden Sie unter Absichern des Podzugriffs auf Ressourcen.

Um die Hostisolation zu verbessern und die Lateralbewegung unter Linux zu verringern, können Sie Benutzernamespaces verwenden. Wenn Sie die Steuerungsmöglichkeiten für Containeraktionen noch feiner abstimmen möchten, können Sie dazu integrierte Linux-Sicherheitsfeatures wie AppArmor und seccomp verwenden. Diese Features helfen Ihnen, die Aktionen einzuschränken, die Container ausführen können, indem Sie Linux-Sicherheitsfeatures auf Knotenebene definieren und über ein Podmanifest implementieren.

In Linux integrierte Sicherheitsfunktionen sind nur auf Linux-Knoten und -Pods verfügbar.

Hinweis

Derzeit sind Kubernetes-Umgebungen nicht sicher vor einer feindlichen Verwendung mit mehreren Mandanten. Andere Sicherheitsfunktionen wie Microsoft Defender für Container, AppArmor, seccomp, Benutzernamespaces, Pod Security Admission oder Kubernetes Rollenbasierte Zugriffskontrolle (RBAC) für Knoten wehren Exploits effizient ab.

Um echte Sicherheit bei der Ausführung feindlicher Workloads mit mehreren Mandanten zu erzielen, vertrauen Sie nur einem Hypervisor. Die Sicherheitsdomäne für Kubernetes wird zum gesamten Cluster und nicht zu einem einzelnen Knoten.

Für diese Art von feindlichen Workloads mit mehreren Mandanten sollten Sie physisch isolierte Cluster verwenden.

Voraussetzungen für Benutzernamespaces

Einschränkungen für Benutzernamespaces

Übersicht über Benutzernamespaces

Linux-Pods werden standardmäßig mit mehreren Namespaces ausgeführt: einem Netzwerk-Namespaces, um die Netzwerkidentität zu isolieren, und einem PID-Namespace, um die Prozesse zu isolieren. Ein Benutzernamespace (user_namespace) isoliert die Benutzer innerhalb des Containers von den Benutzern auf dem Host. Außerdem werden der Umfang der Funktionen und die Interaktionen des Pods mit dem rest des Systems begrenzt.

Die UIDs und GIDs im Container werden unprivilegierten Benutzern auf dem Host zugeordnet, sodass alle Interaktionen mit dem Rest des Hosts als diese unprivilegierten UIDs und GIDs erfolgen. Beispielsweise kann der Root-Benutzer innerhalb des Containers (UID 0) dem Benutzer 65536 auf dem Host zugeordnet werden. Kubernetes erstellt die Zuordnung, um sicherzustellen, dass sie sich nicht mit anderen Pods überschneidet, die Benutzernamespaces auf dem System verwenden.

Die Kubernetes-Implementierung hat einige wichtige Vorteile. Weitere Informationen finden Sie in der Dokumentation zu Kubernetes-Benutzernamespaces.

Aktivieren von Benutzernamespaces

  1. Erstellen Sie eine Datei namens mypod.yaml, und fügen Sie das folgende Manifest ein. Um Benutzernamespaces zu verwenden, muss das YAML über das Feld hostUsers: falseverfügen.

    apiVersion: v1
    kind: Pod
    metadata:
      name: userns
    spec:
      hostUsers: false
      containers:
      - name: shell
        command: ["sleep", "infinity"]
        image: debian
    
  2. Stellen Sie die Anwendung über den Befehl „kubectl apply“ bereit, und geben Sie den Namen Ihres YAML-Manifests an.

    kubectl apply -f mypod.yaml
    
  3. Überprüfen Sie den Status der bereitgestellten Pods mithilfe des Befehls kubectl get pods.

    kubectl get pods
    
  4. Rufen Sie den Pod mit dem kubectl exec-Befehl auf.

    kubectl exec -ti userns -- bash
    
  5. Innerhalb des Pods überprüfen Sie /proc/self/uid_map mit dem folgenden Befehl:

    cat /proc/self/uid_map
    

    Die Ausgabe sollte 65536 in der letzten Spalte aufweisen. Beispiel:

    0  833617920      65536
    

    Diese Ausgabe gibt an, dass der Stamm innerhalb des Containers (UID 0) dem Benutzer 65536 auf dem Host zugeordnet ist.

Allgemeine Sicherheitsrisiken und Risiken (CVEs), die durch Benutzernamespaces abgemildert werden

In der folgenden Tabelle sind einige allgemeine Sicherheitsrisiken und Expositionen (CVEs) aufgeführt, die entweder teilweise oder vollständig durch verwendung von user_namespaces abgemildert werden:

CVE Schweregradbewertung Schweregrad
CVE-2019-5736 8.6 High
CVE 2024-21262 8.6 High
CVE 2022-0492 7,8 High
CVE-2021-25741 8.1 / 8.8 Hoch / Hoch
CVE-2017-1002101 9.6 / 8.8 Kritisch /Hoch

Beachten Sie, dass diese Liste nicht vollständig ist. Weitere Informationen finden Sie unter Kubernetes v1.33: Standardmäßig aktivierte Benutzernamespaces.

Voraussetzungen für AppArmor

Hinweis

Azure Linux 3.0 unterstützt AppArmor ab der VHD-Veröffentlichung vom 7. November 2025.

Übersicht über AppArmor

Mit dem Kernelsicherheitsmodul AppArmor von Linux können Sie Containeraktionen einschränken. AppArmor ist als Teil des zugrunde liegenden AKS-Knotenbetriebssystems (OS) verfügbar und ist standardmäßig aktiviert. Sie können AppArmor-Profile erstellen, die Lese-, Schreib- oder Ausführungsaktionen oder Systemfunktionen wie das Einbinden von Dateisystemen einschränken. Standardprofile von AppArmor beschränken den Zugriff auf verschiedene /proc- und /sys-Speicherorte und ermöglichen es, Container logisch vom zugrunde liegenden Knoten zu isolieren. AppArmor funktioniert nicht nur mit Kubernetes-Pods, sondern zusammen mit jeder Anwendung, die auf Linux ausgeführt werden kann.

Hinweis

Vor Kubernetes v1.30 wurde AppArmor durch Anmerkungen angegeben. Ab v1.30 wird AppArmor über das securityContext Feld in der Pod-Spezifikation angegeben. Weitere Informationen finden Sie in der Kubernetes AppArmor-Dokumentation.

Verwendete AppArmor-Profile in einem AKS-Cluster, um Containeraktionen zu beschränken

Sichere Pods mit AppArmor

Sie können AppArmor-Profile auf der Pod- oder Containerebene angeben. Das Container-AppArmor-Profil hat Vorrang vor dem Pod AppArmor-Profil. Wenn keine der beiden Angaben gemacht wird, wird der Container ohne Einschränkungen ausgeführt. Weitere Informationen zu AppArmor-Profilen finden Sie in der Dokumentation zum Sichern eines Pods mit AppArmor Kubernetes.

Konfigurieren eines benutzerdefinierten AppArmor-Profils

Im folgenden Beispiel wird ein Profil erstellt, das das Schreiben in Dateien in einem Container verhindert.

  1. Stellen Sie eine SSH-Verbindung mit einem AKS-Knoten her.

  2. Erstellen Sie eine Datei mit dem Namen "deny-write.profile ", und fügen Sie den folgenden Inhalt ein:

    #include <tunables/global>
    
    profile k8s-apparmor-example-deny-write flags=(attach_disconnected) {
      #include <abstractions/base>
    
      file,
    
      # Deny all file writes.
      deny /** w,
    }
    
  3. Laden Sie das AppArmor-Profil auf den Knoten.

    # This example assumes that node names match host names, and are reachable via SSH.
    NODES=($( kubectl get node -o jsonpath='{.items[*].status.addresses[?(.type == "Hostname")].address}' ))
    
    for NODE in ${NODES[*]}; do ssh $NODE 'sudo apparmor_parser -q <<EOF
    #include <tunables/global>
    
    profile k8s-apparmor-example-deny-write flags=(attach_disconnected) {
      #include <abstractions/base>
    
      file,
    
      # Deny all file writes.
      deny /** w,
    }
    EOF'
    done
    

Bereitstellen eines Pods mit dem benutzerdefinierten AppArmor-Profil

  1. Stellen Sie einen "Hello AppArmor" -Pod mit dem Deny-Write-Profil bereit.

    apiVersion: v1
    kind: Pod
    metadata:
      name: hello-apparmor
    spec:
      securityContext:
        appArmorProfile:
          type: Localhost
          localhostProfile: k8s-apparmor-example-deny-write
      containers:
      - name: hello
        image: busybox:1.28
        command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]
    
  2. Wenden Sie das Pod-Manifest mithilfe des kubectl apply Befehls an.

    kubectl apply -f hello-apparmor.yaml
    
  3. Führen Sie den Befehl in dem Pod aus und verifizieren Sie, dass der Container mit dem AppArmor-Profil ausgeführt wird.

    kubectl exec hello-apparmor -- cat /proc/1/attr/current
    

    Die Ausgabe sollte das verwendete AppArmor-Profil anzeigen. Beispiel:

    k8s-apparmor-example-deny-write (enforce)
    

Voraussetzungen für Seccomp

Registrieren des KubeletDefaultSeccompProfilePreview-Featureflags

Wichtig

AKS-Previewfunktionen sind auf Self-Service- und Abonnementbasis verfügbar. Vorschauversionen werden „wie besehen“ und „wie verfügbar“ bereitgestellt und sind von den Vereinbarungen zum Service Level und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundendienst nach bestem Wissen und Gewissen abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in Produktionsumgebungen vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:

  1. Registrieren Sie das Featureflag KubeletDefaultSeccompProfilePreview mithilfe des Befehls az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "KubeletDefaultSeccompProfilePreview"
    

    Es dauert einige Minuten, bis als Status Registriert angezeigt wird.

  2. Überprüfen Sie den Registrierungsstatus mithilfe des Befehls az feature show.

    az feature show --namespace "Microsoft.ContainerService" --name "KubeletDefaultSeccompProfilePreview"
    
  3. Wenn der Status Registriert lautet, aktualisieren Sie die Registrierung des Ressourcenanbieters Microsoft.ContainerService mithilfe des Befehls az provider register.

    az provider register --namespace Microsoft.ContainerService
    

Seccomp-Einschränkungen

  • AKS unterstützt nur die Standard seccomp Profile (RuntimeDefault und Unconfined). Benutzerdefinierte Seccomp-Profile werden nicht unterstützt.
  • SeccompDefault ist kein unterstützter Parameter für Windows-Knotenpools.

Übersicht über Standard-Seccomp-Profile (Vorschau)

Während AppArmor für jede Linux-Anwendung funktioniert, funktioniert Seccomp (oder secure Computing) auf Prozessebene. Seccomp ist auch ein Linux-Kernel-Sicherheitsmodul. Die von AKS-Knoten verwendete containerd Laufzeitumgebung bietet native Unterstützung für seccomp. Mit seccomp können Sie die Systemaufrufe eines Containers einschränken. seccomp stellt eine zusätzliche Schutzebene vor gängigen Systemanrufrisiken her, die von böswilligen Akteuren ausgenutzt werden, und ermöglicht es Ihnen, ein Standardprofil für alle Workloads im Knoten anzugeben.

Sie können standardmäßige seccomp-Profile mit benutzerdefinierten Knotenkonfigurationen anwenden, wenn Sie einen neuen Linux-Knotenpool erstellen. AKS unterstützt die RuntimeDefault- und Unconfined-Werte. Einige Workloads erfordern möglicherweise eine geringere Anzahl von Syscall-Einschränkungen als andere. Das bedeutet, dass sie während der Laufzeit mit dem Profil RuntimeDefault fehlschlagen können. Um einen solchen Fehler zu vermeiden, können Sie das Unconfined-Profil angeben. Wenn Ihre Workload ein benutzerdefiniertes Profil erfordert, lesen Sie Konfigurieren eines benutzerdefinierten seccomp-Profils.

Einschränken von Containersystemaufrufen mit Seccomp

  1. Führen Sie die Schritte aus, um ein Seccomp-Profil in Ihrer Kubelet-Konfiguration anzuwenden , indem Sie angeben "seccompDefault": "RuntimeDefault".
  2. Stellen Sie eine Verbindung mit dem Host her.
  3. Überprüfen Sie, ob die Konfiguration auf die Knoten angewendet wurde.

Beheben von Workloadfehlern mit Seccomp

Wenn SeccompDefault aktiviert ist, wird das standardmäßige Seccomp-Profil der Containerlaufzeit standardmäßig für alle Workloads verwendet, die auf dem Knoten angesetzt sind. Dies kann dazu führen, dass Workloads aufgrund blockierter Syscalls fehlschlagen. Wenn ein Fehler bei der Arbeitslast auftritt, könnten Fehlermeldungen erscheinen, z. B.:

  • Der Workload wird unerwartet beendet, nachdem die Funktion aktiviert wurde, mit der Fehlermeldung „Berechtigung verweigert“.
  • Seccomp-Fehlermeldungen können auch in Überwachung oder Syslog angezeigt werden, indem SCMP_ACT_ERRNO durch SCMP_ACT_LOG im Standardprofil ersetzt wird.

Wenn diese Fehler auftreten, empfehlen wir Ihnen, Ihr seccomp-Profil in Unconfined zu ändern. Unconfined legt keine Einschränkungen für Syscalls fest, sodass alle Systemaufrufe ausgeführt werden können.

Übersicht über benutzerdefinierte Seccomp-Profile

Mit einem benutzerdefinierten Seccomp-Profil haben Sie eine genauere Kontrolle über eingeschränkte Syscalls für Ihre Container. Sie können eigene Seccomp-Profile erstellen, indem Sie:

  • Verwenden von Filtern, um anzugeben, welche Aktionen zulässig oder verweigert werden sollen.
  • Verwenden Sie Anmerkungen innerhalb eines YAML-Podmanifests für die Zuordnung zum entsprechenden seccomp-Filter.

Hinweis

Hilfe zur Problembehandlung Ihres Seccomp-Profils finden Sie unter "Problembehandlung bei der Konfiguration von Seccomp-Profilen in Azure Kubernetes Service (AKS)".

Konfigurieren eines benutzerdefinierten seccomp-Profils

In der folgenden Beispielverwendung von Seccomp erstellen Sie einen Filter, der verhindert, dass Berechtigungen für eine Datei geändert werden können.

  1. Stellen Sie eine SSH-Verbindung mit einem AKS-Knoten her.

  2. Erstellen Sie einen seccomp-Filter mit dem Namen /var/lib/kubelet/seccomp/prevent-chmod.

  3. Kopieren Sie den folgenden Inhalt, und fügen Sie ihn ein:

    {
      "defaultAction": "SCMP_ACT_ALLOW",
      "syscalls": [
        {
          "name": "chmod",
          "action": "SCMP_ACT_ERRNO"
        },
        {
          "name": "fchmodat",
          "action": "SCMP_ACT_ERRNO"
        },
        {
          "name": "chmodat",
          "action": "SCMP_ACT_ERRNO"
        }
      ]
    }
    

    Ab Version 1.19 muss Folgendes konfiguriert werden:

    {
      "defaultAction": "SCMP_ACT_ALLOW",
      "syscalls": [
        {
          "names": ["chmod","fchmodat","chmodat"],
          "action": "SCMP_ACT_ERRNO"
        }
      ]
    }
    
  4. Erstellen Sie auf Ihrem lokalen Computer ein Podmanifest namens aks-seccomp.yaml, und fügen Sie den folgenden Inhalt ein. Dieses Manifest definiert eine Anmerkung für seccomp.security.alpha.kubernetes.io und verweist auf den vorhandenen Prevent-chmod-Filter .

    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: Never
    

    Ab Version 1.19 muss Folgendes konfiguriert werden:

    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
    
  5. Stellen Sie den Beispiel-Pod mithilfe des kubectl apply Befehls bereit:

    kubectl apply -f ./aks-seccomp.yaml
    
  6. Zeigen Sie den Podstatus mithilfe des kubectl get pods Befehls an.

    kubectl get pods
    

    In der Ausgabe sollten Sie sehen, dass der Pod einen Fehler liefert. Wie in der Beispielausgabe ersichtlich wird, wird das Ausführen des chmod-Befehls vom seccomp-Filter verhindert:

    NAME                      READY     STATUS    RESTARTS   AGE
    chmod-prevented           0/1       Error     0          7s
    

Sicherheitsprofiloptionen für seccomp

seccomp-Sicherheitsprofile sind eine Reihe definierter Syscalls, die zulässig oder eingeschränkt sind. Die meisten Container-Runtimes verfügen über ein Standard-Seccomp-Profil, das ähnlich, wenn nicht identisch mit dem von Docker verwendeten ist. Weitere Informationen zu verfügbaren Profilen finden Sie in den Docker- oder containerd-Standard seccomp-Profilen.

AKS verwendet das containerd Standard-Seccomp-Profil für RuntimeDefault bei der Konfiguration von seccomp mithilfe der benutzerdefinierten Knotenkonfiguration.

Signifikante Syscalls, die durch das Standardprofil blockiert werden

Sowohl Docker als auch containerd verwalten Zulassungslisten sicherer Syscalls. Wenn Änderungen an Docker und Containern vorgenommen werden, aktualisiert AKS die Standardkonfiguration entsprechend. Aktualisierungen dieser Liste können zu Arbeitslastausfällen führen. Versionsupdates finden Sie in den AKS-Versionshinweisen.

In der folgenden Tabelle sind wichtige Syscalls aufgelistet, die effektiv blockiert werden, weil sie nicht in der Liste der erlaubten Prozesse enthalten sind. Die Liste ist nicht vollständig. Wenn Ihre Workload eines der blockierten Syscalls erfordert, verwenden Sie nicht das RuntimeDefault Seccomp-Profil.

Blockierter Syscall BESCHREIBUNG
acct Buchhaltungs-Systemaufruf, mit dem Container ihre eigenen Ressourcenbeschränkungen oder die Prozessbuchhaltung deaktivieren können. Auch durch CAP_SYS_PACCT abgegrenzt.
add_key Verhindern Sie, dass Container den Kernel-Keyring verwenden, der keinem Namespace zugeordnet ist.
bpf Verweigern des Ladens potenziell persistenter bpf-Programme in Kernel, die bereits von CAP_SYS_ADMIN abgegrenzt werden.
clock_adjtime Uhrzeit/Datum ist keinem Namespace zugeordnet. Auch durch CAP_SYS_TIME abgegrenzt.
clock_settime Uhrzeit/Datum ist keinem Namespace zugeordnet. Auch durch CAP_SYS_TIME abgegrenzt.
clone Das Klonen neuer Namespaces verweigern. Auch durch CAP_SYS_ADMIN for CLONE_*-Flaggen mit Ausnahme von CLONE_NEWUSER abgegrenzt.
create_module Manipulation und Funktionen für Kernelmodule verweigern. Veraltet. Auch durch CAP_SYS_MODULE abgegrenzt.
delete_module Manipulation und Funktionen für Kernelmodule verweigern. Auch durch CAP_SYS_MODULE abgegrenzt.
finit_module Manipulation und Funktionen für Kernelmodule verweigern. Auch durch CAP_SYS_MODULE abgegrenzt.
get_kernel_syms Abrufen exportierter Kernel- und Modulsymbole verweigern. Veraltet.
get_mempolicy Syscall, der Kernelspeicher und NUMA-Einstellungen ändert. Bereits durch CAP_SYS_NICE abgegrenzt.
init_module Manipulation und Funktionen für Kernelmodule verweigern. Auch durch CAP_SYS_MODULE abgegrenzt.
ioperm Verhindern, dass Container Kernel-E/A-Berechtigungsstufen ändern. Bereits durch CAP_SYS_RAWIO abgegrenzt.
iopl Verhindern, dass Container Kernel-E/A-Berechtigungsstufen ändern. Bereits durch CAP_SYS_RAWIO abgegrenzt.
kcmp Einschränken der Prozessüberprüfungsfunktionen, die bereits durch Ablegen von CAP_SYS_PTRACE blockiert wurden.
kexec_file_load Schwester-Syscall von kexec_load, der dasselbe tut, aber etwas andere Argumente hat. Auch durch CAP_SYS_BOOT abgegrenzt.
kexec_load Verweigern Sie das Laden eines neuen Kernels für die spätere Ausführung. Auch durch CAP_SYS_BOOT abgegrenzt.
keyctl Verhindern Sie, dass Container den Kernel-Keyring verwenden, der keinem Namespace zugeordnet ist.
lookup_dcookie Syscall zur Ablaufverfolgung/Profilerstellung, der Informationen auf dem Host durchsickern lassen kann. Auch durch CAP_SYS_ADMIN abgegrenzt.
mbind Syscall, der Kernelspeicher und NUMA-Einstellungen ändert. Bereits durch CAP_SYS_NICE abgegrenzt.
mount Ablehnen des Mounting, das bereits durch CAP_SYS_ADMIN abgegrenzt wurde.
move_pages Syscall, der Kernelspeicher und NUMA-Einstellungen ändert.
nfsservctl Die Interaktion mit dem Kernel nfs-Daemon verweigern. Veraltet seit Linux 3.1.
open_by_handle_at Ursache für einen alten Containerausbruch. Auch durch CAP_DAC_READ_SEARCH abgegrenzt.
perf_event_open Syscall zur Ablaufverfolgung/Profilerstellung, der Informationen auf dem Host durchsickern lassen kann.
personality Verhindern, dass Container die BSD-Emulation aktiviert. Nicht inhärent gefährlich, aber schlecht getestet; Potenzial für Kernel-Schwachstelle.
pivot_root pivot_root verweigern, sollte ein privilegierter Vorgang sein.
process_vm_readv Einschränken der Prozessüberprüfungsfunktionen, die bereits durch Ablegen von CAP_SYS_PTRACE blockiert wurden.
process_vm_writev Einschränken der Prozessüberprüfungsfunktionen, die bereits durch Ablegen von CAP_SYS_PTRACE blockiert wurden.
ptrace Syscall zur Ablaufverfolgung/Profilerstellung. Blockiert in Linux-Kernelversionen vor 4.8, um die Umgehung von seccomp zu vermeiden. Das Tracing/Profiling von beliebigen Prozessen ist bereits durch Drop CAP_SYS_PTRACE blockiert, da es Informationen über den Host preisgeben könnte.
query_module Manipulation und Funktionen für Kernelmodule verweigern. Veraltet.
quotactl Quota-Syscall, mit dem Container ihre eigenen Ressourcenbeschränkungen oder Prozessabrechnungen deaktivieren können. Auch durch CAP_SYS_ADMIN abgegrenzt.
reboot Container dürfen den Host nicht neu starten. Auch durch CAP_SYS_BOOT abgegrenzt.
request_key Verhindern Sie, dass Container den Kernel-Keyring verwenden, der keinem Namespace zugeordnet ist.
set_mempolicy Syscall, der Kernelspeicher und NUMA-Einstellungen ändert. Bereits durch CAP_SYS_NICE abgegrenzt.
setns Verweigern der Zuordnung eines Threads zu einem Namespace. Auch durch CAP_SYS_ADMIN abgegrenzt.
settimeofday Uhrzeit/Datum ist keinem Namespace zugeordnet. Auch durch CAP_SYS_TIME abgegrenzt.
stime Uhrzeit/Datum ist keinem Namespace zugeordnet. Auch durch CAP_SYS_TIME abgegrenzt.
swapon Verweigerung des Start-/Stopp-Swappings auf Datei/Gerät. Auch durch CAP_SYS_ADMIN abgegrenzt.
swapoff Verweigerung des Start-/Stopp-Swappings auf Datei/Gerät. Auch durch CAP_SYS_ADMIN abgegrenzt.
sysfs Veralteter Syscall.
_sysctl Veraltet, ersetzt durch /proc/sys.
umount Sollte ein privilegierter Vorgang sein. Auch durch CAP_SYS_ADMIN abgegrenzt.
umount2 Sollte ein privilegierter Vorgang sein. Auch durch CAP_SYS_ADMIN abgegrenzt.
unshare Das Klonen neuer Namespaces für Prozesse verweigern. Auch eingeschränkt durch CAP_SYS_ADMIN (mit Ausnahme von unshare --user).
uselib Älterer Syscall im Zusammenhang mit freigegebenen Bibliotheken, die lange nicht verwendet wurden.
userfaultfd Fehlerbehandlung von Userspace-Seiten, die größtenteils für die Prozessmigration erforderlich sind.
ustat Veralteter Syscall.
vm86 Virtueller Computer im Kernel x86-Realmodus. Auch durch CAP_SYS_ADMIN abgegrenzt.
vm86old Virtueller Computer im Kernel x86-Realmodus. Auch durch CAP_SYS_ADMIN abgegrenzt.

Weitere Informationen zum Sichern Ihres AKS-Clusters finden Sie in den folgenden Artikeln: