GNU/Linux >> Znalost Linux >  >> Cent OS

Co jsou uživatelé SELinuxu a jak mapovat uživatele Linuxu na uživatele SELinuxu

Uživatel SELinux

Kromě běžných uživatelů Linuxu existují uživatelé SELinuxu. Uživatelé SELinuxu jsou součástí zásad SELinuxu. Zásada je autorizována pro konkrétní sadu rolí a pro konkrétní rozsah MLS (Multi-Level Security). Každý uživatel Linuxu je v rámci zásady mapován na uživatele SELinuxu. To umožňuje uživatelům Linuxu zdědit omezení a bezpečnostní pravidla a mechanismy kladené na uživatele SELinuxu.

K definování, jaké role a úrovně mohou vstupovat, se v kontextu SELinuxu pro procesy v dané relaci používá namapovaná identita uživatele SELinux. Seznam mapování mezi uživatelskými účty SELinux a Linux můžete zobrazit z příkazového řádku:

# 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       *

Role

Role je atributem modelu zabezpečení Role-Based Access Control (RBAC). Role slouží jako prostředník mezi doménami a uživateli SELinuxu. Uživatelé SELinuxu jsou autorizováni pro role, role jsou autorizovány pro domény a procesy běží v jejich vlastních samostatných doménách. Role určují, do kterých domén můžete vstupovat, a nakonec, ke kterým souborům máte přístup.

Typ

Typ je atributem Type Enforcement (TE) . Typ definuje typ pro soubory a definuje doménu pro procesy. Procesy jsou od sebe odděleny tím, že běží ve svých vlastních doménách. Toto oddělení zabraňuje procesům v přístupu k souborům používaným jinými procesy a také brání procesům v přístupu k jiným procesům. Pravidla zásad SELinux definují, jak mohou typy přistupovat k sobě navzájem, zda jde o doménu přistupující k typu nebo doménu přistupující k jiné doméně.

Úroveň

Úroveň je atributem MLS a MCS. Rozsah MLS je dvojice úrovní, zapsaných jako nízká úroveň-vysoká úroveň, pokud se úrovně liší, nebo nízká úroveň, pokud jsou úrovně totožné (s0-s0 je stejné jako s0). Každá úroveň je dvojice citlivost-kategorie, přičemž kategorie jsou volitelné. Pokud existují kategorie, úroveň je zapsána jako citlivost:sada kategorií. Pokud nejsou žádné kategorie, zapíše se to jako citlivost.

Pokud je sada kategorií souvislá řada, lze ji zkrátit. Například c0.c3 je totéž jako c0,c1,c2,c3. Soubor /etc/selinux/targeted/setrans.conf file je překladová tabulka zabezpečení Multi-Category pro SELinux a mapuje úrovně do podoby čitelné pro člověka, jako je s0:c0.c1023=SystemHigh. Neupravujte tento soubor pomocí textového editoru; použijte správu příkaz k provedení změn.

Použijte chcon příkaz ke změně kontextu SELinux pro soubory. Změny provedené pomocí příkazu chcon nepřežijí změnu systému souborů ani provedení restorecon příkaz. Při použití chcon poskytněte celý kontext SELinux nebo jeho část, kterou chcete změnit.

Omezení uživatelé SELinux

Uživatelé Linuxu jsou mapováni na SELinux _default_ login ve výchozím nastavení je mapován na SELinux unconfined_u uživatel. SELinux však může omezit uživatele Linuxu, aby využili bezpečnostních pravidel a mechanismů, které se na ně vztahují, mapováním uživatelů Linuxu na uživatele SELinuxu.

V zásadách SELinuxu existuje řada omezených uživatelů SELinuxu. Následuje seznam omezených uživatelů SELinux a jejich přidružených domén:

  • host_u :Doména pro uživatele je guest_t.
  • staff_u :Doména pro uživatele je staff_t.
  • user_u :Doména pro uživatele je user_t.
  • xguest_x :Doména uživatele je xguest_t.

– Uživatelé systému Linux v guest_t , xguest_t a user_t domény mohou spouštět aplikace s nastavením ID uživatele (setuid) pouze v případě, že to dovoluje politika SELinux (jako je passwd). Nemohou spouštět aplikace su a sudo setuid, aby se stali uživatelem root.
– Uživatelé Linuxu v doméně guest_t nemají přístup k síti a mohou se přihlásit pouze z terminálu. Mohou se přihlásit pomocí ssh, ale nemohou použít ssh pro připojení k jinému systému. Jediný síťový přístup, který mají uživatelé Linuxu v doméně xguest_t, je Firefox pro připojení k webovým stránkám.
– Uživatelé Linuxu v doménách xguest_t, user_t a staff_t se mohou přihlásit pomocí systému X Window a terminálu.
– Uživatelé Linuxu v doméně staff_t nemají ve výchozím nastavení oprávnění spouštět aplikace pomocí příkazu sudo.
– Uživatelé Linuxu v doménách guest_t a xguest_t nemohou ve výchozím nastavení spouštět aplikace ve svých domovských adresářích nebo /tmp, což brání od spouštění aplikací v adresářích, do kterých mají přístup pro zápis. To pomáhá zabránit chybným nebo škodlivým aplikacím v úpravě souborů, které uživatelé vlastní.
– Ve výchozím nastavení mohou uživatelé Linuxu v doménách user_t a staff_t spouštět aplikace ve svých domovských adresářích a /tmp.

Mapování uživatelů Linuxu na uživatele SELinux

Použijte „semanage login –a ” k mapování uživatele Linuxu na uživatele SELinux. Chcete-li například namapovat uživatele Linux john na uživatele SELinux user_u, spusťte následující příkaz:

# semanage login -a -s user_u john

-a volba přidá nový záznam a volba -s určuje uživatele SELinuxu. Poslední argument, newuser, je uživatel Linuxu, kterého chcete namapovat na zadaného uživatele SELinux.

Booleans pro uživatele spouštějící aplikace

Některé booleovské hodnoty jsou k dispozici pro změnu chování uživatelů při spouštění aplikací v jejich domovských adresářích a v /tmp. Použijte „setsebool –P [boolean] on|off ” příkaz:

1. Chcete-li umožnit uživatelům Linuxu v doméně guest_t spouštět aplikace ve svých domovských adresářích a /tmp:

# setsebool -P guest_exec_content on

2. Povolit uživatelům Linuxu v doméně xguest_t spouštět aplikace ve svých domovských adresářích a /tmp:

# setsebool -P xguest_exec_content on

3. Chcete-li zabránit uživatelům Linuxu v doméně user_t spouštět aplikace ve svých domovských adresářích a /tmp:

# setsebool -P user_exec_content off

4. Chcete-li zabránit uživatelům Linuxu v doméně staff_t spouštět aplikace ve svých domovských adresářích a /tmp:

# setsebool -P staff_exec_content off
Porozumění označování souborů SELinux a kontextu SELinux


Cent OS
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Flatpak na Linuxu:Co to je a jak s ním instalovat aplikace

  3. Co jsou režimy SELinux a jak je nastavit

  1. Co je Podman a jak nainstalovat Podman v Linuxu

  2. Co je FirewallD a jak jej implementovat v systému Linux

  3. Co je NFS a jak jej nainstalovat na Linux

  1. Jak pracovat s uživateli a skupinami v Linuxu

  2. Co jsou špinavé stránky v Linuxu

  3. Živé ladění linuxového jádra, jak se to dělá a jaké nástroje se používají?