GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Was sind SELinux-Benutzer und wie werden Linux-Benutzer SELinux-Benutzern zugeordnet?

SELinux-Benutzer

Zusätzlich zu den regulären Linux-Benutzern gibt es SELinux-Benutzer. SELinux-Benutzer sind Teil einer SELinux-Richtlinie. Die Richtlinie ist für eine bestimmte Gruppe von Rollen und für einen bestimmten MLS-Bereich (Multi-Level Security) autorisiert. Jeder Linux-Benutzer wird als Teil der Richtlinie einem SELinux-Benutzer zugeordnet. Dadurch können Linux-Benutzer die Einschränkungen und Sicherheitsregeln und -mechanismen übernehmen, die SELinux-Benutzern auferlegt werden.

Um zu definieren, welche Rollen und Ebenen sie eingeben können, wird die zugeordnete SELinux-Benutzeridentität im SELinux-Kontext für Prozesse in dieser Sitzung verwendet. Sie können eine Liste der Zuordnungen zwischen SELinux- und Linux-Benutzerkonten über die Befehlszeile anzeigen:

# semanage login -l

Login Name           SELinux User         MLS/MCS Range        Service

__default__          unconfined_u         s0-s0:c0.c1023       *
root                 unconfined_u         s0-s0:c0.c1023       *
system_u             system_u             s0-s0:c0.c1023       *

Rolle

Die Rolle ist ein Attribut des Sicherheitsmodells der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC). Die Rolle dient als Vermittler zwischen Domänen und SELinux-Benutzern. SELinux-Benutzer sind für Rollen autorisiert, Rollen sind für Domänen autorisiert und Prozesse werden in ihren eigenen separaten Domänen ausgeführt. Die Rollen bestimmen, welche Domains Sie eingeben können und auf welche Dateien Sie letztendlich zugreifen können.

Typ

Type ist ein Attribut von Type Enforcement (TE) . Der Typ definiert einen Typ für Dateien und eine Domäne für Prozesse. Prozesse werden voneinander getrennt, indem sie in eigenen Domänen ausgeführt werden. Diese Trennung verhindert, dass Prozesse auf Dateien zugreifen, die von anderen Prozessen verwendet werden, und verhindert, dass Prozesse auf andere Prozesse zugreifen. SELinux-Richtlinienregeln definieren, wie Typen aufeinander zugreifen können, ob eine Domäne auf einen Typ zugreift oder eine Domäne auf eine andere Domäne.

Stufe

Level ist ein Attribut von MLS und MCS. Ein MLS-Bereich ist ein Paar von Pegeln, die als Lowlevel-Highlevel geschrieben werden, wenn sich die Pegel unterscheiden, oder Lowlevel, wenn die Pegel identisch sind (s0-s0 ist dasselbe wie s0). Jede Stufe ist ein Empfindlichkeits-Kategorie-Paar, wobei die Kategorien optional sind. Wenn es Kategorien gibt, wird die Ebene als Empfindlichkeit:Kategoriesatz geschrieben. Wenn es keine Kategorien gibt, wird es als Empfindlichkeit geschrieben.

Wenn der Kategoriesatz eine fortlaufende Reihe ist, kann er abgekürzt werden. Beispielsweise ist c0.c3 dasselbe wie c0,c1,c2,c3. Die /etc/selinux/targeted/setrans.conf Datei ist die Multi-Category Security Translation Table für SELinux und ordnet Ebenen einer menschenlesbaren Form wie s0:c0.c1023=SystemHigh zu. Bearbeiten Sie diese Datei nicht mit einem Texteditor; Verwenden Sie die Semanage Befehl zum Vornehmen von Änderungen.

Verwenden Sie den chcon Befehl zum Ändern des SELinux-Kontexts für Dateien. Änderungen, die mit dem chcon-Befehl vorgenommen wurden, überdauern eine Dateisystem-Umbenennung oder die Ausführung von restorecon nicht Befehl. Geben Sie bei Verwendung von chcon den gesamten oder einen Teil des zu ändernden SELinux-Kontexts an.

Eingeschränkte SELinux-Benutzer

Linux-Benutzer werden dem SELinux _default_ Login zugeordnet standardmäßig, die dem SELinux unconfined_u zugeordnet ist Benutzer. Allerdings kann SELinux Linux-Benutzer darauf beschränken, die auf sie angewendeten Sicherheitsregeln und -mechanismen zu nutzen, indem Linux-Benutzer SELinux-Benutzern zugeordnet werden.

In der SELinux-Richtlinie gibt es eine Reihe eingeschränkter SELinux-Benutzer. Das Folgende ist eine Liste von eingeschränkten SELinux-Benutzern und ihren zugehörigen Domänen:

  • guest_u :Die Domain für den Benutzer ist guest_t.
  • staff_u :Die Domain für den Benutzer ist staff_t.
  • user_u :Die Domäne für den Benutzer ist user_t.
  • xguest_x :Die Domain für den Benutzer ist xguest_t.

– Linux-Benutzer im guest_t , xguest_t und user_t Domänen können Anwendungen zum Festlegen der Benutzer-ID (setuid) nur ausführen, wenn die SELinux-Richtlinie dies zulässt (z. B. passwd). Sie können die Anwendungen su und sudo setuid nicht ausführen, um Root-Benutzer zu werden.
– Linux-Benutzer in der Domäne guest_t haben keinen Netzwerkzugriff und können sich nur von einem Terminal aus anmelden. Sie können sich mit ssh anmelden, aber nicht ssh verwenden, um eine Verbindung zu einem anderen System herzustellen. Der einzige Netzwerkzugriff, den Linux-Benutzer in der xguest_t-Domain haben, ist Firefox, um sich mit Webseiten zu verbinden.
– Linux-Benutzer in den xguest_t-, user_t- und staff_t-Domains können sich mit dem X Window System und einem Terminal anmelden.
– Standardmäßig haben Linux-Benutzer in der Domäne staff_t keine Berechtigung zum Ausführen von Anwendungen mit dem Befehl sudo.
– Standardmäßig können Linux-Benutzer in den Domänen guest_t und xguest_t keine Anwendungen in ihren Home-Verzeichnissen oder /tmp ausführen, was verhindert daran hindern, Anwendungen in Verzeichnissen auszuführen, auf die sie Schreibzugriff haben. Dadurch wird verhindert, dass fehlerhafte oder böswillige Anwendungen Dateien ändern, die Benutzern gehören.
– Standardmäßig können Linux-Benutzer in den Domänen user_t und staff_t Anwendungen in ihren Home-Verzeichnissen und /tmp ausführen.

Zuordnen von Linux-Benutzern zu SELinux-Benutzern

Verwenden Sie das „semanage login –a “-Befehl, um einen Linux-Benutzer einem SELinux-Benutzer zuzuordnen. Um beispielsweise den Linux-Benutzer john dem SELinux-Benutzer user_u zuzuordnen, führen Sie den folgenden Befehl aus:

# semanage login -a -s user_u john

Das -a Option fügt einen neuen Datensatz hinzu und die Option -s gibt den SELinux-Benutzer an. Das letzte Argument, newuser, ist der Linux-Benutzer, den Sie dem angegebenen SELinux-Benutzer zuordnen möchten.

Boolesche Werte für Benutzer, die Anwendungen ausführen

Einige boolesche Werte sind verfügbar, um das Benutzerverhalten zu ändern, wenn Anwendungen in ihren Home-Verzeichnissen und in /tmp ausgeführt werden. Verwenden Sie „setsebool –P [boolean] on|off ” Befehl:

1. Um Linux-Benutzern in der Domäne guest_t zu erlauben, Anwendungen in ihren Home-Verzeichnissen und /tmp:

auszuführen
# setsebool -P guest_exec_content on

2. Linux-Benutzern in der xguest_t-Domäne zu erlauben, Anwendungen in ihren Home-Verzeichnissen und /tmp:

auszuführen
# setsebool -P xguest_exec_content on

3. Um zu verhindern, dass Linux-Benutzer in der Domäne user_t Anwendungen in ihren Home-Verzeichnissen und /tmp:

ausführen
# setsebool -P user_exec_content off

4. Um zu verhindern, dass Linux-Benutzer in der Domäne staff_t Anwendungen in ihren Home-Verzeichnissen und /tmp ausführen:

# setsebool -P staff_exec_content off
Grundlegendes zur SELinux-Dateikennzeichnung und zum SELinux-Kontext


Cent OS
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. Flatpak unter Linux:Was es ist und wie man Apps damit installiert

  3. So arbeiten Sie mit Benutzern und Gruppen in Linux

  4. Was sind SELinux-Modi und wie werden sie eingestellt?

  5. Was sind schmutzige Seiten in Linux

Was sind Snaps und wie wird es auf verschiedenen Linux-Distributionen installiert?

Was ist UID in Linux, wie man es findet und ändert

Was ist Git und wie installiert man Git unter Linux?

So listen Sie Benutzer unter Linux auf

So finden Sie heraus, welche IP-Adressen mit Linux verbunden sind

So listen Sie Benutzer und Gruppen unter Linux auf