Confronto tra AppArmor e Selinux

57

Stavo rivedendo diversi confronti tra AppArmor e SELinux che includono:

Da questi articoli concludo che AppArmor è migliore di SELinux basato su AppArmor è una curva di apprendimento molto meno complessa e molto più breve. Quindi la maggior parte dei confronti sono a favore di AppArmor, ma come posso dire che AppArmor è più sicuro di SELinux?

    
posta Ali Ahmad 20.01.2013 - 13:30
fonte

7 risposte

38

Questi sistemi di sicurezza forniscono strumenti per isolare le applicazioni l'una dall'altra ... e isolano a sua volta un utente malintenzionato dal resto del sistema quando un'applicazione viene compromessa.

Le serie di regole SELinux sono incredibilmente complesse ma con questa complessità si ha un maggiore controllo su come i processi sono isolati. Generare queste politiche può essere automatizzato . Un attacco contro questo sistema di sicurezza è molto difficile da verificare in modo indipendente.

AppArmor (e SMACK) è molto semplice. I profili possono essere scritti a mano da umani o generati usando aa-logprof . AppArmor utilizza il controllo basato sul percorso, rendendo il sistema più trasparente in modo che possa essere verificato indipendentemente.

    
risposta data 20.01.2013 - 19:11
fonte
23

il link insanitybit è sul mio sito web. Vorrei solo giustificare la mia opinione qui:)

Se guardi SELinux e Apparmor, sono entrambi forti e deboli allo stesso modo. SELinux è "più strong" in quanto può ottenere un accesso ancora più granuloso ai file, ma cosa guadagna un utente malintenzionato rispetto a un profilo apparmor? Sei già significativamente limitato in un profilo di apparmor. Quindi, guadagni veramente molto di più con SELinux?

Quello che guadagni con SELinux (specialmente per la creazione di policy, molto più del controllo - anche se l'audit-to-allow è troppo doloroso) è una maggiore complessità. Molto.

Il percorso di minor resistenza in una sandbox Linux, come SELinux o Apparmor, è il kernel . SELinux non ha nulla più di Apparmor per proteggere il kernel.

Quindi se un utente malintenzionato vuole intraprendere la strada stupida per affrontare problemi di progettazione in Apparmor / SELinux, SELinux è potenzialmente più sicuro - ma presume che i profili siano ben costruiti e, dal momento che SELinux è così complesso, abbiamo effettivamente visto delle vulnerabilità introdotte con esso.

Se un utente malintenzionato è in gamba, verrà assegnato al kernel, ignorando entrambi.

Quindi sono entrambi deboli allo stesso modo, entrambi forti in tutti i modi che contano, e uno di questi è MOLTO più semplice.

Voila.

La metafora del butterknife non funziona, dovrebbe essere ovvio.

    
risposta data 24.12.2013 - 23:54
fonte
6

AppArmor è più sicuro grazie alla sua semplicità che semplifica la revisione e la convalida delle politiche. Gli errori sono meno probabili, più facili da individuare e un tentativo di backdoor è più difficile da mascherare.

    
risposta data 17.10.2013 - 14:16
fonte
3

In generale, non si può dire che appArmor sia migliore di SELinux. Questo perché molto dipende da cosa si sta proteggendo e da ciò che si sta proteggendo contro e dalle singole abilità e preferenze della persona / delle persone responsabili della manutenzione del sistema.

SELinux ha un maggiore controllo a grana fine. In alcune situazioni, ciò renderebbe più appropriato di AppArmor. D'altra parte, AppArmor è probabile che sia sufficientemente potente per la maggioranza degli utenti Linux. Inoltre, molti riferiscono che è più facile da capire e da usare, il che significa che è meno probabile che errori nella configurazione causino buchi pericolosi difficili da trovare. D'altra parte, far sì che qualcuno che ha familiarità con SELinux usi AppArmor potrebbe facilmente causare errori di configurazione semplicemente perché non è il sistema che conosce.

Il punto è che devi valutare in base alla situazione specifica e ai set / preferenze di abilità delle persone coinvolte. Entrambi sono buoni sistemi: sta scegliendo lo strumento giusto per la situazione giusta che conta, non quale è meglio dell'altro.

    
risposta data 25.01.2013 - 05:19
fonte
2

Il punto intero del controllo di accesso obbligatorio è consentire una configurazione a grana fine. La semplicità è completamente irrilevante a meno che i due siano uguali su tutti gli altri conteggi. A volte la complessità è ciò che serve per portare a termine il lavoro.

Come è successo, SELinux ha una granularità molto migliore, è più maturo, più diffuso e secondo la mia opinione soggettiva, meglio ingegnerizzato. La tua conclusione è più simile alla cultura pop che a una valutazione reale.

(Concludo che un coltello da burro è meglio di una motosega, basato su un coltello da burro è molto meno complesso e meno pericoloso)

    
risposta data 31.07.2013 - 09:37
fonte
2

SELinux è sicuramente uno strumento di sicurezza più completo e ambizioso di AppArmor. SELinux è un universo ampio, permea tutto, potenzialmente etichetta ogni oggetto nel sistema e innalza concettualmente il sistema a un'infrastruttura di sicurezza più sofisticata, consente di implementare tutti i principali paradigmi di sicurezza nella teoria del controllo degli accessi; anche

Le organizzazioni militari e governative possono usarlo per le loro rigide esigenze di sicurezza. Con SELinux è possibile implementare MAC ("Mandatory Access Control"), MLS ("Multi-Level Security", con modelli Bell-La Padula e Biba), MCS ("Multi-Category Security"), RBAC ("Role Based Controllo di accesso "), TE (" Tipo di applicazione "). Inoltre, SELinux si basa sul rifiuto predefinito  principio.

AppArmor, d'altra parte, consente semplicemente di definire cosa una singola applicazione può e non può fare, secondo il principio del privilegio minimo ma senza l'implementazione di paradigmi di sicurezza completi.

    
risposta data 25.10.2016 - 14:29
fonte
2

Dalla mia esperienza personale con SElinux direi che non ha aggiunto alcuna complessità a GNU + Linux, l'unica cosa che ha fatto e ritengo che sia un vantaggio portarci la complessità già intrinseca sistema operativo, che confonde molti di noi non ha nulla a che fare con il suo paradigma di progettazione o la sua implementazione. In accordo con AppArmor (AA), SElinux ha un punto di vista più olistico e astratto per ciò che un sistema sicuro dovrebbe essere in cui AA ha una mentalità di contenitore nel pensare alle applicazioni nella misura in cui sono specificati percorsi di profili AA per le risorse consentite che non è molto astratto. sì, potrebbe essere più semplice scrivere un profilo per ciascuna applicazione, ma si perde la vista olistica del sistema. Ora praticamente SElinux funziona meglio con Fedora e RHEL dato che viene pre-ordinato mentre AA funziona meglio su Ubuntu e SUSE, il che significa che sarebbe meglio imparare come usare SElinux nelle precedenti distro che passare attraverso l'hassel di far funzionare AA su di loro e vice versa.

    
risposta data 03.11.2016 - 17:17
fonte

Leggi altre domande sui tag