Prima di iniziare dovrai imparare i seguenti concetti:
Soggetti: processi o utenti.
Oggetti: file o filesystems.
Tipo di applicazione: Su Selinux tutti i soggetti e gli oggetti hanno un identificatore di tipo che termina con _t. "L'applicazione del tipo è l'idea che, in un sistema di controllo degli accessi obbligatorio, l'accesso è regolato attraverso l'autorizzazione in base a un set di regole di accesso a soggetto.
In Selinux, il tipo di applicazione è implementato in base alle etichette dei soggetti e degli oggetti. Selinux di per sé non ha regole che dicono /Bin/Bash può eseguire /bin/ls. Invece, ha regole simili a "Processi con l'etichetta User_t può eseguire file regolari etichettati bin_t."(Source 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 diverso livello di sicurezza. Per ulteriori informazioni sulle autorizzazioni DAC visitare Linux spiegate.
Controllo degli accessi obbligatorio (MAC): è un tipo di controllo di accesso che limita l'interazione dell'accesso ai soggetti con gli oggetti. Contrariamente al DAC con gli utenti Mac non può cambiare le politiche.
I soggetti e gli oggetti hanno un contesto di sicurezza (attributi di sicurezza) monitorato da Selinux e amministrato in base alle politiche di sicurezza stabilite dalle regole da applicare.
Controllo degli accessi basato sul ruolo (RBAC): è un tipo di controllo di accesso basato su ruoli, può essere combinato con Mac e DAC. Le politiche RBAC rendono la gestione di molti utenti all'interno di un'organizzazione semplice in contrasto con DAC che può derivare nei compiti di autorizzazione individuali, rende più facili l'auditing, la configurazione e gli aggiornamenti delle politiche.
Modalità di applicazione: Selinux limita i soggetti l'accesso agli oggetti in base alle politiche.
Modalità permissiva: Selinux registra solo un'attività illegittima.
Le funzionalità di Selinux includono (elenco di Wikipedia):
Fonte: https: // en.Wikipedia.Org/Wiki/Security-Enhanced_Linux#Funzionalità
Nota: Gli utenti sono diversi su Selinux e Passwd.
Nel mio caso Selinux è stato disabilitato su Debian 10 Buster. Mantenere Selinux abilitato è uno dei passaggi di base per proteggere un dispositivo Linux. Per conoscere lo stato di Selinux nel dispositivo, eseguire il comando:
/# sestatus
Ho scoperto che Selinux era disabilitato, per abilitarlo è necessario installare alcuni pacchetti prima, dopo un Aggiornamento APT, Esegui il comando:
/# APT Installa Selinux-Basics Selinux-Policy-Default
Se richiesto stampa Y Per continuare il processo di installazione. Correre Aggiornamento APT Dopo aver terminato l'installazione.
Per abilitare Selinux eseguire il seguente comando:
/# Selinux-Activate
Come puoi vedere, Selinux è stato adeguatamente attivato. Per applicare tutte le modifiche è necessario riavviare il sistema come indicato.
Il comando getenforce può essere utilizzato per apprendere lo stato Selinux, se è in modalità permissiva o di applicazione:
/# getenforce
La modalità permissiva potrebbe essere sostituita impostando il parametro 1 (Permissive è 0). È inoltre possibile controllare la modalità sul file di configurazione utilizzando il comando meno:
/# meno/etc/selinux/config
Produzione:
Come puoi vedere, i file di configurazione mostrano la modalità permissiva. Premere Q abbandonare.
Per vedere un contesto di sicurezza o di elaborazione è possibile utilizzare il flag -Z:
/# ls -z
Il formato dell'etichetta è Utente: Ruolo: Tipo: Livello.
Semane - Strumento di gestione delle politiche Selinux
Il semanage è lo strumento di gestione delle politiche Selinux. Consente di gestire i booleani (che consentono di modificare il processo in esecuzione), ruoli e livelli utente, interfacce di rete, moduli di politica e altro ancora. La semanage consente di configurare le politiche di Selinux senza la necessità di compilare fonti. La semanage consente il collegamento tra gli utenti OS e Selinux e alcuni contesti di sicurezza degli oggetti.
Per ulteriori informazioni su semanage, visitare la pagina Man all'indirizzo: https: // linux.morire.net/man/8/semanage
Conclusione e note
Selinux è un ulteriore modo per amministrare l'accesso dai processi alle risorse di sistema come file, partizioni, directory, ecc. Permette di gestire enormi privilegi in base al ruolo, al livello o al tipo. Abilitarlo è un must come misura di sicurezza e quando si utilizza è importante ricordare il proprio livello di sicurezza e riavviare il sistema dopo averlo abilitato o disabilitato (la disabilitazione non è affatto consigliata tranne che per test specifici). A volte un accesso al file viene bloccato nonostante le autorizzazioni del sistema o del sistema operativo siano concesse perché Selinux lo sta proibendo.
Spero che tu abbia trovato questo articolo su Selinux utile come introduzione a questa soluzione di sicurezza, continua a seguire LinuxHint per ulteriori suggerimenti e aggiornamenti su Linux e networking.