Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was ist SELinux?

Was ist SELinux?

青灯夜游
青灯夜游Original
2023-02-08 11:56:353815Durchsuche

SELinux bezieht sich auf sicherheitserweitertes Linux. Es ist ein Sicherheitssubsystem von Linux. Es wurde entwickelt, um die Sicherheit des herkömmlichen Linux-Betriebssystems zu verbessern und verschiedene Berechtigungsprobleme im diskretionären Zugriffskontrollsystem (DAC) in herkömmlichen Linux-Systemen zu lösen. wie root Die Autorität ist zu hoch usw.). SELinux verwendet ein MAC-System (Mandatory Access Control), das kontrolliert, ob ein Prozess Zugriffsrechte auf Dateien oder Verzeichnisse in einem bestimmten Dateisystem hat.

Was ist SELinux?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Was ist SELinux?

SELinux, die Abkürzung für Security Enhanced Linux, also sicherheitsverstärktes Linux, ist eine Linux-Sicherheit, die gemeinsam von der US-amerikanischen National Security Agency (NSA) und anderen Sicherheitsbehörden (wie SCC) entwickelt wurde (Unternehmen) Das Subsystem soll die Sicherheit des herkömmlichen Linux-Betriebssystems verbessern und verschiedene Berechtigungsprobleme im DAC-System (Discretionary Access Control) in herkömmlichen Linux-Systemen lösen (z. B. übermäßige Root-Berechtigungen usw.).

Das SELinux-Projekt wurde im Jahr 2000 unter der GPL-Lizenz als Open Source bereitgestellt. SELinux wurde nach und nach populär, als Red Hat SELinux in seine Linux-Distribution aufnahm. Mittlerweile wird SELinux von vielen Organisationen häufig verwendet, und fast alle Linux-Kernelversionen 2.6 und höher verfügen über integrierte SELinux-Funktionen.

Anfänger können SELinux auf diese Weise verstehen. Es handelt sich um ein Funktionsmodul, das unter Linux zur Verbesserung der Systemsicherheit eingesetzt wird.

Wir wissen, dass in herkömmlichen Linux-Systemen die Standardberechtigungen darin bestehen, die Lese-, Schreib- und Ausführungsberechtigungen des Eigentümers, der Gruppe und anderer Personen einer Datei oder eines Verzeichnisses zu steuern. Diese Kontrollmethode wird als Discretionary Access Control (DAC)-Methode bezeichnet ; In SELinux wird das Mandatory Access Control (MAC)-System verwendet, das steuert, ob ein Prozess Zugriffsrechte auf Dateien oder Verzeichnisse in einem bestimmten Dateisystem hat. Die Grundlage für die Beurteilung, ob ein Prozess auf Dateien oder Verzeichnisse zugreifen kann, hängt von vielen Richtlinienregeln ab in SELinux eingestellt.

Apropos, es ist notwendig, dass die Leser die Eigenschaften dieser beiden Zugangskontrollsysteme im Detail verstehen:

  • Discretionary Access Control (DAC) ist die Standard-Zugriffskontrollmethode von Linux, die auf dem Benutzer basiert Identität und die rwx-Berechtigungen der Identität für Dateien und Verzeichnisse werden verwendet, um zu bestimmen, ob auf sie zugegriffen werden kann. Wir haben jedoch auch einige Probleme bei der tatsächlichen Verwendung der DAC-Zugriffskontrolle festgestellt:
    • Root-Berechtigungen sind zu hoch und rwx-Berechtigungen werden für den Root-Benutzer nicht wirksam. Sobald der Root-Benutzer gestohlen wird oder der Root-Benutzer selbst eine Fehlfunktion ausführt, Dies alles wird dem Root-Benutzer Schaden zufügen. Eine tödliche Bedrohung für Linux-Systeme.

    • Linux-Standardberechtigungen sind zu einfach. Sie haben nur die Identität des Eigentümers, der Gruppe, zu der sie gehören, und anderer Personen. Die Berechtigungen umfassen nur Lese-, Schreib- und Ausführungsberechtigungen, was der Unterteilung von Berechtigungen nicht förderlich ist und Einstellung.

    • Eine irrationale Zuweisung von Berechtigungen führt zu schwerwiegenden Konsequenzen, wie z. B. dem Festlegen von 777-Berechtigungen für vertrauliche Dateien oder Verzeichnisse im System oder dem Festlegen spezieller Berechtigungen für vertrauliche Dateien – SetUID-Berechtigungen usw.

  • Mandatory Access Control (MAC) dient dazu, den Zugriff bestimmter Prozesse auf die Dateiressourcen des Systems über die Standardrichtlinienregeln von SELinux zu steuern. Mit anderen Worten: Selbst wenn Sie ein Root-Benutzer sind und beim Zugriff auf eine Dateiressource einen falschen Prozess verwenden, können Sie nicht auf die Dateiressource zugreifen.

Auf diese Weise kontrolliert SELinux nicht nur Benutzer und Berechtigungen, sondern auch Prozesse. Auf welche Dateiressourcen jeder Prozess zugreifen kann und auf welche Prozesse jede Dateiressource zugreifen kann, wird durch die SELinux-Regelrichtlinie bestimmt.

Beachten Sie, dass in SELinux die Standardberechtigungen von Linux weiterhin wirksam sind. Mit anderen Worten: Damit ein Benutzer auf eine Datei zugreifen kann, müssen die Berechtigungen des Benutzers den rwx-Berechtigungen entsprechen, und der Prozess des Benutzers ist erforderlich um die Vorschriften von SELinux einzuhalten.

Allerdings gibt es so viele Prozesse und so viele Dateien im System. Wenn die Zuordnung und Angabe manuell erfolgt, ist der Arbeitsaufwand zu groß. Daher bietet SELinux viele Standardrichtlinienregeln, die relativ vollständig sind. Wir werden später lernen, wie diese Richtlinienregeln angezeigt und verwaltet werden.

Um den Lesern ein klares Verständnis der Rolle von SELinux zu vermitteln, finden Sie hier ein Beispiel. Angenommen, in Apache wird eine Sicherheitslücke entdeckt, die einem Remote-Benutzer den Zugriff auf vertrauliche Dateien des Systems (z. B. /etc/shadow) ermöglicht. . Wenn SELinux in unserem Linux aktiviert ist, wird der Zugriff des Remote-Benutzers auf die Datei /etc/shadow über Apache durch SELinux blockiert, was schützt, da der Prozess des Apache-Dienstes nicht über die Berechtigung zum Zugriff auf /etc/shadow verfügt Linux. Die Rolle des Systems.

So schließen Sie Selinux

#查看selinux状态
[root@vm01]# getenforce
 
#临时关闭selinux
[root@vm01]# setenforce 0
 
#永久关闭
[root@vm01]# vi /etc/selinux/config
# SELINUX=enforcing改为SELINUX=disabled

Verwandte Empfehlungen: „Linux Video Tutorial

Das obige ist der detaillierte Inhalt vonWas ist SELinux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn