[Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.]
Es gibt viele hervorragende Handbuchseiten für die eingeschränkten Domänen, die in der SELinux-Richtlinie enthalten sind. Diese Manpages beschreiben boolesche Werte und Kontexttypen für jede Domäne. Sie enthalten auch Beispiel-semanage
Befehle zum Hinzufügen von Kontextzuordnungen, Ändern von Booleschen Werten und mehr.
Unglücklicherweise für den Systemadministrator, der mit der SELinux-Konfiguration beginnt, werden diese Manpages oft nicht standardmäßig installiert. Die SELinux-Richtlinien-Manpages sind an zwei Stellen verfügbar. Das Upstream-Repository für Referenzrichtlinien enthält eine Handvoll vorgefertigter Manpages. Der Rest kann mit einem Tool aus dem policycoreutils-devel
aus dem Richtlinieninhalt generiert werden Paket.
Installation von einem Distributionspaket
Einige Distributionen generieren die Manpages vorab und packen sie, damit die Dokumentation einfach zu Ihrem System hinzugefügt werden kann. Fedora, CentOS und Red Hat Enterprise Linux 8 enthalten alle eine selinux-policy-doc.noarch
Paket in ihren Basis-Repositories. Dieses Paket wird standardmäßig nicht installiert, kann aber einfach mit einem yum
hinzugefügt werden oder dnf
Befehl:
$ sudo yum install selinux-policy-doc.noarch
Red Hat Enterprise Linux 7 hat dieses Paket ebenfalls, aber es befindet sich im „Optionalen“ Repo, das standardmäßig nicht aktiviert ist. Aktivieren Sie das Repo entweder dauerhaft mit subscription-manager
:
$ sudo subscription-manager repo --enable=rhel-7-server-optional-rpms
oder fügen Sie das Repo einfach während der Installation vorübergehend hinzu:
$ sudo yum --enablerepo=rhel-7-server-optional-rpms install selinux-policy-doc.noarch
Nachdem die SELinux-Domänendokumentation verfügbar ist, suchen Sie mit:
nach den relevanten Seiten
$ man -k _selinux
Hinweis: Nach der Installation des Dokumentationspakets müssen Sie möglicherweise auch den Manpage-Index-Cache aktualisieren, bevor Sie die Ergebnisse der Suche sehen können:
$ sudo mandb
Manpages aus der Richtlinie generieren
Wenn das Docs-Paket nicht verfügbar ist oder Sie nur eine Manpage für eine bestimmte Domäne generieren möchten, können Sie die Manpages auch aus der Richtlinie erstellen. Installieren Sie zuerst devel
Pakete und ihre Abhängigkeiten:
$ sudo yum install policycoreutils-devel
Verwenden Sie dann die sepolicy
Befehl zum Generieren einer bestimmten Manpage durch Angabe des Domänentyps (der SELinux-Kontexttyp, der dem laufenden Prozess zugeordnet ist, der enthalten ist). Zum Beispiel:
$ sepolicy manpage -d httpd_t
Die resultierende Manpage wird in /tmp
generiert Verzeichnis und kann nach Namen angezeigt werden:
$ man /tmp/httpd_selinux.8
Es gibt Optionen für die sepolicy manpage
Befehl zum Überschreiben des Ausgabespeicherorts (--path
), generieren Sie eine HTML-Version (--web
) oder alle generieren (--all
) Seiten. Um diese und andere Optionen anzuzeigen, verwenden Sie:
$ man sepolicy-manpage
Solange ein Benutzer Schreibrechte für den Ausgabepfad hat, kann er eine Manpage generieren und anzeigen.
Sehen Sie sich die Magie dieser Manpages in der Vorschau an
Die SELinux-Manpages für Domänentypen haben alle ein gemeinsames Layout. Wie bei jedem Satz Manpages gilt:Je mehr Manpages Sie lesen, desto einfacher ist es, die nächste zu scannen oder schnell zu lesen.
Jede Manpage beginnt mit den erwarteten Feldern NAME und DESCRIPTION jeder Manpage. Die Handbuchseiten der SELinux-Domäne enthalten dann die Abschnitte ENTRYPOINTS und PROCESS TYPES. (Einstiegspunkte sind die Typen, die den ausführbaren Dateien zugewiesen sind, die, wenn sie als Daemons gestartet werden, zu den eingeschränkten Prozesstypen übergehen.)
Nicht alle Prozesstypen sind jedoch Daemons, einige können interaktive ausführbare Dateien sein. Beispiel:sshd_exec_t
ist ein Einstiegspunkt, der zum sshd_t
übergeht Prozesstyp. Außerdem sshd_t
, ssh_t
, und ssh_keygen_t
und sind auch Beispiele für Prozesstypen.
Prozesstypen werden auch als Domänentypen bezeichnet und sind die Typen, die mit semanage
in den Permissive-Modus versetzt werden können Befehl.
Nach allen Abschnitten zu Einstiegspunkten und Prozesstypen enthält die Handbuchseite der SELinux-Domäne Abschnitte für alle BOOLEANS, PORT TYPES, MANAGED FILES und FILE CONTEXTS, die für diese Domäne gelten. Diese Abschnitte definieren Schlüsselwörter und bieten Beispiele für Änderungen, die mit semanage
vorgenommen werden können Befehl. Das Aktivieren eines booleschen Werts ermöglicht einen anderen Regelsatz für verschiedene Anwendungsfälle. Datei- und Portkontextmodifikationen ermöglichen es, ein System so zu konfigurieren, dass es Daten an einem nicht standardmäßigen Speicherort speichert oder auf einem nicht standardmäßigen Port ausgeführt wird.
Jede Manpage endet mit einer Liste von COMMANDS, auf die in der Manpage und den traditionellen Manpage-Abschnitten AUTOR und SIEHE AUCH verwiesen wird.
Beginnen Sie mit der Erkundung
Mit dem targeted
Richtlinie, der httpd
Domänenseite ist wahrscheinlich die längste, da diese Domäne die meisten booleschen Werte und Dateitypen zu beschreiben hat. Es war auch eine der ersten beschränkten Domains in der Geschichte des targeted
von SELinux Richtlinie.
Beginnen Sie mit einer Ihnen vertrauten Domäne wie sshd
, httpd
, oder ntpd
. Suchen Sie dann nach Domänen, die für Ihre Umgebung relevant sind. Nach der Installation der selinux-docs
Paket habe ich über 850 Manpages auf meinem System zum Erkunden!
Und denken Sie daran, SELinux weiter durchzusetzen! (So geht's.)