La sicurezza è un aspetto estremamente importante dello sviluppo del software, della gestione dei server e dello sviluppo delle applicazioni in questi giorni.
E se usi Linux, sei fortunato:viene fornito con un'eccellente funzionalità chiamata SE Linux che ti aiuta ad aggiungere un ulteriore livello di sicurezza.
Cos'è SE Linux?
SE Linux è stato sviluppato dalla NSA (National Security Agency) per svolgere compiti di sicurezza relativi al governo.
SE Linux sta per Security Enhanced Linux. Offre agli amministratori di sistema un maggiore controllo per fornire l'accesso a file e processi. Con SE Linux, gli amministratori possono definire un contesto e taggare i file e consentirli all'interno di quel contesto.
L'accesso e le autorizzazioni vengono generalmente ereditati in base ai gruppi di utenti. Ma ci sono alcune fonti (come server Web e processi) che richiedono l'accesso alle porte di rete e ai processi del kernel. Questi sono solitamente generati dall'utente root o da utenti con accesso speciale. SE Linux ti aiuta a limitare chi può accedere a questi processi speciali.
Come lavorare con SE Linux
SE Linux viene fornito per impostazione predefinita nella maggior parte delle distribuzioni Linux. In questo post lavorerò su Fedora.
Tieni presente che lavorare con SE Linux richiede sudo
o root
accesso.
Il file di configurazione di SE Linux si trova in /etc/sysconfig/selinux
cartella. Vediamone i contenuti:
Modalità SE Linux
Nel file di configurazione, possiamo cambiare le modalità e sceglierne una tra quelle seguenti:
- Applicato – Abilitati per impostazione predefinita, filtri basati su criteri definiti.
- Permissivo – Non applica le politiche definite, ma registra tutti i tentativi nei file di registro. Questa modalità è utile per la risoluzione dei problemi.
- Disabilitato – SE Linux è completamente disabilitato. Questo non è raccomandato in quanto potrebbe esporre il tuo sistema a minacce. Inoltre, il ripristino dell'impostazione forzata potrebbe creare alcune discrepanze.
Puoi controllare la tua attuale modalità SE Linux con i seguenti comandi:
getenforce
sestatus
Se hai solo bisogno di cambiare la modalità per la sessione corrente, puoi usare i comandi seguenti:
sudo setenforce 0
– imposta la modalità permissiva per la sessione correntesudo setenforce 1
– imposta la modalità di applicazione per la sessione corrente
Politiche SE Linux
In SE Linux, i criteri definiscono l'accesso agli utenti. Gli utenti definiscono l'accesso ai ruoli e i ruoli definiscono l'accesso ai domini. I domini forniscono quindi l'accesso a determinati file.
Per modificare e modificare gli accessi, vengono definiti 'booleani'. Esamineremo i booleani nella prossima sezione.
Come gestire le policy di SE Linux con i booleani
Come ora sai, le politiche di SE Linux sono gestite da booleani.
Vediamo un esempio funzionante di come visualizzare e impostare un booleano. In questo esempio, imposteremo valori booleani specifici per httpd
.
Innanzitutto, elenca tutti i moduli specifici di http – getsebool -a | grep httpd
.
Qui -a
elenca tutti i booleani.
Quindi, selezioniamo e cambiamo il booleano evidenziato in giallo nel codice sopra:
getsebool httpd_can_connect_ftp
Ora, imposta il valore su allow
.
setsebool -P httpd_can_connect_ftp 1
Nel comando sopra,
- Il flag P viene utilizzato per rendere permanente la modifica anche dopo il riavvio.
1
sta abilitando il booleano.
Ora, quando elencherai di nuovo il processo, il suo valore sarà consentito.
Architettura SE Linux
Il diagramma seguente spiega come SE Linux convalida un tentativo dal sorgente:
Risoluzione dei problemi e log SE Linux
SE Linux produce registri molto dettagliati per ogni tentativo. Puoi trovare i log e visualizzarli qui:/var/log/audit
.
Durante la risoluzione dei problemi, dovresti passare alla modalità "permissiva" in modo che tutti gli eventi possano essere registrati nei registri. Sebbene le norme non vengano applicate, i tentativi vengono registrati nei log.
Come disabilitare e abilitare SE Linux
Disabilitare completamente SE Linux non è mai una buona opzione. Ma ci sono alcuni scenari in cui i criteri possono essere ignorati, ad esempio durante la risoluzione dei problemi.
Invece di disabilitare SE Linux se ti imbatti in un piccolo problema, è meglio investire un po' di tempo nella risoluzione dei problemi.
Ma se hai davvero bisogno di disabilitare SE Linux, segui questi passaggi:
- Cambia la modalità da "imposizione" a "permissiva".
- Cambia la modalità da 'permissiva' a 'disabilitata'.
Conclusione
Imparare SE Linux vale il tuo tempo e ci sono infinite possibilità che puoi esplorare quando lo usi.
SE Linux offre agli amministratori un livello di controllo a grana fine. Allora perché non impararlo e sfruttarlo per aumentare la tua sicurezza?
Grazie per aver letto fino alla fine. Connettiamoci su Twitter.