GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Anfängerleitfaden für SELinux

SELinux steht für „Security-Enhanced Linux“. “. Standard-Linux-Sicherheit basiert auf Discretionary Access Control (DAC). Mit DAC basiert der Zugriff auf Dateien und Geräte ausschließlich auf der Benutzeridentität und dem Besitz. Jede Datei kann Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer der Datei, für die Gruppe und für andere Benutzer haben.

SELinux wurde von der US-amerikanischen National Security Agency entwickelt, um eine feinkörnigere Kontrolle über Dateien, Prozesse, Benutzer und Anwendungen im System zu ermöglichen. Es ist eine Erweiterung des Linux-Kernels und implementiert eine andere Art von Sicherheit namens Mandatory Access Control (MAC). Die MAC-Richtlinie wird zentral und nicht vom Benutzer verwaltet.

SELinux läuft in einem von drei Modi:

  • Durchsetzen :Benutzern und Programmen wird der Zugriff verweigert, es sei denn, die Regeln der SELinux-Sicherheitsrichtlinie erlauben dies.
  • Zulässig :Die Regeln der Sicherheitsrichtlinie werden nicht erzwungen, aber SELinux sendet Ablehnungsmeldungen an eine Protokolldatei.
  • Deaktiviert :SELinux erzwingt keine Sicherheitsrichtlinie, da keine Richtlinie im Kernel geladen ist. Für die Zugriffskontrolle werden nur DAC-Regeln verwendet.

Den SELinux-Modus anzeigen

Sie können den Sestatus verwenden Befehl, um den SELinux-Modus sowie einige zusätzliche Informationen über SELinux anzuzeigen.

# sestatus
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
Max kernel policy version:      28

Sie können die getenforce verwenden Befehl, um den SELinux-Modus anzuzeigen. Dieser Befehl zeigt den aktuellen Modus an:„Enforcing “, „Zulässig „“, oder „Deaktiviert „.“ Zum Beispiel:

# getenforce
Enforcing

Ändern des SELinux-Modus

Meistens sehen Sie Leute, die den Modus „erzwingen“ in „permissiv“ ändern, um ein Problem im Zusammenhang mit Datei-/Prozessberechtigungen zu lösen. Dies ist nicht die beste Vorgehensweise, aber eine der am weitesten verbreiteten und schnellsten Methoden, um das Problem unter Linux zu lösen. Sie können den Befehl setenforce verwenden, um den Modus entweder auf „Erzwingen (1)“ zu ändern “ oder „Zulässig (0) “. Zum Beispiel:

# setenforce 0 
# getenforce 
Permissive

Boolesche Werte

SELinux bietet auch „Booleans “, wodurch Teile einer SELinux-Richtlinie zur Laufzeit geändert werden können, ohne dass eine SELinux-Richtlinie neu geladen oder neu kompiliert werden muss. Sie können eine Liste von booleschen Werten, Zustandsinformationen und eine Beschreibung des booleschen Werts anzeigen, indem Sie den folgenden Befehl ausführen:

# semanage boolean -l
SELinux boolean                State  Default Description
privoxy_connect_any            (on   ,   on)  Allow privoxy to connect any
smartmon_3ware                 (off  ,  off)  Allow smartmon to 3ware
mpd_enable_homedirs            (off  ,  off)  Allow mpd to enable homedirs
xdm_sysadm_login               (off  ,  off)  Allow xdm to sysadm login
....

Sie können den Status eines bestimmten booleschen Werts mithilfe von setsebool entweder ein- oder ausschalten Befehl. Um beispielsweise den booleschen Wert ftp_home_dir einzuschalten:

# setsebool ftpd_use_nfs on

Verwenden Sie das getsebool Befehl, um den Status eines bestimmten booleschen Werts anzuzeigen. Beispiel:

# getsebool ftpd_use_nfs
ftpd_use_nfs --> on


Linux
  1. Zugriff auf die SELinux-Richtliniendokumentation

  2. Anfängerleitfaden für Device Mapper (DM) Multipathing

  3. CentOS / RHEL 7:Anfängerleitfaden für systemd

  4. Anfängerleitfaden zur Yum-Konfiguration

  5. Anfängerleitfaden zur Benutzer- und Gruppenverwaltung in Linux

Ein Leitfaden für Anfänger zu LVM

Festlegen einer statischen IP unter Ubuntu:Ein Leitfaden für Anfänger

Ein Leitfaden für Anfänger zum Verständnis von sudo auf Ubuntu

Ein Leitfaden für Anfänger zu Cron-Jobs

Anfängerleitfaden zur Docker-Neustartrichtlinie

Leitfaden für Anfänger zur MySQL-Benutzerverwaltung