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
8081mit dem Typhttp_port_tzu 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
8081wieder, um die Änderungen rückgängig zu machen.
Anforderungen
- Alle Befehle müssen als Benutzer
labexausgeführt werden. Verwenden Siesudo, wenn administrative Berechtigungen erforderlich sind. - Alle Operationen müssen im Verzeichnis
/home/labexdurchgeführt werden. - Zur Verwaltung der SELinux-Port-Labels muss der Befehl
semanageverwendet 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.



