Dieses Tutorial zeigt dir, wie du SELinux (Security-Enhanced Linux) auf deinem CentOS-Server deaktivieren kannst. Die CentOS-Version sollte 7 oder 8 sein. Die Version spielt keine Rolle.

Was ist SELinux?

SELinux ist ein Sicherheitsmechanismus, der direkt vom Kernel gesteuert wird. Es ermoglicht Administratoren und Benutzern mehr Kontrolle uber Zugriffssteuerungen basierend auf SELinux-Richtlinien.

SELinux hat drei verschiedene Betriebsmodi. Hier sind sie:

  1. Enforcing: Erlaubt Zugriff basierend auf SELinux-Richtlinien und den Richtlinienregeln.
  2. Permissive: SELinux protokolliert nur Aktionen, die im Enforcing-Modus verweigert worden waren.
  3. Disabled: Es werden keine Meldungen protokolliert und es ist keine SELinux-Richtlinie mehr auf dem Server aktiviert. Meistens wird der Deaktiviert-Modus von Web-Kontrollpanels wie cPanel und/oder Plesk verwendet.

Voraussetzungen

Nur der root-Benutzer oder ein Benutzer mit sudo-Berechtigungen kann den SELinux-Modus andern.

SELinux-Modus prufen

Du kannst deinen SELinux-Status mit dem Befehl "sestatus" uberprufen. Die Ausgabe zeigt, dass SELinux aktiviert und der Modus auf Enforcing gesetzt ist.

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31

SELinux deaktivieren

Ich empfehle dringend, den Modus auf Permissive zu andern. Manchmal mogen einige Anwendungen SELinux nicht und sie erfordern den Modus Disabled.

Um den SELinux-Modus dauerhaft von Enforcing auf Disabled zu andern, musst du zuerst deinen Texteditor wie vi oder nano verwenden.

Offne die Datei /etc/selinux/config und andere den SELINUX-Wert in der 6. Zeile wie folgt auf disabled:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#  enforcing - SELinux security policy is enforced.
#  permissive - SELinux prints warnings instead of enforcing.
#  disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
#  minimum - Modification of targeted policy. Only selected processes are protected. 
#  mls - Multi Level Security protection.
SELINUXTYPE=targeted

Jetzt kannst du die Datei speichern und den Texteditor verlassen. Zeit, den Server neu zu starten:

sudo reboot

Abschliessende Kontrolle des SELinux-Status

Jetzt sollten wir sicherstellen, dass SELinux erfolgreich auf dem Server deaktiviert wurde. Fuhre den Befehl "sestatus" erneut aus, die Ausgabe sollte wie folgt aussehen:

SELinux status:                 disabled

Fazit

Jetzt kannst du die SELinux-Modi andern, je nachdem, welcher fur dich geeignet ist oder den du benotigst. SELinux ist ein Sicherheitsmechanismus, der durch die Implementierung von Mandatory Access Control (MAC) funktioniert. SELinux kommt standardmassig im Enforcing-Modus auf CentOS 7- und CentOS 8-Systemen. Es kann durch Bearbeiten der Konfigurationsdatei und Neustarten des Servers geandert werden.

Weitere Informationen zu SELinux findest du auf den CentOS SELinux-Seiten.