SELinux

SELinux (Security Enhanced Linux) su Debian 10 Buster

SELinux (Security Enhanced Linux) su Debian 10 Buster
SELinux è un sistema di etichettatura per processi e file.  L'accesso dei soggetti etichettati agli oggetti etichettati è limitato dalle regole che formano le politiche. Questo tutorial è un'introduzione alle basi di SELinux che mostra come configurare e abilitare SELinux su Debian 10 Buster e abilitarlo con alcune informazioni aggiuntive sui comandi più diffusi.

Prima di iniziare dovrai imparare i seguenti concetti:

Soggetti: processi o utenti.
Oggetti: file o filesystem.

Tipo di applicazione: su SELinux tutti i soggetti e gli oggetti hanno un identificatore di tipo che termina con _t. “L'applicazione del tipo è la nozione che, in un sistema di controllo dell'accesso obbligatorio, l'accesso è disciplinato da un'autorizzazione basata su un insieme di regole soggetto-accesso-oggetto.

In SELinux, l'imposizione del tipo è implementata in base alle etichette dei soggetti e degli oggetti.  SELinux da solo non ha regole che dicono /bin/bash può eseguire /bin/ls. Invece, ha regole simili a "I processi con l'etichetta user_t possono eseguire file regolari etichettati bin_t.” (fonte https://wiki.Gentoo.org/wiki/SELinux/Type_enforcement)

Controllo di accesso discrezionale (DAC): DAC è il sistema di proprietà e autorizzazione che utilizziamo in Linux per gestire l'accesso a oggetti come file o directory. Il controllo di accesso discrezionale non ha nulla a che fare con SELinux ed è un livello di sicurezza diverso. Per ulteriori informazioni su DAC, visitare Spiegazione dei permessi di Linux.

Controllo di accesso obbligatorio (MAC): è un tipo di controllo degli accessi che limita l'accesso dei soggetti all'interazione con gli oggetti. Contrariamente a DAC con MAC, gli utenti non possono modificare le politiche.
Soggetti e oggetti hanno un contesto di sicurezza (attributi di sicurezza) monitorato da SELinux e amministrato secondo policy di sicurezza stabilite da regole da far rispettare.


Controllo degli accessi in base al ruolo (RBAC): è un tipo di controllo accessi basato sui ruoli, può essere combinato sia con MAC che DAC. I criteri RBAC semplificano la gestione di molti utenti all'interno di un'organizzazione rispetto a DAC che può derivare da assegnazioni di autorizzazioni individuali, semplifica il controllo, la configurazione e gli aggiornamenti dei criteri.

Modalità di applicazione: SELinux limita l'accesso dei soggetti agli oggetti in base a criteri.

Modalità permissiva: SELinux registra solo attività illegittime.

Le funzionalità di SELinux includono (elenco Wikipedia):

Fonte: https://en.wikipedia.org/wiki/Security-Enhanced_Linux#Features

Nota: gli utenti sono diversi su SELinux e passwd.

Configurare SELinux su Debian 10 Buster

Nel mio caso SELinux è stato disabilitato su Debian 10 Buster. Mantenere SELinux abilitato è uno dei passaggi fondamentali per proteggere un dispositivo Linux. Per conoscere lo stato di SELinux nel tuo dispositivo esegui il comando:

/# sestatus

Ho scoperto che SELinux era disabilitato, per abilitarlo è necessario installare alcuni pacchetti prima, dopo e aggiornamento appropriato, eseguire il comando:

/# apt install selinux-basics selinux-policy-default

Se richiesto premere per continuare il processo di installazione. Correre aggiornamento appropriato dopo aver terminato l'installazione.

Per abilitare SELinux eseguire il seguente comando:

/# selinux-activate

Come puoi vedere SELinux è stato attivato correttamente. Per applicare tutte le modifiche è necessario riavviare il sistema come indicato.

Il comando getenforce può essere utilizzato per apprendere lo stato di SELinux, se è in modalità permissiva o di applicazione:

/# getenforce

La modalità permissiva potrebbe essere sostituita impostando il parametro 1 (permesso è 0). Puoi anche controllare la modalità sul file di configurazione usando il comando Di meno:

/# meno /etc/selinux/config

Produzione:

Come puoi vedere i file di configurazione mostrano la modalità permissiva. stampa Q abbandonare.

Per vedere un file o un contesto di sicurezza del processo puoi usare il flag -Z:

/# ls -Z

Il formato dell'etichetta è utente:ruolo:tipo:livello.

semanage - Strumento di gestione delle policy di SELinux

semanage è lo strumento di gestione delle policy di SELinux. Consente di gestire booleani (che consentono di modificare il processo in esecuzione), ruoli e livelli utente, interfacce di rete, moduli di policy e altro. Semanage consente di configurare le policy di SELinux senza la necessità di compilare i sorgenti. Semanage consente il collegamento tra il sistema operativo e gli utenti di SELinux e determinati contesti di sicurezza degli oggetti.

Per ulteriori informazioni su semanage visitare la pagina man all'indirizzo: https://linux.morire.rete/uomo/8/semanage

Conclusione e note

SELinux è un modo aggiuntivo per amministrare l'accesso dai processi alle risorse di sistema come file, partizioni, directory, ecc. Permette di gestire enormi privilegi in base a ruolo, livello o tipo. Averlo abilitato è un must come misura di sicurezza e quando lo si utilizza è importante ricordare il suo livello di sicurezza e riavviare il sistema dopo averlo abilitato o disabilitato (la disabilitazione non è consigliata se non per test specifici). A volte un accesso ai file viene bloccato nonostante il sistema o le autorizzazioni del sistema operativo siano concesse perché SELinux lo sta vietando.

Spero che tu abbia trovato utile questo articolo su SELinux come introduzione a questa soluzione di sicurezza, continua a seguire LinuxHint per ulteriori suggerimenti e aggiornamenti su Linux e il networking.

Articoli Correlati:

I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...