Selinux für Anfänger mit CentOS

Selinux für Anfänger mit CentOS
Sicherheitsverstärkte Linux oder Selinux entwickelt von der NSA, um böswilligen Zugriff und Intrusionen zu verhindern. Selinux ist definiert als das als Ersatz für das diskretionäre Zugriffskontrollsystem (DAC) entwickelte MAC -System (Oblicatory Access Control) (DAC).

Selinux kann in den meisten modernen Systemen entmutigend erscheinen und sehr schwer zu implementieren. Das Konfigurieren von SELinux hat jedoch enorme Vorteile sowohl bei der Durchsetzung der Sicherheits- als auch bei der Fehlerbehebung.

In diesem Tutorial werden verschiedene von Selinux implementierte Konzepte erörtert und verschiedene praktische Methoden zur Implementierung von Selinux untersucht.

Hinweis: Bevor wir beginnen.

Installieren Sie Selinux -Pakete

Lassen Sie uns verschiedene Selinux -Pakete installieren, was wiederum dazu beiträgt, mit Selinux -Richtlinien zu arbeiten.

Bevor wir die Selinux -Pakete installieren, ist es gut, dass wir überprüfen, welche auf dem aktuellen System installiert sind.

In den meisten Installationen von RERREL -Verteilungen werden einige Pakete standardmäßig installiert. Diese Pakete umfassen:

  1. SETOLLS - Dieses Paket wird zur Überwachung von Protokollen, Abfragen von Richtlinien und Kontextdateiverwaltung verwendet.
  2. PolicyCoreutils -Python - Bietet Python -Kern -Dienstprogramme für die Verwaltung von Selinux
  3. PolicyCoreutils - Dieses Paket bietet auch Dienstprogramme für die Verwaltung von SELinux.
  4. McStrans - McStrans liefert Selinux Translation Dämon, was verschiedene Ebenen in einfache Formate umsetzt, die leicht verstanden werden können.
  5. Setools -Console - ähnlich wie bei Setools.
  6. Selinux -Policy - Es bietet eine Referenz für die Konfiguration der SELinux -Richtlinie
  7. Selinux-Policy-Targeted-ähnlich wie Selinux-Policy
  8. Libselinux -utils - Selinux libselinux -Dienstprogramme, die zur Verwaltung von Selinux beitragen
  9. SetRoUbleshoot -server - Tools zur Fehlerbehebung Selinux

Um zu überprüfen, welche Pakete bereits auf Ihrem System installiert sind, können Sie den Befehl rpm -QA verwenden und das Ergebnis zu Grep für Selinux als:

rpm -qa | Grep Selinux
libselinux-utils-2.9-4.EL8_3.x86_64
RPM-Plugin-Selinux-4.14.3-4.EL8.x86_64
Selinux-Policy-Targeted-3.14.3-54.EL8_3.2.Keinarch
Python3-Libselinux-2.9-4.EL8_3.x86_64
Selinux-Policy-3.14.3-54.EL8_3.2.Keinarch
libselinux-2.9-4.EL8_3.x86_64

Dies sollte Ihnen eine Ausgabe aller für die Selinux -Unterstützung installierten Pakete geben

Wenn nicht alle Selinux -Pakete auf Ihrem System installiert sind, installieren Sie sie wie in dem folgenden Befehl gezeigt:

yum Installation PolicyCoreutils PolicyCoreutils-Python-Utils Selinux-Policy Selinux-Policy-Targeted Libselinux-Utils SetRouBleshoot-Server Setools Setools-Console Mcstrans

Selinux -Modi und Zustände

Lassen Sie uns nun mit Selinux spielen, insbesondere mit Selinux -Modi.

Selinux -Modi

Wenn es aktiviert ist, können Selinux drei mögliche Modi sein:

  • Strikt
  • Zulässt
  • Behinderte

Durchsetzung des Modus

Wenn der Selinux -Modus durchgesetzt wird, wird sichergestellt, dass kein nicht autorisierter Zugriff auf das System durch einen Benutzer oder eine Prozesse abgelehnt wird. Der Erwerbsmodus führt auch Protokolle von Versuchen eines nicht autorisierten Zugriffs.

Zulassungsmodus

Der zulässige Modus wirkt wie ein teilweise aktivierter Selinux -Zustand. In diesem Modus wird kein Zugriff abgelehnt, da Selinux seine Richtlinien in diesem Modus nicht durchsetzt. Der zulässige Modus führt jedoch ein Protokoll der Verstöße gegen Richtlinien bei. Dieser Modus ist sehr effizient zum Testen, bevor er vollständig aktiviert ist, da Benutzer und Komponenten weiterhin mit dem System interagieren können, aber auch Protokolle sammeln können. Auf diese Weise können Sie Ihr System auf eine Weise optimieren, die Sie für richtig halten.

Behindertenmodus

Der deaktivierte Modus kann auch als deaktivierter Zustand angesehen werden, in dem Selinux deaktiviert ist und keine Sicherheit bietet.

Selinuxzustände

Sobald Selinux auf einem System installiert ist. Es kann binäre Zustände haben: aktiviert und deaktiviert. Verwenden Sie den Befehl, um den Zustand von Selinux anzuzeigen:

Getenforce
Behinderte

Der obige Ausgang zeigt an, dass Selinux derzeit deaktiviert ist.

Sie können auch den Befehl sestatus wie unten gezeigt verwenden:

sestatus
Selinux -Status: Deaktiviert

Aktivieren und deaktivieren Selinux

Die Zustände und die Konfiguration von Selinux werden von der Konfigurationsdatei in/etc/selinux/config behandelt. Sie können den CAT -Befehl verwenden, um seinen Inhalt anzuzeigen.

Katze/etc/selinux/config
#Diese Datei steuert den Status von Selinux auf dem System.
#Selinux = kann einen dieser drei Werte annehmen:
#ENTROWERCING - SELINUX -Sicherheitsrichtlinie wird durchgesetzt.
#permisssiv - Selinux druckt Warnungen anstatt durchzusetzen.
#Dialabled - Es wird keine Selinux -Richtlinie geladen.
Selinux = Durchsetzung
#SelinuxType = kann einen dieser drei Werte annehmen:
# gezielte - Zielprozesse sind geschützt,
# Minimum - Änderung der gezielten Richtlinie. Nur ausgewählte Prozesse sind geschützt.
# MLS - Sicherheitsschutz mit mehreren Ebenen.
SelinuxType = gezielt

Aus der obigen Ausgabe haben wir zwei Hauptanweisungen aktiviert. Die Selinux -Anweisung gab den Modus an, in dem Selinux konfiguriert ist. Die SelinuxType -Anweisung gibt den Selinux -Richtliniensatz an. Standardmäßig verwendet Selinux eine gezielte Richtlinie, mit der Sie Zugriffskontrollberechtigungen anpassen können. Die andere Richtlinie ist mehrstufige Sicherheit oder MLS.

Sie können in einigen Versionen Mindestrichtlinien finden.

CD/etc/selinux/
[ls -l
Gesamt 4
-RW-R-R-1 Root Root 548 16. Februar 22:40 Konfiguration
DRWXR-XR-X 1 Wurzel Root 4096 16 Februar 22:43 mls
-RW-R-R-1 Root Root 2425 Jul 21 2020 Semanage.Conf
DRWXR-XR-X 1 Wurzel Root 4096 16. Februar 22:40 gezielt

Lassen Sie uns nun sehen, wie Sie Selinux auf dem System aktivieren können. Wir empfehlen, den Selinux -Modus zuerst auf zulässige und nicht erzwungene Selinux -Modus zu setzen.

Nano/etc/selinux/config

Bearbeiten Sie nun die Selinux -Richtlinie als:

Selinux = zulässt

Sobald Sie die Datei gespeichert haben, geben Sie einen System -Neustart aus.

Neustart

Hinweis: Wir empfehlen dringend.

Sobald Sie das System neu gestartet haben, prüfen.

Stellen Sie als Nächst

Schließlich können Sie den Selinux -Status mit dem Sestatus -Befehl anzeigen:

Selinux -Status: aktiviert
Selinuxfs montage:/sys/fs/selinux
Selinux Root Directory: /etc /selinux
Geladener Richtlinienname: gezielt
Aktueller Modus: Durchsetzung
Modus aus Konfigurationsdatei: Fehler (Erfolg)
Richtlinie MLS Status: aktiviert
Richtlinie Deny_UunkNOWN Status: erlaubt
Speicherschutzüberprüfung: tatsächlich (sicher)
Max Kernel -Richtlinienversion: 31

Sie können auch den Befehl setEnforce verwenden, um zwischen verschiedenen Selinux -Modi zu wechseln. Verwenden Sie den Befehl beispielsweise, um den Modus auf zulässige zu setzen:

setEnforce zulässt

Dieser Modus ist vorübergehend und wird nach einem Neustart in einer in der Konfigurationsdatei wiederhergestellt.

sestatus
Selinux -Status: aktiviert
Selinuxfs montage:/sys/fs/selinux
Selinux Root Directory: /etc /selinux
Geladener Richtlinienname: gezielt
Aktueller Modus: zulässt
Modus aus der Konfigurationsdatei: Durchsetzung
Richtlinie MLS Status: aktiviert
Richtlinie Deny_UunkNOWN Status: erlaubt
Speicherschutzüberprüfung: tatsächlich (sicher)
Max Kernel -Richtlinienversion: 31

Selinux -Richtlinie und Kontext

Um Verwirrung für Selinux -Anfänger zu vermeiden, werden wir nicht tief in die Implementierung von Selinux -Richtlinien eintauchen, sondern einfach darauf eingehen, um Ihnen eine Idee zu geben.

Selinux arbeitet durch die Implementierung von Sicherheitsrichtlinien. Eine Selinux -Richtlinie bezieht sich auf eine Regel, mit der die Zugriffsrechte für jedes Objekt im System definiert werden. Objekte beziehen sich auf Benutzer, Prozesse, Dateien und Rollen.

Jeder Kontext wird in Form des Benutzers definiert: Rolle: Typ: Ebene.

Erstellen Sie beispielsweise ein Verzeichnis in Ihrem Heimverzeichnis und sehen Sie sich den Selinux -Sicherheitskontext an, wie in den folgenden Befehlen gezeigt:

mkdir ~/linuxhint_dir
ls -z ~/ | Grep LinuxHint

Dadurch wird die Ausgabe wie unten gezeigt angezeigt:

cononfined_u: Object_r: user_home_t: s0 linuxhint_dir

Möglicherweise finden Sie auch andere Verzeichnisse mit den Sicherheitskontexten als:

System: _u: Object_R: user_home_t: s0

Sie können erkennen, dass die obige Ausgabe der Syntax des Benutzers folgt: Rolle: Typ: Ebene.

Abschluss

Das war ein Anfänger -Tutorial für Selinux mit CentOS 8. Obwohl das Tutorial für Anfänger konzipiert ist, ist es mehr als genug, um Ihre Füße in Selinux zum Laufen zu bringen und die einschüchterndes Natur von Selinux zu entfernen.

Vielen Dank für das Lesen.