Selinux può sembrare scoraggiante e molto difficile da implementare nella maggior parte dei sistemi moderni. Tuttavia, la configurazione di Selinux ha enormi vantaggi sia nell'applicazione della sicurezza che nella risoluzione dei problemi.
Questo tutorial discuterà vari concetti implementati da Selinux ed esplorerà vari metodi pratici per implementare Selinux.
Nota: prima di iniziare, è bene utilizzare i comandi in questo tutorial come utente root o un utente all'interno del gruppo Sudoers.
Installa pacchetti Selinux
Installiamo vari pacchetti Selinux, che a loro volta aiuteranno a lavorare con le politiche di Selinux.
Prima di procedere all'installazione dei pacchetti Selinux, è positivo che verifichiamo che sono installati sul sistema corrente.
Nella maggior parte delle installazioni di distribuzioni REHL, alcuni pacchetti sono installati per impostazione predefinita. Questi pacchetti includono:
Per verificare quali pacchetti sono già installati sul sistema, è possibile utilizzare il comando rpm -QA e tubare il risultato su GREP per Selinux come:
rpm -qa | Grep Selinux
Libselinux-Utils-2.9-4.EL8_3.x86_64
RPM-Plugin-Selinux-4.14.3-4.EL8.x86_64
Selinux-Policy-target-3.14.3-54.EL8_3.2.noarch
Python3-Libselinux-2.9-4.EL8_3.x86_64
Selinux-Policy-3.14.3-54.EL8_3.2.noarch
Libselinux-2.9-4.EL8_3.x86_64
Questo dovrebbe darti un'output di tutti i pacchetti installati per il supporto Selinux
Se non tutti i pacchetti Selinux sono installati sul sistema, usa Yum per installarli come mostrato nel comando seguente:
Yum Installa PolicyCoreUtils PolicyCoreutils-Python-Utils Selinux-Policy Selinux-Policy Libselinux-Utils SetRoubleShoot-Server Setools Setools-Console McStrans
Modalità e stati Selinux
Iniziamo ora a suonare con Selinux, in particolare, le modalità Selinux.
Modalità Selinux
Se abilitato, Selinux può essere tre possibili modalità:
Modalità di applicazione
Se la modalità Selinux da applicare, si assicurerà che nessun accesso non autorizzato al sistema da parte di qualsiasi utente o processi sia negata. La modalità di applicazione mantiene anche i registri di qualsiasi tentativo di accesso non autorizzato.
Modalità permissiva
La modalità permissiva si comporta come uno stato Selinux parzialmente abilitato. In questa modalità, non viene negato alcun accesso poiché Selinux non applica le sue politiche in questa modalità. Tuttavia, la modalità permissiva mantiene un registro di eventuali tentativi di violazione delle politiche. Questa modalità è molto efficiente per il test prima di abilitarlo completamente poiché gli utenti e i componenti possono ancora interagire con il sistema ma ancora raccogliere i registri. Questo ti consente di mettere a punto il tuo sistema in modi che ritieni opportuno.
Modalità disabilitato
La modalità disabilitata può anche essere vista come uno stato disabilitato in cui Selinux è disabilitato e non offre alcuna sicurezza.
Stati di Selinux
Una volta installato Selinux su un sistema. Può avere stati binari: abilitato e disabilitato. Per visualizzare lo stato di Selinux, utilizzare il comando:
getenforce
Disabilitato
L'output sopra indica che Selinux è attualmente disabilitato.
Puoi anche usare il comando sestatus come mostrato di seguito:
sestatus
Stato Selinux: disabilitato
Abilita e disabilita Selinux
Gli stati e la configurazione di Selinux sono gestiti dal file di configurazione situato in/etc/selinux/config. È possibile utilizzare il comando cat per visualizzare il suo contenuto.
Cat/etc/Selinux/config
#Questo file controlla lo stato di Selinux sul sistema.
#Selinux = può prendere uno di questi tre valori:
#enforcing - La politica di sicurezza di Selinux viene applicata.
#permissive - Selinux Stamts Avverting invece di applicare.
#disabled - non viene caricato alcun criterio Selinux.
Selinux = applicazione
#SelInuxType = può prendere uno di questi tre valori:
# mirato - I processi mirati sono protetti,
# minimo - modifica della politica mirata. Sono protetti solo i processi selezionati.
# MLS - protezione della sicurezza a più livelli.
SelinuxType = target
Dall'output di cui sopra, abbiamo due direttive principali abilitate. La direttiva Selinux ha specificato la modalità in cui è configurato Selinux. La direttiva SelinuxType specifica il set di criteri Selinux. Per impostazione predefinita, Selinux utilizza un criterio mirato che consente di personalizzare le autorizzazioni di controllo degli accessi. L'altra politica è la sicurezza multilivello o MLS.
Potresti trovare, politica minima in alcune versioni.
CD/ETC/SELINUX/
[ls -l
Totale 4
-RW-R-R-- 1 radice root 548 febbraio 16 22:40 Config
DRWXR-XR-X ROOT ROOT 4096 FEB 16 22:43 MLS
-RW-R-R-- 1 ROOT ROOT 2425 LUG 21 2020 Semane.conf
root drwxr-xr-x 1 root 4096 febbraio 16 22:40 mirato
Vediamo ora come abilitare Selinux sul sistema. Si consiglia di impostare prima la modalità Selinux su permissive e non applicato.
nano/etc/selinux/config
Ora modifica la direttiva Selinux come:
Selinux = permissive
Una volta salvato il file, emettere un riavvio del sistema.
riavviare
Nota: consigliamo vivamente di impostare la direttiva Selinux su permissive prima di applicare Selinux.
Una volta riavviato il sistema, verificare qualsiasi registro riportato da Selinux in/var/log/messaggi.
Successivamente, assicurati di non avere errori e applicare Selinux impostando la direttiva da applicare in/ecc/selinux/config
Infine, è possibile visualizzare lo stato Selinux usando il comando sestatus:
Stato Selinux: abilitato
Selinuxfs Monte:/sys/fs/selinux
Selinux Root Directory: /etc /Selinux
Nome della politica caricata: mirato
Modalità corrente: applicazione
Modalità dal file di configurazione: errore (successo)
Politico Stato MLS: abilitato
Politica Deny_unknown Stato: consentito
Controllo della protezione della memoria: effettivo (sicuro)
Versione della politica del kernel Max: 31
È inoltre possibile utilizzare il comando setenforce per passare da varie modalità Selinux. Ad esempio, per impostare la modalità su permissiva, utilizzare il comando:
Setenforce permissive
Questa modalità è temporanea e verrà ripristinata a una nel file di configurazione dopo un riavvio.
sestatus
Stato Selinux: abilitato
Selinuxfs Monte:/sys/fs/selinux
Selinux Root Directory: /etc /Selinux
Nome della politica caricata: mirato
Modalità corrente: permissiva
Modalità dal file di configurazione: applicazione
Politico Stato MLS: abilitato
Politica Deny_unknown Stato: consentito
Controllo della protezione della memoria: effettivo (sicuro)
Versione della politica del kernel Max: 31
Selinux Policy and Context
Per evitare la confusione per i principianti di Selinux, non ci immergeremo in profondità nel modo in cui le politiche di Selinux sono implementate, ma semplicemente tocchi per darvi un'idea.
Selinux funziona implementando le politiche di sicurezza. Una politica Selinux si riferisce a una regola utilizzata per definire i diritti di accesso per ogni oggetto nel sistema. Gli oggetti si riferiscono a utenti, processi, file e ruoli.
Ogni contesto è definito sotto forma dell'utente: Ruolo: Tipo: Livello.
Ad esempio, crea una directory nella tua home directory e visualizza il suo contesto di sicurezza Selinux come mostrato nei comandi seguenti:
mkdir ~/linuxhint_dir
LS -Z ~/ | Grep Linuxhint
Questo visualizzerà l'output come mostrato di seguito:
unconfined_u: object_r: user_home_t: s0 linuxhint_dir
Potresti anche trovare altre directory con i contesti di sicurezza come:
Sistema: _U: Object_R: user_home_t: S0
Puoi capire che l'output sopra segue la sintassi dell'utente: Ruolo: Tipo: Livello.
Conclusione
Quello era un tutorial per principianti a Selinux usando CentOS 8. Sebbene il tutorial sia progettato per i principianti, è più che sufficiente per far funzionare i piedi in Selinux e rimuovere la natura intimidatoria di Selinux.
Grazie per aver letto.