Come impostare una politica su Selinux

Come impostare una politica su Selinux
Uno dei motivi principali per cui le persone scelgono Linux è la sicurezza che offre. Ecco perché troverai Linux in server e workstation professionali. Selinux è una di queste funzionalità di sicurezza di Linux. Fa parte del kernel Linux standard da un po 'di tempo e qualsiasi distro moderna ha supporto Selinux.

Esistono diversi modi in cui Selinux può funzionare. Questo è definito dalla politica Selinux. In questa guida, imparerai di più sulle politiche di Selinux e su come impostare una politica in Selinux.

Panoramica dei criteri di Selinux

Facciamo una breve carrellata di Selinux e delle sue politiche. Selinux è l'acronimo di "Linux potenziato dalla sicurezza."Comprende una serie di patch di sicurezza al kernel Linux. Selinux è stato originariamente sviluppato dalla National Security Agency (NSA) e rilasciato nella comunità di sviluppo open source nel 2000 con la licenza GPL. È stato fuso con il kernel Linux principale nel 2003.

Selinux fornisce Mac (controllo degli accessi obbligatorio) anziché il DAC predefinito (controllo di accesso discrezionale). Ciò consente l'implementazione di alcune politiche di sicurezza che non sarebbe possibile implementare altrimenti.

Le politiche di Selinux sono serie di regole che guidano il motore di sicurezza Selinux. Una politica definisce i tipi per oggetti di file e domini per i processi. I ruoli vengono utilizzati per limitare l'accesso ai domini. Le identità dell'utente determinano quali ruoli possono essere raggiunti.
Sono disponibili due politiche Selinux:

  • Mirato: la politica predefinita. Implementa il controllo dell'accesso ai processi mirati. I processi vengono eseguiti in un dominio limitato in cui il processo ha un accesso limitato ai file. Se un processo limitato viene compromesso, il danno viene mitigato. In caso di servizi, solo servizi specifici vengono inseriti in questi settori.
  • MLS: sta per la sicurezza a più livelli. Dai un'occhiata alla documentazione di Red Hat sulla politica MLS Selinux.

I processi che non sono presi di mira verranno eseguiti in un dominio non confinato. I processi in esecuzione in domini non confinati godono di un accesso quasi completo. Se tale processo è compromesso, Selinux non offre alcuna mitigazione. L'attaccante può ottenere l'accesso all'intero sistema e alle risorse. Tuttavia, le regole DAC si applicano ancora per i domini non confinati.
Quello che segue è un breve elenco di esempi di domini non confinati:

  • Dominio INITRC_T: programmi INIT
  • Dominio Kernel_T: processi del kernel
  • Dominio UNCONFINED_T: gli utenti hanno effettuato l'accesso al sistema Linux

Modifica della politica Selinux

I seguenti esempi vengono eseguiti in CentOS 8. Tutti i comandi in questo articolo sono eseguiti come utente root. Per altre distro, controlla il tutorial appropriato su come abilitare Selinux.
Per modificare un criterio in Selinux, inizia controllando lo stato Selinux. Lo stato predefinito dovrebbe essere abilitato Selinux nella modalità "applicazione" con il criterio "mirato".

$ SESTATUS


Per modificare il criterio Selinux, apri il file di configurazione Selinux nel tuo editor di testo preferito.

$ vim/etc/selinux/config


Qui, il nostro obiettivo è la variabile "SelinuxType" che definisce il criterio Selinux. Come puoi vedere, il valore predefinito è "mirato."

Tutti i passaggi dimostrati in questo esempio vengono eseguiti in CentOS 8. Nel caso di CentOS, la politica MLS non viene installata per impostazione predefinita. Questo è anche probabile che sia il caso in altre distro. Scopri come configurare Selinux su Ubuntu qui. Assicurati di installare prima il programma. Nel caso di Ubuntu, CentOS, Opensuse, Fedora, Debian e altri, il nome del pacchetto è “Selinux-Policy-MLS."

$ DNF Installa Selinux-Policy-MLS


In questo caso, passeremo la politica a MLS. Modificare il valore della variabile di conseguenza.

$ SelinuxType = MLS

Salva il file ed esci dall'editor. Per mettere in vigore queste modifiche, è necessario riavviare il sistema.

$ riavvia

Verificare la modifica emettendo quanto segue.

$ SESTATUS

Modifica delle modalità Selinux

Selinux può funzionare in tre diverse modalità. Queste modalità determinano come viene applicata la politica.

  • Applicato: qualsiasi azione contro la politica viene bloccata e segnalata nel registro di audit.
  • Permissive: qualsiasi azione contro la politica è segnalata solo nel registro di audit.
  • Disabilitato: Selinux è disabilitato.

Per modificare temporaneamente la modalità in Selinux, utilizzare il comando setenforce. Se il sistema viene riavviato, il sistema tornerà all'impostazione predefinita.

$ setenforce applicazione
$ Setenforced permissive


Per modificare permanentemente la modalità in Selinux, è necessario modificare il file di configurazione Selinux.

$ vim/etc/selinux/config


Salva e chiudi l'editore. Riavvia il sistema per mettere in vigore le modifiche.
È possibile verificare la modifica usando il comando sestatus.

$ SESTATUS

Conclusione

Selinux è un potente meccanismo per far rispettare la sicurezza. Spero che questa guida ti abbia aiutato a imparare a configurare e gestire il comportamento di Selinux.
Felice calcolo!