SELinux-Port-Labels verwalten

Red Hat Enterprise LinuxIntermediate
Jetzt üben

Einführung

Security-Enhanced Linux (SELinux) ist ein entscheidender Sicherheitsmechanismus in Red Hat Enterprise Linux, der Richtlinien zur obligatorischen Zugriffskontrolle (Mandatory Access Control, MAC) erzwingt. Ein wesentlicher Aspekt dabei ist das Labeling, das sich auch auf Netzwerkports erstreckt. Durch das Zuweisen spezifischer SELinux-Labels zu Ports können Sie präzise steuern, welche Dienste sich an diese binden dürfen.

In dieser Herausforderung werden Sie den Umgang mit SELinux-Port-Labels üben. Sie lernen, wie Sie bestehende Port-Definitionen einsehen, ein neues Label hinzufügen, um einen Dienst auf einem nicht standardmäßigen Port zu erlauben, und diese Definition anschließend wieder entfernen, um die ursprüngliche Richtlinie wiederherzustellen.

SELinux-Port-Labels verwalten

Stellen Sie sich vor, Sie sind Systemadministrator und müssen einen Webserver so konfigurieren, dass er auf dem nicht standardmäßigen Port 8081 läuft. Standardmäßig verhindert SELinux, dass der Webserver-Prozess (z. B. httpd) diesen Port nutzt, da das korrekte SELinux-Label fehlt. Ihre Aufgabe ist es, das Werkzeug semanage zu verwenden, um dem Port 8081 vorübergehend das richtige Label zuzuweisen und es anschließend wieder zu entfernen.

Aufgaben

  • Lassen Sie sich die vorhandenen SELinux-Port-Labels anzeigen, die mit dem HTTP-Dienst verknüpft sind.
  • Fügen Sie eine neue Regel hinzu, um den TCP-Port 8081 mit dem Typ http_port_t zu kennzeichnen, damit Webserver diesen nutzen können.
  • Löschen Sie nach der Überprüfung der neuen Regel die benutzerdefinierte Regel für den TCP-Port 8081 wieder, um die Änderungen rückgängig zu machen.

Anforderungen

  • Alle Befehle müssen als Benutzer labex ausgeführt werden. Verwenden Sie sudo, wenn administrative Berechtigungen erforderlich sind.
  • Alle Operationen müssen im Verzeichnis /home/labex durchgeführt werden.
  • Zur Verwaltung der SELinux-Port-Labels muss der Befehl semanage verwendet werden.

Beispiel

Bevor Sie das neue Port-Label hinzufügen, zeigt die Abfrage nach http_port_t die Standard-Ports:

## sudo semanage port -l | grep http_port_t
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988

Nachdem Sie eine Regel für Port 8081 hinzugefügt haben, sollte die Ausgabe den neuen Port enthalten:

## sudo semanage port -l | grep http_port_t
http_port_t                    tcp      8081, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988

Zusammenfassung

In dieser Herausforderung haben Sie die grundlegenden Operationen zur Verwaltung von SELinux-Netzwerkport-Labels erlernt. Sie haben geübt, den Befehl semanage port zu verwenden, um bestehende Richtlinien anzuzeigen, eine neue Port-Definition mit semanage port -a hinzuzufügen und diese mit semanage port -d wieder zu entfernen. Die korrekte Kennzeichnung von Ports ist eine wesentliche Fertigkeit für die sichere Bereitstellung von Netzwerkdiensten auf Systemen mit aktiviertem SELinux, wie etwa Red Hat Enterprise Linux.

✨ Lösung prüfen und üben