GNU/Linux >> Linux Esercitazione >  >> Cent OS

Cosa sono gli utenti SELinux e come mappare gli utenti Linux agli utenti SELinux

Utente SELinux

Ci sono utenti SELinux oltre ai normali utenti Linux. Gli utenti di SELinux fanno parte di una politica di SELinux. La policy è autorizzata per un insieme specifico di ruoli e per uno specifico intervallo MLS (Multi-Level Security). Ogni utente Linux è mappato su un utente SELinux come parte della politica. Ciò consente agli utenti Linux di ereditare le restrizioni, le regole e i meccanismi di sicurezza imposti agli utenti di SELinux.

Per definire quali ruoli e livelli possono entrare, l'identità utente SELinux mappata viene utilizzata nel contesto SELinux per i processi in quella sessione. È possibile visualizzare un elenco di mappature tra SELinux e account utente Linux dalla riga di comando:

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

Ruolo

Il ruolo è un attributo del modello di sicurezza RBAC (Role-Based Access Control). Il ruolo funge da intermediario tra i domini e gli utenti SELinux. Gli utenti di SELinux sono autorizzati per i ruoli, i ruoli sono autorizzati per i domini e i processi vengono eseguiti nei propri domini separati. I ruoli determinano a quali domini puoi accedere e, in definitiva, a quali file puoi accedere.

Digita

Il tipo è un attributo di Type Enforcement (TE) . Il tipo definisce un tipo per i file e un dominio per i processi. I processi sono separati l'uno dall'altro dall'esecuzione nei propri domini. Questa separazione impedisce ai processi di accedere ai file utilizzati da altri processi, nonché impedisce ai processi di accedere ad altri processi. Le regole della politica di SELinux definiscono come i tipi possono accedersi tra loro, sia che si tratti di un dominio che accede a un tipo o di un dominio che accede a un altro dominio.

Livello

Il livello è un attributo di MLS e MCS. Un intervallo MLS è una coppia di livelli, scritti come livello basso-livello alto se i livelli differiscono, o livello basso se i livelli sono identici (s0-s0 è lo stesso di s0). Ogni livello è una coppia di sensibilità-categoria, con le categorie opzionali. Se sono presenti delle categorie, il livello viene scritto come sensitivity:categoria-set. Se non ci sono categorie, viene scritto come sensibilità.

Se l'insieme di categorie è una serie contigua, può essere abbreviato. Ad esempio, c0.c3 è uguale a c0,c1,c2,c3. Il /etc/selinux/targeted/setrans.conf file è la tabella di traduzione della sicurezza multi-categoria per SELinux e mappa i livelli in un formato leggibile come s0:c0.c1023=SystemHigh. Non modificare questo file con un editor di testo; usa il semanage comando per apportare modifiche.

Usa il chcon comando per modificare il contesto di SELinux per i file. Le modifiche apportate con il comando chcon non sopravvivono a una rietichettatura del file system o all'esecuzione del restorecon comando. Quando si utilizza chcon, fornire tutto o parte del contesto SELinux da modificare.

Utenti SELinux confinati

Gli utenti Linux sono mappati al SELinux _default_ login per impostazione predefinita, che è mappato su SELinux unconfined_u utente. Tuttavia, SELinux può limitare gli utenti Linux, per sfruttare le regole e i meccanismi di sicurezza ad essi applicati, mappando gli utenti Linux sugli utenti SELinux.

Nella politica di SELinux esiste un certo numero di utenti SELinux confinati. Quello che segue è un elenco di utenti SELinux confinati e dei loro domini associati:

  • ospite_u :Il dominio per l'utente è guest_t.
  • staff_u :Il dominio per l'utente è staff_t.
  • utente_u :Il dominio per l'utente è user_t.
  • xguest_x :Il dominio per l'utente è xguest_t.

– Utenti Linux nel guest_t , xguest_t e utente_t i domini possono eseguire applicazioni set user ID (setuid) solo se la politica di SELinux lo consente (come passwd). Non possono eseguire le applicazioni su e sudo setuid per diventare l'utente root.
– Gli utenti Linux nel dominio guest_t non hanno accesso alla rete e possono accedere solo da un terminale. Possono accedere con ssh ma non possono usare ssh per connettersi a un altro sistema. L'unico accesso alla rete degli utenti Linux nel dominio xguest_t è Firefox per la connessione alle pagine web.
– Gli utenti Linux nei domini xguest_t, user_t e staff_t possono accedere utilizzando il sistema X Window e un terminale.
– Per impostazione predefinita, gli utenti Linux nel dominio staff_t non dispongono delle autorizzazioni per eseguire applicazioni con il comando sudo.
– Per impostazione predefinita, gli utenti Linux nei domini guest_t e xguest_t non possono eseguire applicazioni nelle loro directory home o /tmp, impedendo dall'esecuzione di applicazioni nelle directory a cui hanno accesso in scrittura. Questo aiuta a prevenire che applicazioni difettose o dannose modifichino i file di proprietà degli utenti.
– Per impostazione predefinita, gli utenti Linux nei domini user_t e staff_t possono eseguire applicazioni nelle loro directory home e /tmp.

Mappatura di utenti Linux su utenti SELinux

Usa il "accesso separato –a ” comando per mappare un utente Linux su un utente SELinux. Ad esempio, per mappare l'utente Linux john all'utente SELinux user_u, eseguire il comando seguente:

# semanage login -a -s user_u john

La -a l'opzione aggiunge un nuovo record e l'opzione -s specifica l'utente SELinux. L'ultimo argomento, newuser, è l'utente Linux che si desidera mappare sull'utente SELinux specificato.

Booleani per utenti che eseguono applicazioni

Alcuni booleani sono disponibili per modificare il comportamento dell'utente durante l'esecuzione di applicazioni nelle loro directory home e in /tmp. Usa "setsebool –P [boolean] on|off ” comando:

1. Per consentire agli utenti Linux nel dominio guest_t di eseguire applicazioni nelle loro directory home e /tmp:

# setsebool -P guest_exec_content on

2. Per consentire agli utenti Linux nel dominio xguest_t di eseguire applicazioni nelle loro directory home e /tmp:

# setsebool -P xguest_exec_content on

3. Per impedire agli utenti Linux nel dominio user_t di eseguire applicazioni nelle loro directory home e /tmp:

# setsebool -P user_exec_content off

4. Per impedire agli utenti Linux nel dominio staff_t di eseguire applicazioni nelle loro directory home e /tmp:

# setsebool -P staff_exec_content off
Comprendere l'etichettatura dei file di SELinux e il contesto di SELinux


Cent OS
  1. Che cos'è un comando Chown in Linux e come usarlo

  2. Flatpak su Linux:cos'è e come installare app con esso

  3. Che cos'è Podman e come installare Podman in Linux

  4. Cosa sono le modalità SELinux e come impostarle

  5. Cosa sono le pagine sporche in Linux

Cosa sono gli Snap e come installarli su varie distribuzioni Linux

Che cos'è l'UID in Linux, come trovarlo e modificarlo

Cos'è Git e come installare Git in Linux

Come elencare gli utenti in Linux

Come trovare quali indirizzi IP sono collegati a Linux

Come elencare utenti e gruppi su Linux