Startseite > Paket- & Systemverwaltung > semanage

semanage: SELinux-Richtlinienverwaltung

semanage ist ein Befehlszeilenwerkzeug zur Verwaltung von SELinux (Security-Enhanced Linux)-Richtlinien. Sie können verschiedene SELinux-Richtlinienelemente wie Dateikontexte, Netzwerkports, Booleans und Benutzerzuordnungen hinzufügen, ändern, löschen und auflisten. Dies hilft bei der Feinsteuerung der Sicherheitspolitik Ihres Systems, um sicherzustellen, dass Anwendungen und Dienste sicher ausgeführt werden.

Übersicht

semanage wird verwendet, um SELinux-Richtlinien dauerhaft zu ändern. Während `chcon` oder `restorecon` temporäre oder bestehende Richtlinien anwenden, definiert `semanage` neue Richtlinienregeln, die auch nach einem Systemneustart bestehen bleiben.

Hauptverwaltungsobjekte

Dies sind die wichtigsten SELinux-Richtlinienelemente, die mit semanage verwaltet werden können.

  • Dateikontexte (File Contexts): Zuweisung von SELinux-Typen zu Dateipfaden und Verzeichnissen
  • Netzwerkports (Network Ports): Zuweisung von SELinux-Typen zu bestimmten Ports
  • SELinux Booleans: Schalter zum Aktivieren oder Deaktivieren bestimmter Verhaltensweisen in der SELinux-Richtlinie
  • SELinux-Benutzerzuordnungen (User Mappings): Zuordnung von Linux-Benutzern zu SELinux-Benutzern

Wichtige Optionen

semanage verwaltet Richtlinien für verschiedene SELinux-Objekttypen. Hier werden gängige Optionen im Zusammenhang mit jedem Objekttyp erläutert.

Allgemeine Verwaltungsoptionen

Objekttypen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`semanage` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Zeigt verschiedene Szenarien zur Verwaltung von SELinux-Richtlinien mit dem Befehl semanage.

Alle Dateikontextregeln auflisten

sudo semanage fcontext -l

Überprüft alle aktuell auf dem System definierten Dateikontext-Zuordnungsregeln.

Regeln für einen bestimmten Port auflisten

sudo semanage port -l | grep http

Listet die Portregeln auf, die für den HTTP-Dienst verwendet werden.

Benutzerdefinierten Dateikontext hinzufügen

sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/my_app(/.*)?"

Fügt eine Regel hinzu, die das Verzeichnis /var/www/html/my_app und seine Unterdateien dem Typ httpd_sys_content_t zuweist. (Nach dem Hinzufügen ist restorecon erforderlich)

Benutzerdefinierten Port hinzufügen

sudo semanage port -a -t http_port_t -p tcp 8080

Fügt den TCP-Port 8080 dem Typ http_port_t hinzu, damit er von Webdiensten verwendet werden kann.

SELinux Boolean aktivieren

sudo semanage boolean -m --on httpd_can_network_connect

Aktiviert den Boolean httpd_can_network_connect, um dem Apache-Webserver zu erlauben, Netzwerkverbindungen zu initiieren.

Installation

semanage ist Teil des Pakets 'policycoreutils' oder eines ähnlichen Pakets auf den meisten Linux-Distributionen, die SELinux verwenden. Hier sind die Installationsmethoden für gängige Distributionen.

RHEL/CentOS/Fedora

sudo dnf install policycoreutils-python-utils

Installieren Sie das Paket 'policycoreutils-python-utils' mit dem DNF- oder YUM-Paketmanager.

Debian/Ubuntu

sudo apt install selinux-utils

Installieren Sie das Paket 'selinux-utils' mit dem APT-Paketmanager.

Tipps & Hinweise

Nützliche Tipps und zu beachtende Punkte bei der Verwaltung von SELinux-Richtlinien mit semanage.

Anwenden von Änderungen

Nachdem Sie Dateikontextregeln geändert haben, müssen Sie unbedingt den Befehl 'restorecon' verwenden, um die geänderten Kontexte auf das Dateisystem anzuwenden.

  • `sudo restorecon -Rv /pfad/zum/verzeichnis`

Problembehandlung und Richtlinienerstellung

Wenn SELinux-bezogene Probleme auftreten, überprüfen Sie die Datei `/var/log/audit/audit.log`, um blockierte Aktionen zu identifizieren, und verwenden Sie das Tool `audit2allow`, um die erforderlichen Richtlinienregeln zu erstellen.

  • `sudo tail -f /var/log/audit/audit.log` (Echtzeit-Protokollprüfung)
  • `sudo audit2allow -a -M mypolicy` (Erstellt 'mypolicy.te' und 'mypolicy.pp' basierend auf den Protokollen von Richtlinienverstößen)
  • `sudo semodule -i mypolicy.pp` (Lädt das erstellte Richtlinienmodul)

Hinweis

Falsche Änderungen an SELinux-Richtlinien können den Zugriff auf bestimmte Dienste oder das gesamte System blockieren. Es ist wichtig, die aktuelle Richtlinie vor Änderungen zu sichern oder sorgfältig zu testen.


Gleiche Kategorie Befehle