Wie man SELinux aktiviert und deaktiviert
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.
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei: Diese Datei bestimmt, welcher SELinux-Modus beim Systemstart verwendet wird.
sudo nano /etc/selinux/config
-
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
-
Ä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.
-
Speichern und Datei beenden: Sie können die folgende Tastenkombination verwenden, um Ihre Änderungen im
nano
-Editor zu speichern:CTRL + O
Enter
CTRL + X -
Starten Sie das System neu: Sie müssen das System neu starten, damit die Änderungen wirksam werden.
sudo reboot
warnungBevor 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.
-
Ü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ährendsestatus
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.
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:
Funktion | Permissiver Modus | Deaktiviert (Aus) |
---|---|---|
Richtlinien werden überprüft | ✔ | X |
Verstöße werden blockiert | X | X |
Verstöße werden protokolliert | ✔ | X |
Kernel-Module werden geladen | ✔ | X |
Sicherheitsstufe | Mittel | Keine |
Empfohlene Nutzung | Testen / Debuggen | Nur 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.
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei: Diese Datei bestimmt, welcher SELinux-Modus beim Systemstart verwendet wird.
sudo nano /etc/selinux/config
-
Suchen Sie die Zeile, die den aktuellen Modus definiert: Es wird normalerweise wie unten aussehen.
SELINUX=enforcing
-
Ä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.
-
Datei speichern und beenden: Im Nano-Editor speichern Sie Ihre Änderungen, indem Sie die folgenden Tasten drücken.
CTRL + O
Enter
CTRL + X -
Starten Sie das System neu: Starten Sie das System neu, damit die Änderungen wirksam werden:
sudo reboot
-
Ü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ährendsestatus
Ihnen mehr Informationen gibt. Zum Beispiel wird es den Typ der Richtlinie und ob SELinux aktiv ist, offenbaren. Dies machtsestatus
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei
sudo nano /etc/selinux/config
-
Setzen Sie den SELinux-Modus auf deaktiviert. Finden Sie die Zeile
SELINUX=enforcing
in der Datei und ändern Sie sie inSELINUX=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. -
Datei speichern und beenden
-
Starten Sie das System neu.
-
Überprüfen Sie den Status, indem Sie
getenforce
odersestatus
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.
-
Öffnen Sie das Terminal und bearbeiten Sie die Datei
/etc/selinux/config
. -
Finden Sie die Zeile, die mit
SELINUX=
beginnt, und ändern Sie den Wert inSELINUX=disabled
. -
Speichern und den Editor verlassen.
-
Starten Sie den Server neu, um die Änderungen anzuwenden.
-
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.
-
Bearbeiten Sie die SELinux-Konfigurationsdatei
/etc/selinux/config
. -
Ändern Sie den Modus, indem Sie
SELINUX=disabled
einstellen. -
Speichern Sie Ihre Änderungen und schließen Sie den Editor.
-
Starten Sie das System neu, um die neuen Einstellungen anzuwenden, indem Sie
sudo systemctl reboot
ausführen. -
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei
/etc/selinux/config
. -
Setzen Sie den SELinux-Modus auf deaktiviert. Finden Sie die Zeile
SELINUX=enforcing
in der Datei und ändern Sie sie inSELINUX=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.
-
Speichern und die Datei schließen.
-
Starten Sie das System neu.
-
Überprüfen Sie den SELinux-Status, indem Sie
getenforce
odersestatus
ausführen.Getenforce
zeigt einfach den aktuellen Modus an, abersestatus
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.
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei
/etc/selinux/config
. -
Deaktivieren Sie den SELinux-Modus. Finden Sie die Zeile
SELINUX=enforcing
und ändern Sie sie inSELINUX=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. -
Speichern und die Datei schließen.
-
Starten Sie das System neu.
-
Überprüfen Sie den SELinux-Status, indem Sie
getenforce
odersestatus
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei
/etc/selinux/config
. -
Deaktivieren Sie den SELinux-Modus. Finden Sie die Zeile
SELINUX=enforcing
und ändern Sie sie inSELINUX=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. -
Speichern und die Datei schließen.
-
Starten Sie das System neu.
-
Überprüfen Sie den SELinux-Status, indem Sie
getenforce
odersestatus
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.
-
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.
-
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.
-
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.
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.
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.
-
Öffnen Sie die SELinux-Konfigurationsdatei
/etc/selinux/config
. -
Setzen Sie den SELinux-Modus auf deaktiviert. Finden Sie die Zeile
SELINUX=enforcing
in der Datei und ändern Sie sie inSELINUX=disabled
. -
Speichern und die Datei schließen.
-
Starten Sie das System neu.
-
Überprüfen Sie den SELinux-Status, indem Sie
getenforce
odersestatus
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.
-
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 # Enforcing → Permissive
sudo setenforce 1 # Permissive → EnforcingSie können die Modi mit dem Befehl setenforce ändern, ohne die Dienste zu stoppen.
-
/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=permissiveSie müssen das System neu starten, damit die dauerhaften Änderungen wirksam werden.
Merkmal | setenforce | /etc/selinux/config |
---|---|---|
Dauer | Temporär (setzt sich nach dem Neustart zurück) | Permanent (bleibt nach dem Neustart bestehen) |
Anwendung | Sofort | Nach dem Neustart |
Anwendungsfall | Testen, temporäre Anpassungen | Permanente Richtlinieneinstellung |
Erforderliche Schritte | Befehl ausführen | Datei 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.
-
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. -
-
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. -
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.
-
Permanentes Umschalten in den Durchsetzungsmodus
Um den Durchsetzungsmodus dauerhaft zu ändern, können Sie
/etc/selinux/config
ändern, indem SieSELINUX=enforcing
setzen und dann das Gerät neu starten. -
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
oderSELINUX=disabled
. -
Wählen Sie den Richtlinientyp:
SELINUXTYPE=targeted (Standard)
oderSELINUXTYPE=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.
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.