GNU/Linux >> Linux Esercitazione >  >> Linux

AppArmor vs. SELinux:confronto completo

Introduzione

I sistemi MAC (Mandatory Access Control), come AppArmor e SELinux, consentono agli amministratori di sistema di concedere o negare l'accesso alle risorse e ai sistemi di controllo integrati nel kernel Linux. Sebbene entrambi svolgano le stesse attività, questi sistemi funzionano in modo diverso e offrono varie funzionalità.

Questo articolo spiega le differenze tra AppArmor e SELinux e mostra le caratteristiche principali dei due sistemi.

AppArmor contro SELinux

Sia SELinux che AppArmor forniscono strumenti di sicurezza che isolano le applicazioni e limitano l'accesso a un utente malintenzionato che ha compromesso una parte del sistema.

AppArmor funziona concedendo prima l'accesso, quindi applicando le restrizioni. SELinux, tuttavia, limita l'accesso a tutte le applicazioni per impostazione predefinita e concede l'accesso solo agli utenti che presentano le certificazioni appropriate.

I due sistemi hanno molte caratteristiche in comune ma anche alcune differenze:

Punto di confronto AppArmor SELinux
Controllo accessi Utilizza profili di sicurezza basati sui percorsi. Utilizza criteri di sicurezza basati sulle etichette dei file.
Disponibilità Disponibile per qualsiasi distribuzione, ma utilizzato principalmente su SUSE e Ubuntu. Disponibile per qualsiasi distribuzione ma utilizzato principalmente su sistemi RHEL/Fedora.
Difficoltà di apprendimento Una curva di apprendimento più breve, più facile da configurare e amministrare. Più complesso e meno intuitivo.
Verifica indipendente Possibile. Impossibile.
Richiede una configurazione complessa N. Sì.
MLS/MCS N. Sì.
Impatto sulle prestazioni del sistema Nessuno, ma il tempo di avvio è più lungo. Nessuno.
Regole delle norme Manca di flessibilità. Flessibile.
Livello di controllo Medio. Alto.

AppArmor

AppArmor è un pratico modulo di sicurezza Linux che è stato incluso di default in Ubuntu dalla versione 7.10. Il modulo consente agli sviluppatori di impedire alle applicazioni di utilizzare file specifici. Pertanto, AppArmor previene qualsiasi danno alle applicazioni potenzialmente vulnerabili e protegge i software facili da sfruttare, come i server web.

Il modulo utilizza i profili di sicurezza per determinare quali autorizzazioni richiede l'applicazione. I profili sono file di testo caricati nel kernel, in genere all'avvio.

AppArmor applica due tipi principali di regole nei profili:

  • Voci di percorso . Determinano a quali file può accedere un'applicazione.
  • Voci di capacità . Queste regole specificano i privilegi che un processo confinato può utilizzare.

I profili sono progettati per limitare app specifiche e funzionano in due modalità. Nel

  • Modalità reclamo . In questa modalità, il sistema segnala i tentativi di violazione dei criteri ma non applica le regole.
  • Modalità di applicazione . In modalità Applica, il nuovo profilo viene ispezionato e tutte le violazioni vengono interrotte.

AppArmor è costituito dai seguenti componenti:

  • Analizzatore server . Scansiona le porte e individua le applicazioni che le ascoltano automaticamente. Rileva anche le applicazioni senza profili e quelle che AppArmor deve confinare.
  • Generatore di profili . Un processo statico che analizza le applicazioni e crea un modello di profilo.
  • Ottimizzatore . Questo componente registra e raccoglie gli eventi nel profilo del comportamento normale.

Oltre a Ubuntu, AppArmor funziona su Debian, SUSE Enterprise Server, distribuzioni OpenSUSE e altre distribuzioni per impostazione predefinita. Per verificare lo stato del modulo, eseguire quanto segue:

sudo apparmor_status

L'output mostra che AppArmor è attivo sul sistema. Il comando stampa anche l'elenco dei profili installati e dei processi confinati attivi.

Vantaggi di AppArmor

I principali vantaggi di AppArmor sono la semplicità e la breve curva di apprendimento. Questo modulo è molto meno complesso di SELinux, il che lo rende più facile da configurare e gestire.

Lo strumento funziona direttamente con i profili (file di testo) per il controllo dell'accesso e le operazioni sui file sono più semplici. Questa caratteristica rende AppArmor più user-friendly di SELinux con le sue politiche di sicurezza.

Grazie all'implementazione basata sul percorso, AppArmor protegge qualsiasi file sul sistema e consente di specificare regole anche per file che non esistono ancora. La modalità di apprendimento del programma rende AppArmor adattabile ai cambiamenti e applica il comportamento preferito dell'applicazione.

Svantaggi di AppArmor

Con AppArmor, più di un percorso può fare riferimento alla stessa applicazione. Questi percorsi diversi verso lo stesso eseguibile creano più profili per un'app, il che rappresenta un potenziale problema di sicurezza.

Inoltre, il più grande punto di forza di AppArmor, la semplicità, è anche il motivo per cui il programma è considerato meno sicuro.

AppArmor non dispone di Multi-Level Security (MLS) e Multi-Category Security (MCS). La mancanza di supporto MCS rende AppArmor quasi inefficace negli ambienti che richiedono MLS.

Un altro svantaggio è che anche il caricamento dei criteri richiede più tempo, quindi il sistema si avvia più lentamente.

SELinux

SELinux (Security Enhanced Linux) è un modulo di sicurezza Linux integrato nel kernel Linux. Il sistema offre agli amministratori di sistema un maggiore controllo su chi ha accesso alle risorse.

SELinux assegna etichette ai file, ai processi e alle porte del sistema. Tipo di etichetta è fondamentale per politiche mirate, mentreapplicazione del tipo è il secondo concetto più cruciale in SELinux.

L'etichettatura funge da meccanismo di raggruppamento che fornisce file ed elabora diversi tipi di etichette. Il modello di sicurezza dell'applicazione del tipo aiuta SELinux a determinare se un processo con un particolare tipo di etichetta ha accesso a un file con un altro tipo di etichetta.

Il sistema limita l'accesso per impostazione predefinita (al contrario di AppArmor). Gli utenti devono essere configurati correttamente per accedere a qualsiasi risorsa.

SELinux incassa le decisioni precedenti nella Access Vector Cache (AVC ), ad esempio, consentendo o limitando l'accesso. Le decisioni di incasso accelerano il processo di controllo degli accessi. Ad esempio, se un'applicazione tenta di accedere a un file, SELinux controlla l'AVC e consente o nega l'accesso in base alla decisione precedente.

RHEL, CentOS e Fedora hanno SELinux installato o disponibile per impostazione predefinita. Per scoprire lo stato corrente di SELinux, eseguire quanto segue:

sudo sestatus

Nota :Segui le nostre guide per abilitare SELinux su CentOS o per disabilitare SELinux su CentOS.

Vantaggi di SELinux

Nonostante (ea causa) delle politiche complesse, SELinux è considerata l'opzione più sicura per la sicurezza di Linux.

L'etichettatura e l'imposizione del tipo consentono a SELinux di concedere l'accesso solo se una regola della politica lo consente. Questo processo implementa un controllo degli accessi più solido e approfondito.

Essendo compatibile con MLS, SELinux offre migliori funzionalità di accesso. Ad esempio, uno dei principi MLS di base è che gli utenti possono leggere solo i file al loro livello di sensibilità e inferiore. Tuttavia, con SELinux, gli amministratori di sistema possono leggere e scrivere file a livelli di sensibilità propri e inferiori.

Per impostazione predefinita, il sistema separa i file l'uno dall'altro e dall'host e mantiene la separazione. Ad esempio, un file ha diversi set di autorizzazioni per:

  • Il proprietario (utente).
  • Un gruppo che contiene il file.
  • Altri utenti/gruppi che accedono al file.

Nota :Anche la memorizzazione nella cache delle decisioni di accesso è un vantaggio significativo poiché il processo migliora l'efficienza.

Svantaggi di SELinux

SELinux fornisce agli amministratori di sistema uno strumento versatile per il controllo degli accessi. Tuttavia, questo modulo di sicurezza presenta alcuni svantaggi.

SELinux è abbastanza difficile da imparare, configurare e gestire. Sebbene il programma controlli in modo efficiente l'accesso ad applicazioni e file, la risoluzione dei problemi potenziali è difficile per i principianti. Non è sempre facile determinare cosa significhi effettivamente un messaggio di errore e dove cercare il problema. Nel complesso, SELinux non è facile da usare e gli amministratori non esperti potrebbero dover affrontare una curva di apprendimento ripida.

Importante :SELinux spesso nega un'azione se i file sono etichettati in modo errato.

Conclusione

Dopo aver letto questo testo, conosci i vantaggi e gli svantaggi di SELinux e AppArmor. Entrambi i sistemi offrono approcci diversi alla sicurezza di Linux e proteggono le macchine dall'accesso non autorizzato e dalla modifica delle risorse di sistema.

Potresti voler conoscere altri modi per proteggere il tuo sistema, come l'utilizzo di backup immutabili per combattere il ransomware o diverse procedure per la protezione del database.


Linux
  1. Proteggi i tuoi container con SELinux

  2. Linux:bloccare l'accesso alla rete di un processo?

  3. Come disabilitare SELinux su CentOS?

  4. Confronto tra server multimediali

  5. Servizio del sistema operativo Linux "risoluzione dei problemi"

Filato vs NPM:un confronto completo

Proxmox vs. ESXi:confronto testa a testa

OLTP vs OLAP:un confronto completo

Come disabilitare SELinux temporaneamente o permanentemente

Risoluzione dei problemi e insidie ​​di SELinux

Spiegazione degli elenchi di controllo di accesso su Linux