Zum Hauptinhalt springen

Wie man SELinux aktiviert und deaktiviert

Veröffentlicht am:
.
11 Minuten Lesezeit
.
Für die Englische Version

Security-Enhanced Linux (SELinux) ist eine Sicherheitslösung, die direkt in den Linux-Kernel integriert ist und auf Mandatory Access Control (MAC) basiert. SELinux stellt sicher, dass die Prozesse, Dateien, Verzeichnisse und Netzwerkports des Betriebssystems strengen Sicherheitsregeln folgen. Indem es dies tut, verhindert es, dass Menschen ohne Erlaubnis eindringen, stellt sicher, dass Dienste nur innerhalb festgelegter Sicherheitsgrenzen arbeiten, und macht das System viel weniger anfällig für Angriffe.

SELinux ist eine nützliche zusätzliche Schutzschicht für Unternehmensserver und andere hochsichere Kontexte. Es ist eine starke Verteidigung gegen Malware, unbefugte Benutzer und Dienste, die zum Hacken von Systemen verwendet werden könnten.

SELinux hingegen befindet sich nicht ständig im Zustand "aktiviert". Seine strengen Regeln können oft den Betrieb behindern, beispielsweise wenn Legacy-Software Kompatibilitätsprobleme hat, maßgeschneiderte Anwendungen oder komplizierte Systemkonfigurationen. In diesen seltenen Fällen entscheiden sich Administratoren möglicherweise, SELinux für kurze Zeit auszuschalten oder im permissiven Modus zu betreiben, bei dem Verstöße protokolliert, aber nicht gestoppt werden.

Dieser Leitfaden zeigt Ihnen, wie Sie SELinux ein- und ausschalten sowie temporäre Änderungen (die sich nach einem Neustart zurücksetzen) und permanente Änderungen (die nach einem Neustart gleich bleiben) vornehmen können. Sie werden wissen, wie Sie den richtigen SELinux-Modus auswählen, um Ihr Linux-System sicher zu halten und Änderungen an den Einstellungen ohne Probleme vorzunehmen.

Starten Sie noch heute kostenlos mit Zenarmor

Wie aktiviert man SELinux in CentOS?

Wenn SELinux derzeit deaktiviert ist, gibt es zwei Möglichkeiten, es wieder zu aktivieren: vorübergehend (Änderungen werden nach einem Neustart zurückgesetzt) oder dauerhaft (bleibt bei jedem Start aktiv). Um die Sicherheit auf einem durchgehend hohen Niveau zu halten, ist es am besten, es dauerhaft aktiviert zu lassen. Wenn Sie jedoch zuerst auf Kompatibilitätsprobleme prüfen möchten, ist es besser, mit einer temporären Aktivierung zu beginnen.

Hier sind die Schritte, um SELinux dauerhaft zu aktivieren.

  1. Öffnen Sie die SELinux-Konfigurationsdatei: Diese Datei bestimmt, welcher SELinux-Modus beim Systemstart verwendet wird.

    sudo nano /etc/selinux/config
  2. Finden Sie die Zeile, die den aktuellen Zustand definiert: Im Inneren der Datei werden Sie die Zeile sehen, die den SELinux-Modus angibt.

    SELINUX=disabled
  3. Ändern Sie den Modus auf Enforcing: Diese Einstellung stellt sicher, dass SELinux alle seine Sicherheitsrichtlinien aktiv anwendet.

    SELINUX=enforcing

    Sie können es auf SELINUX=permissive setzen, wenn Sie Kompatibilitätstests durchführen möchten. Wenn dieser Modus aktiviert ist, werden Verstöße nicht gestoppt, sondern protokolliert.

  4. Speichern und Datei beenden: Sie können die folgende Tastenkombination verwenden, um Ihre Änderungen im nano-Editor zu speichern:

    CTRL + O
    Enter
    CTRL + X
  5. Starten Sie das System neu: Sie müssen das System neu starten, damit die Änderungen wirksam werden.

    sudo reboot
    warnung

    Bevor Sie neu starten, stellen Sie sicher, dass Sie alle offenen Dateien und Prozesse gespeichert haben. Wenn Sie das nicht tun, könnten Sie ungespeicherte Daten verlieren.

  6. Überprüfen Sie den Status: Sie können den SELinux-Status nach dem Neustart mit einem der folgenden Befehle überprüfen:

    sestatus

    oder

    getenforce

    getenforce zeigt einfach den aktuellen Betriebsmodus an, während sestatus mehr Informationen liefert, einschließlich des Richtlinientyps, des aktiven Status und so weiter.

Warum SELinux deaktivieren?

Du solltest SELinux nicht immer ausschalten.

SELinux kann steuern, wer auf Prozesse, Dateien und Netzwerkressourcen zugreifen kann, und zwar mit viel Detailgenauigkeit, da es ein Mandatory Access Control (MAC)-System im Linux-Kernel integriert hat. Dies ist ein großer Vorteil in Bezug auf die Sicherheit. Aber es gibt mehrere Szenarien, die weiter unten aufgeführt sind, in denen Sie SELinux möglicherweise deaktivieren müssen.

  • Probleme mit der Kompatibilität zu älterer oder maßgeschneiderter Software: Einige Apps funktionieren möglicherweise nicht gut mit SELinux-Richtlinien und könnten ständig den Zugriff verweigert bekommen.

  • Behebung komplizierter Einstellungen: SELinux-Richtlinien können zusätzliche Einschränkungen bieten, die den normalen Betrieb von Diensten erschweren könnten. In einigen Situationen kann das vorübergehende Deaktivieren von SELinux bei der Fehlersuche helfen.

  • Verstößt gegen strenge Sicherheitsregeln: Der "enforcing"-Modus von SELinux hat strenge Anforderungen, die dazu führen können, dass einige Dienste nicht richtig funktionieren.

  • Umgebungen für Tests oder vorübergehende Nutzung: In Entwicklungs- oder Testumgebungen können Geschwindigkeit und Flexibilität wichtiger sein als strenge Sicherheit; daher ist es sinnvoll, SELinux für kurze Zeit auszuschalten.

warnung

Das Deaktivieren von SELinux entfernt Sicherheitsmaßnahmen auf Kernel-Ebene. Dies macht das System anfälliger für Angriffe und erhöht die Wahrscheinlichkeit, dass jemand unbefugt eindringt.

Sie können SELinux im permissiven Modus ausführen, anstatt es vollständig zu deaktivieren. Wenn Sie SELinux in den permissiven Modus versetzen, werden Verstöße nicht verhindert; stattdessen werden sie protokolliert, sodass Sie Probleme lösen können, ohne den SELinux-Schutz vollständig zu entfernen.

Das vollständige Deaktivieren von SELinux in Produktionsszenarien kann Ihr System erheblichen Sicherheitsrisiken aussetzen. Sie sollten diese Entscheidung nur treffen, nachdem Sie mit Ihrem Sicherheits- oder Entwicklungsteam gesprochen haben.

Der Hauptunterschied zwischen dem permissiven Modus und dem deaktivierten Zustand liegt darin, wie Sicherheitsrichtlinien behandelt werden.

Im permissiven Modus werden SELinux-Richtlinien betrachtet, aber nicht durchgesetzt. Aktionen, die normalerweise gegen die Regeln verstoßen würden, werden nicht gestoppt; sie werden nur protokolliert. Das Ziel des permissiven Modus ist es herauszufinden, was SELinux blockiert hätte, ohne das System tatsächlich an der Arbeit zu hindern. Der permissive Modus ist großartig, um Fehler zu beheben, neue Apps auszuprobieren oder Änderungen vorzunehmen, um die Dinge besser funktionieren zu lassen.

In Deaktiviert (Vollständig Aus) werden die SELinux-Kernelmodule nicht geladen, und alle Sicherheitsrichtlinien sind deaktiviert. SELinux wird beim Booten des Systems nicht gestartet. Es gibt keine Verstoßprotokolle, daher kann SELinux nicht zur Überwachung der Sicherheit verwendet werden. Der deaktivierte Modus von SELinux ist für Produktionssysteme keine gute Idee, da er den Schutz auf Kernel-Ebene vollständig beseitigt.

Die folgende Tabelle fasst die Unterschiede zwischen den beiden Modi zusammen:

FunktionPermissiver ModusDeaktiviert (Aus)
Richtlinien werden überprüftX
Verstöße werden blockiertXX
Verstöße werden protokolliertX
Kernel-Module werden geladenX
SicherheitsstufeMittelKeine
Empfohlene NutzungTesten / DebuggenNur in Ausnahmefällen

Der permissive Modus ist eine großartige Möglichkeit, um zu bewerten, wie SELinux-Richtlinien Ihr System beeinflussen. Es ermöglicht Ihnen, Protokolle zu sammeln, ohne den Dienst zu stören. Aber da Verstöße im permissiven Modus nicht blockiert werden, könnten Angreifer diese Lücke ausnutzen. Also, das System lange in diesem Zustand zu belassen, macht es weniger sicher.

warnung

Im deaktivierten Modus ist SELinux vollständig abgeschaltet, was bedeutet, dass potenzielle Angriffe ungehindert durchkommen können, ohne auf Sicherheitsfilter auf Kernel-Ebene zu stoßen. Dies ist sehr riskant, insbesondere für Server, die mit dem Internet verbunden sind.

So deaktivieren Sie SELinux in CentOS 7

Wenn Sie SELinux in CentOS 7 deaktivieren, werden die SELinux-Kernelmodule beim Systemstart nicht geladen. Diese Operation schaltet alle Sicherheitsmaßnahmen und Regeln von SELinux aus.

Das vollständige Deaktivieren von SELinux entfernt Sicherheitsfunktionen auf Kernel-Ebene, was Systeme sehr anfällig für Angriffe machen könnte. Verwenden Sie es nur in Produktionsumgebungen, wenn Sie es wirklich benötigen. Um SELinux in CentOS zu deaktivieren, können Sie diese Schritte befolgen.

  1. Öffnen Sie die SELinux-Konfigurationsdatei: Diese Datei bestimmt, welcher SELinux-Modus beim Systemstart verwendet wird.

    sudo nano /etc/selinux/config
  2. Suchen Sie die Zeile, die den aktuellen Modus definiert: Es wird normalerweise wie unten aussehen.

    SELINUX=enforcing
  3. Ändern Sie den Modus auf deaktiviert: Bearbeiten Sie die Zeile wie folgt.

    SELINUX=disabled

    Wenn Sie die SELinux-Kernel-Module deaktivieren, werden sie beim Systemstart nicht geladen, und alle Sicherheitsfunktionen, einschließlich Protokollierung, werden deaktiviert. Wenn Sie nur die Einschränkungen aufheben möchten, ist der permissive Modus eine sicherere Wahl.

  4. Datei speichern und beenden: Im Nano-Editor speichern Sie Ihre Änderungen, indem Sie die folgenden Tasten drücken.

    CTRL + O
    Enter
    CTRL + X
  5. Starten Sie das System neu: Starten Sie das System neu, damit die Änderungen wirksam werden:

    sudo reboot
  6. Überprüfen Sie den Status: Bestätigen Sie nach dem Neustart, dass SELinux deaktiviert ist, indem Sie den nächsten Befehl ausführen.

    getenforce

    oder

    sestatus

    getenforce zeigt einfach den aktuellen Modus an, während sestatus Ihnen mehr Informationen gibt. Zum Beispiel wird es den Typ der Richtlinie und ob SELinux aktiv ist, offenbaren. Dies macht sestatus zur besten Wahl für gründliche Überprüfungen.

So deaktivieren Sie SELinux in CentOS 8

Die Methode zum Deaktivieren von SELinux in CentOS 8 ist genau die gleiche wie in CentOS 7. Sie bearbeiten einfach die Datei /etc/selinux/config und starten das System neu.

  1. Öffnen Sie die SELinux-Konfigurationsdatei

    sudo nano /etc/selinux/config
  2. Setzen Sie den SELinux-Modus auf deaktiviert. Finden Sie die Zeile SELINUX=enforcing in der Datei und ändern Sie sie in SELINUX=disabled. Wenn Sie es auf deaktiviert setzen, werden die SELinux-Module beim Systemstart nicht geladen. SELinux protokolliert in diesem Modus keine Ereignisse und setzt keine Sicherheitsbeschränkungen durch.

  3. Datei speichern und beenden

  4. Starten Sie das System neu.

  5. Überprüfen Sie den Status, indem Sie getenforce oder sestatus ausführen.

Wie man SELinux in RHEL 7 deaktiviert?

SELinux ist standardmäßig in RHEL 7 aktiviert, um es sicherer zu machen. Sie können es ausschalten, indem Sie die Konfigurationsdatei ändern, wenn Sie es benötigen, entweder um ein Problem zu lösen oder um Software auszuführen, die nicht damit funktioniert.

  1. Öffnen Sie das Terminal und bearbeiten Sie die Datei /etc/selinux/config.

  2. Finden Sie die Zeile, die mit SELINUX= beginnt, und ändern Sie den Wert in SELINUX=disabled.

  3. Speichern und den Editor verlassen.

  4. Starten Sie den Server neu, um die Änderungen anzuwenden.

  5. Nach dem Neustart den neuen Status mit sestatus bestätigen. Wenn es als deaktiviert angezeigt wird, war die Konfiguration erfolgreich.

Wie deaktiviert man SELinux in RHEL 8?

RHEL 8 verfolgt einen ähnlichen Ansatz wie RHEL 7, integriert jedoch einige neue Systemwerkzeuge. Um SELinux in RHEL 8 zu deaktivieren, können Sie die folgenden Schritte befolgen.

  1. Bearbeiten Sie die SELinux-Konfigurationsdatei /etc/selinux/config.

  2. Ändern Sie den Modus, indem Sie SELINUX=disabled einstellen.

  3. Speichern Sie Ihre Änderungen und schließen Sie den Editor.

  4. Starten Sie das System neu, um die neuen Einstellungen anzuwenden, indem Sie sudo systemctl reboot ausführen.

  5. Sobald das System wieder läuft, überprüfen Sie den Status mit getenforce.

Wenn die Einstellungen funktioniert haben, sollte dort "Deaktiviert" stehen.

Wie man SELinux in RHEL 9 deaktiviert?

Um SELinux in RHEL 9 auszuschalten, müssen Sie weiterhin die Datei /etc/selinux/config aktualisieren, genau wie in RHEL 7 und 8. Diese Änderung ist dauerhaft, und jedes Mal, wenn das System startet, bleibt SELinux deaktiviert.

  1. Öffnen Sie die SELinux-Konfigurationsdatei /etc/selinux/config.

  2. Setzen Sie den SELinux-Modus auf deaktiviert. Finden Sie die Zeile SELINUX=enforcing in der Datei und ändern Sie sie in SELINUX=disabled.

    Wenn Sie die SELinux-Kernel-Module deaktivieren, werden sie nicht geladen, Sicherheitsrichtlinien werden nicht durchgesetzt und Verstöße werden nicht protokolliert. Denken Sie stattdessen darüber nach, den permissiven Modus zu verwenden, der sicherer ist.

  3. Speichern und die Datei schließen.

  4. Starten Sie das System neu.

  5. Überprüfen Sie den SELinux-Status, indem Sie getenforce oder sestatus ausführen.

    Getenforce zeigt einfach den aktuellen Modus an, aber sestatus sagt Ihnen, ob SELinux aktiv ist, welche Art von Richtlinie verwendet wird und was in der Konfigurationsdatei steht.

So deaktivieren Sie SELinux in Fedora

Die Methode, SELinux in Fedora auszuschalten, ist die gleiche wie in RHEL und CentOS. Dazu müssen Sie die Datei /etc/selinux/config ändern und dann den Computer neu starten.

warnung

Wenn Sie SELinux deaktivieren, verlieren Sie alle Kernel-Sicherheitsfunktionen, die Fedora Ihnen bietet. Dies ist besonders riskant für Systeme, die mit dem Internet verbunden sind.

  1. Öffnen Sie die SELinux-Konfigurationsdatei /etc/selinux/config.

  2. Deaktivieren Sie den SELinux-Modus. Finden Sie die Zeile SELINUX=enforcing und ändern Sie sie in SELINUX=disabled. Wenn die deaktivierte Einstellung aktiv ist, können SELinux-Kernelmodule beim Systemstart nicht geladen werden. Dieser Modus erlaubt kein Logging oder die Durchsetzung von Sicherheitsbeschränkungen.

  3. Speichern und die Datei schließen.

  4. Starten Sie das System neu.

  5. Überprüfen Sie den SELinux-Status, indem Sie getenforce oder sestatus ausführen.

So deaktivieren Sie SELinux in Rocky Linux

Die Methoden zum Deaktivieren von SELinux in Rocky Linux sind die gleichen wie in RHEL, da Rocky Linux auf RHEL basiert. Sie müssen nur die Datei /etc/selinux/config ändern und dann den Computer neu starten.

  1. Öffnen Sie die SELinux-Konfigurationsdatei /etc/selinux/config.

  2. Deaktivieren Sie den SELinux-Modus. Finden Sie die Zeile SELINUX=enforcing und ändern Sie sie in SELINUX=disabled. Wenn die deaktivierte Einstellung aktiv ist, können SELinux-Kernelmodule beim Systemstart nicht geladen werden. Dieser Modus erlaubt kein Logging oder die Durchsetzung von Sicherheitsbeschränkungen.

  3. Speichern und die Datei schließen.

  4. Starten Sie das System neu.

  5. Überprüfen Sie den SELinux-Status, indem Sie getenforce oder sestatus ausführen.

Was sind die verschiedenen SELinux-Modi?

SELinux hat drei separate Betriebsmodi, die entscheiden, wie sicher das System ist. Diese Modi zeigen Ihnen, wie Sie Richtlinien verwenden und Sicherheitsprüfungen durchführen. Die SELinux-Modi sind unten aufgeführt.

  1. Erzwingungsmodus: Die Option des Erzwingungsmodus ist am besten für Produktionssysteme geeignet, die Wert auf Sicherheit legen. Dies ist die sicherste Wahl, wenn Sie Software und Dienste verwenden, die mit SELinux arbeiten. Erzwingungsmodus SELinux hat die folgenden Funktionen.

    • SELinux-Richtlinien werden ständig durchgesetzt.

    • Aktionen, die nicht erlaubt sind oder gegen die Richtlinien verstoßen, werden blockiert.

    • Verstöße werden aufgezeichnet.

    • Bietet das höchste Maß an Sicherheit.

  2. Permissiver Modus: Der permissive Modus ist hervorragend zum Testen und Beheben von Problemen. Aber wenn Sie das System längere Zeit im permissiven Modus belassen, wird es weniger sicher, da Verstöße nicht gestoppt werden. Permissive-Modus SELinux hat die folgenden Funktionen.

    • Richtlinien für SELinux werden überprüft, aber nicht durchgesetzt.

    • Verstöße werden nicht gestoppt, sondern aufgezeichnet.

    • Zeigt Ihnen, was SELinux blockieren würde, ohne die Ausführung des Dienstes zu behindern.

  3. Deaktivierter Modus: Verwenden Sie den deaktivierten Modus nur für alte Systeme oder wichtige Apps, die nicht mit SELinux funktionieren. Aufgrund von Sicherheitsrisiken ist es keine gute Idee, es in Produktionsumgebungen zu verwenden.

    Deaktivierter Modus SELinux hat die folgenden Funktionen.

    • SELinux ist vollständig deaktiviert.

    • Es erfolgt keine Protokollierung, und Kernel-Module werden nicht geladen.

    • SELinux startet nicht, wenn die Maschine hochfährt.

Ist es sicher, SELinux auf einem Produktionsserver zu deaktivieren?

Nein, es ist nicht sicher, SELinux in einem Produktionssystem auszuschalten, es sei denn, es gibt einen sehr guten betrieblichen Grund dafür.

SELinux beschränkt, was Systemprogramme und Benutzer mit Dateien, Netzwerken und Ressourcen tun dürfen, indem es mehrschichtige Richtlinien und seinen Mandatory Access Control (MAC)-Mechanismus auf Kernel-Ebene verwendet. Das Deaktivieren entfernt eine der wichtigsten Schutzschichten für Ihre Maschine.

Das Deaktivieren von SELinux birgt folgende Risiken.

  • Erhöht die Wahrscheinlichkeit, dass jemand ohne Erlaubnis eindringt.

  • Es ist einfacher, Malware oder Sicherheitslücken auszunutzen.

  • Sicherheitsprüfprotokolle funktionieren möglicherweise nicht gut oder überhaupt nicht.

  • Andere Methode: Anstatt es vollständig auszuschalten, passen Sie die SELinux-Einstellungen an, um nur die benötigten Operationen zu aktivieren. Dies wird das System funktionsfähig und sicher halten.

warnung

Wenn Sie SELinux in der Produktion deaktivieren, könnte es für Hacker einfacher sein, in Ihr System einzudringen. Sie sollten diese Wahl nur treffen, wenn es keinen anderen Weg gibt, das Problem zu lösen, und selbst dann nur für kurze Zeit.

Das Erstellen einer maßgeschneiderten SELinux-Richtlinie für einen Dienst, der Probleme verursacht, oder das Ändern einer bestehenden Richtlinie ist häufig eine sicherere und dauerhaftere Lösung.

Wenn Sie SELinux für kurze Zeit deaktivieren müssen, ist der permissive Modus sicherer. Sein Modus verfolgt Verstöße, ohne sie zu stoppen, was es einfacher macht, Probleme zu finden.

Wie Überprüfen Sie, Ob SELinux Aktiviert oder Deaktiviert Ist?

Sie können die Befehle getenforce und sestatus verwenden, um herauszufinden, in welchem Modus SELinux läuft.

  • getenforce: Dieser Befehl zeigt sofort an, in welchem Modus sich SELinux gerade befindet. Die Ausgabe könnte eine dieser Optionen sein:

    • Durchsetzung: Richtlinien werden befolgt, und Verstöße werden gestoppt.
    • Permissiv: Richtlinien werden nicht durchgesetzt, aber Verstöße werden vermerkt.
    • Deaktiviert: SELinux ist vollständig deaktiviert.
    getenforce

    getenforce ist großartig für schnelle Überprüfungen, da es dir den Modus in nur einer Zeile anzeigt.

  • sestatus: Dieser Befehl gibt Ihnen weitere Informationen über SELinux.
    • Status der Aktivität (aktiviert oder deaktiviert)
    • Aktueller Modus (erzwungen, permissiv oder deaktiviert)
    • Der verwendete Richtlinientyp
    • Pfad zur Konfigurationsdatei

getenforce zeigt einfach den aktuellen Modus an, während sestatus sowohl den Modus als auch weitere Informationen, wie den Typ der Richtlinie, anzeigt. sestatus ist besser für eine weitergehende Analyse.

Können Sie SELinux vorübergehend ohne Neustart deaktivieren?

Ja, du kannst SELinux für kurze Zeit ausschalten, ohne den Computer neu zu starten. Der Befehl setenforce wird dafür verwendet, und die Änderung betrifft nur die aktuelle Sitzung. SELinux wird nach einem Neustart auf die Einstellung in /etc/selinux/config zurückgesetzt.

Der folgende Befehl versetzt SELinux in den permissiven Modus, was bedeutet, dass Verstöße nicht gestoppt, sondern protokolliert werden.

sudo setenforce 0

Um SELinux wieder in den Enforcing-Modus zu versetzen, führen Sie den folgenden Befehl aus.

sudo setenforce 1

Diese Methode ist unglaublich hilfreich, wenn du versuchst, etwas zu reparieren, da sie es dir ermöglicht, Dienste zu testen, die von SELinux-Richtlinien betroffen sind, ohne sie vollständig ausschalten zu müssen.

Nach einem Neustart gehen temporäre Änderungen zurück, wie sie waren. Sie müssen /etc/selinux/config bearbeiten, um eine dauerhafte Änderung vorzunehmen.

warnung

Im permissiven Modus zu arbeiten bedeutet, dass Verstöße nicht verboten sind, was Sicherheitsbedrohungen mit sich bringt, wenn der Modus längere Zeit verwendet wird.

Kann man SELinux dauerhaft auf Linux deaktivieren?

Ja, du kannst SELinux dauerhaft deaktivieren. Sie müssen /etc/selinux/config ändern, das das System beim Start liest. Dieser Ansatz stellt sicher, dass SELinux beim Systemstart immer deaktiviert ist.

  1. Öffnen Sie die SELinux-Konfigurationsdatei /etc/selinux/config.

  2. Setzen Sie den SELinux-Modus auf deaktiviert. Finden Sie die Zeile SELINUX=enforcing in der Datei und ändern Sie sie in SELINUX=disabled.

  3. Speichern und die Datei schließen.

  4. Starten Sie das System neu.

  5. Überprüfen Sie den SELinux-Status, indem Sie getenforce oder sestatus ausführen.

Was ist der Unterschied zwischen setenforce 0 und dem Bearbeiten der SELinux-Konfigurationsdatei?

Die Verwendung des setenforce-Befehls oder die Änderung der Datei /etc/selinux/config sind zwei typische Ansätze, um den SELinux-Modus zu ändern. Diese Methoden unterscheiden sich stark voneinander.

  1. setenforce-Befehl - Temporäre Änderung

    Lässt dich sofort zwischen den Modi (Enforcing ↔ Permissive) wechseln. Nach einem Neustart sind die Änderungen verschwunden. Anwendungsfall: Testen, Probleme beheben oder vorübergehende Änderungen vornehmen, um Dinge zum Laufen zu bringen.

    sudo setenforce 0 # EnforcingPermissive
    sudo setenforce 1 # PermissiveEnforcing

    Sie können die Modi mit dem Befehl setenforce ändern, ohne die Dienste zu stoppen.

  2. /etc/selinux/config-Datei – Dauerhafte Änderung

    Jedes Mal, wenn Sie neu starten, treten die Änderungen in Kraft. Sie können den Modus auf enforcing, permissive oder disabled setzen. Anwendungsfall: Langfristige Einrichtung von SELinux.

    sudo nano /etc/selinux/config
    SELINUX=permissive

    Sie müssen das System neu starten, damit die dauerhaften Änderungen wirksam werden.

Merkmalsetenforce/etc/selinux/config
DauerTemporär (setzt sich nach dem Neustart zurück)Permanent (bleibt nach dem Neustart bestehen)
AnwendungSofortNach dem Neustart
AnwendungsfallTesten, temporäre AnpassungenPermanente Richtlinieneinstellung
Erforderliche SchritteBefehl ausführenDatei bearbeiten + Neustart

Tabelle 1. Setenforce vs /etc/selinux/config

Du kannst nicht einfach setenforce verwenden, um Änderungen am temporären Modus dauerhaft zu machen. Sie müssen /etc/selinux/config ändern.

Wie verwendet man die Befehle getenforce, setenforce und sestatus?

Die drei Befehle, die die Leute am häufigsten verwenden, um SELinux zu steuern, sind getenforce, setenforce und sestatus. Sie können diese Befehle verwenden, um den aktuellen Status von SELinux zu überprüfen, zwischen den Modi zu wechseln und vollständige Konfigurationsinformationen anzuzeigen.

  1. getenforce – Überprüfen Sie den aktuellen Modus

    Der Befehl getenforce zeigt den aktuellen SELinux-Modus in einer Zeile an.

    getenforce

    Mögliche Ergebnisse sind wie folgt.

    • Durchsetzung → Richtlinien werden befolgt, und Verstöße werden gestoppt.

    • Nachsichtig → Richtlinien werden nicht durchgesetzt, obwohl Verstöße aufgezeichnet werden.

    • Deaktiviert bedeutet, dass SELinux vollständig deaktiviert ist.

    Für schnelle Inspektionen ist getenforce der nützlichste Befehl.

  2. setenforce: Modi ändern

    Der Befehl setenforce ändert den SELinux-Modus sofort.

    sudo setenforce 0 # From enforcing to permissive
    sudo setenforce 1 # From permissive to enforcing

    Änderungen, die mit setenforce vorgenommen werden, halten nicht an. SELinux wechselt beim Neustart des Systems in den im /etc/selinux/config festgelegten Modus zurück.

  3. sestatus – Detaillierten SELinux-Status anzeigen

    Der Befehl sestatus zeigt Informationen wie den aktiven Status von SELinux, den aktuellen Modus, den Typ der Richtlinie und den Speicherort der Konfigurationsdatei an.

    sestatus

    Dinge, die Sie möglicherweise im Ergebnis sehen könnten:

    • Status von SELinux (ein oder aus)

    • Der aktuelle Modus (erzwungen, permissiv oder deaktiviert)

    • Modus aus der Konfigurationsdatei

    • Art der Richtlinie (zum Beispiel, gezielt oder mls)

    Getenforce allein reicht möglicherweise nicht für eine vollständige Prüfung aus. Verwenden Sie in diesen Situationen sestatus.

So stellen Sie SELinux auf den permissiven Modus ein

Wenn SELinux im permissiven Modus ist, werden die Richtlinien nicht durchgesetzt, aber alle Verstöße werden gemeldet. Dieser Modus ermöglicht es Ihnen, zu überprüfen, wo Richtlinien implementiert worden wären, ohne die Funktionsweise des Systems zu beeinträchtigen. Dies macht es sehr nützlich für das Testen und Beheben von Problemen.

Vorübergehendes Wechseln in den permissiven Modus (setzt sich nach dem Neustart zurück): Mit dem folgenden Befehl können Sie SELinux schnell in den permissiven Modus versetzen:

sudo
setenforce 0

Temporäre Änderungen treten sofort in Kraft und erfordern kein Neustarten der Dienste. Das macht sie ideal für schnelle Tests auf Live-Systemen.

Permanentes Einstellen des permissiven Modus: Um sicherzustellen, dass SELinux jedes Mal im permissiven Modus bleibt, wenn Sie das Gerät neu starten, ändern Sie /etc/selinux/config, indem Sie SELINUX=permissive festlegen, und starten Sie dann das Gerät neu.

Wie man SELinux nach der Deaktivierung wieder in den Enforcing-Modus zurückversetzt?

Das Zurücksetzen von SELinux in den Enforcing-Modus aktiviert die Sicherheitsrichtlinien erneut, die das System auf Kernel-Ebene schützen und andere daran hindern, ohne Erlaubnis einzudringen.

  1. Permanentes Umschalten in den Durchsetzungsmodus

    Um den Durchsetzungsmodus dauerhaft zu ändern, können Sie /etc/selinux/config ändern, indem Sie SELINUX=enforcing setzen und dann das Gerät neu starten.

  2. Vorübergehender Wechsel in den Durchsetzungsmodus (setzt sich nach dem Neustart zurück)

    Um den Durchsetzungsmodus vorübergehend zu wechseln, können Sie den folgenden Befehl ausführen.

    sudo setenforce 1

    Temporäre Änderungen werden nach einem Neustart zurückgesetzt. Um es dauerhaft zu machen, bearbeiten Sie /etc/selinux/config.

    Nachdem der erzwungene Modus wiederhergestellt wurde, funktionieren einige Apps oder Dienste möglicherweise nicht gut. In diesen Situationen müssen Sie möglicherweise eigene SELinux-Richtlinien für diese Dienste erstellen.

Welche Rolle spielt die SELinux-Konfigurationsdatei?

Die Hauptkonfigurationsdatei, die den permanenten Arbeitsmodus von SELinux festlegt, ist /etc/selinux/config. Diese Datei gibt SELinux an, in welchem Modus es starten soll (Enforcing, Permissive oder Disabled) und welche Sicherheitsrichtlinie verwendet werden soll.

Die Hauptfunktionen der SELinux-Konfigurationsdatei sind unten aufgeführt.

  • Wählen Sie den Betriebsmodus: SELINUX=enforcing, SELINUX=permissive oder SELINUX=disabled.

  • Wählen Sie den Richtlinientyp: SELINUXTYPE=targeted (Standard) oder SELINUXTYPE=mls.

  • Kümmere dich um permanente Einstellungen: Änderungen, die hier vorgenommen werden, bleiben auch nach einem Neustart erhalten, im Gegensatz zu setenforce.

Verwendet OPNsense SELinux?

Nein, SELinux wird von OPNsense nicht verwendet. OPNsense ist ein Sicherheits- und Netzwerkbetriebssystem, das auf FreeBSD basiert, während SELinux ein Linux-spezifisches Mandatory Access Control (MAC) Sicherheitsmodul ist. OPNsense verwendet SELinux aus den folgenden Gründen nicht.

• Der FreeBSD-Kernel, auf dem OPNsense läuft, hat kein SELinux.

• Das MAC-Framework ist in FreeBSD integriert.

• mac_bsdextended: Erweiterte Zugriffskontrolllisten sind einige der anderen Möglichkeiten, den Zugriff in FreeBSD zu steuern.

• mac_policy: Personalisierte Zugriffssteuerungsregeln.

Sie können eine SELinux-ähnliche Zugriffskontrolle auf OPNsense erhalten, indem Sie das mac_bsdextended-Modul von FreeBSD aktivieren und Ihre pf-Firewall-Regeln im Detail einrichten. Zu erwarten, dass SELinux auf die gleiche Weise funktioniert, ist nicht machbar. Die Sicherheit von OPNsense basiert hauptsächlich auf Firewall-Regeln, Systemhärtung und Dienstisolierung. Die Sicherheit wird in OPNsense mit Hilfe der pf (Packet Filter) Firewall, Jail und Sandboxing sowie Sicherheits-Plugins wie IDS/IPS, VPN, Proxy und Zenarmor verwaltet.

warnung

Das MAC-Framework von FreeBSD und das Sicherheitsparadigma von SELinux sind nicht dasselbe. Beim Einrichten der Sicherheit auf OPNsense verwenden Sie Werkzeuge und Verfahren, die spezifisch für FreeBSD sind.

Starten Sie noch heute kostenlos mit Zenarmor