Container mit SELinux schützen

Auf dieser Seite wird gezeigt, wie Sie Ihre Container durch Aktivierung von SELinux schützen können. SELinux wird für RHEL und CentOS unterstützt. Wenn auf Ihren Hostcomputern RHEL oder CentOS ausgeführt wird und Sie SELinux für Ihren Cluster aktivieren möchten, müssen Sie SELinux auf allen Hostcomputern aktivieren. Ab GKE on Bare Metal-Version 1.9.0 können Sie SELinux vor oder nach der Clustererstellung oder Clusterupgrades aktivieren oder deaktivieren. Wenn SELinux auf dem Host aktiviert ist, wird es für die Containerlaufzeit aktiviert.

Aktivierung von SELinux prüfen

SELinux ist unter RHEL und CentOS standardmäßig aktiviert. Führen Sie zur Überprüfung Folgendes aus:

$ getenforce

Der Befehl gibt entweder Enforcing, Permissive oder Disabled zurück. Wenn der Befehl Enforcing zurückgibt, können Sie mit dem Upgrade fortfahren oder die Cluster erstellen.

SELinux aktivieren

Wenn der Befehl getenforce Permissive zurückgibt, können Sie mit dem Befehl setenforce in den Modus Enforcing wechseln. Bei einem Wechsel zwischen Permissive- und Enforcing-Modus mit setenforce ist kein Systemneustart erforderlich. Wenn Sie jedoch möchten, dass die Änderungen auch nach einem Neustart beibehalten werden, müssen Sie die Datei /etc/selinux/config aktualisieren.

Führen Sie diesen Befehl aus, um in den Enforcing-Modus zu wechseln:

$ sudo setenforce 1 # temporary
$ sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot

Wenn SELinux Disabled ist, aktivieren Sie es zuerst im Permissive-Modus und starten Sie dann das System neu, um zu prüfen, ob das System erfolgreich gestartet wird. Wenn keine SELinux-Fehler vorhanden sind, können Sie sicher auf SELinux in den Modus Enforcing wechseln.

  1. Optional: Aktivieren Sie SELinux im Permissive-Modus:

    $ sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config
    $ sudo reboot
    
  2. Wenn das System ohne SELinux-Fehler neu gestartet wird, können Sie den Enforcing-Modus aktivieren:

    $ sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
    $ sudo reboot
    

Sobald SELinux im Enforcing-Modus aktiviert ist, wird SELinux für alle Prozesse auf dem Host aktiviert, einschließlich der Containerlaufzeit.