GNU/Linux >> Linux Esercitazione >  >> Linux

Come proteggere i server Linux con SE Linux

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:

  1. Applicato – Abilitati per impostazione predefinita, filtri basati su criteri definiti.
  2. Permissivo – Non applica le politiche definite, ma registra tutti i tentativi nei file di registro. Questa modalità è utile per la risoluzione dei problemi.
  3. 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:

  1. getenforce
  2. sestatus

Se hai solo bisogno di cambiare la modalità per la sessione corrente, puoi usare i comandi seguenti:

  1. sudo setenforce 0 – imposta la modalità permissiva per la sessione corrente
  2. sudo 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:

  1. Cambia la modalità da "imposizione" a "permissiva".
  2. 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.


Linux
  1. Come uso Vagrant con libvirt

  2. Come crittografare i file con gocryptfs su Linux

  3. Come proteggere Nginx con Letsencrypt su Rocky Linux/Centos 8

  4. Linux:come sovrascrivere un server DNS Vm?

  5. Come controllare la password con Linux?

Come eseguire un alias con Sudo in Linux

Come iniziare con Arch Linux

Come proteggere GRUB con password in Linux?

Come gestire l'archiviazione con GParted Linux

Come proteggere un firewall Linux con le regole IPtables

Come proteggere SSH con Fail2Ban