AppArmor / SELinux forniscono sicurezza per la workstation?

3

Ho deciso di rafforzare la sicurezza sulla mia workstation principale un po '. Prima ho usato firejail per alcune app meno affidabili (tutte le app con accesso a internet) ma è una specie di giocattolo. Non ha funzionato molto bene per me. Così ho provato a leggere sugli strumenti real che sono SELinux e AppArmor.

Mentre diciamo che capisco come potrebbe essere vantaggioso per il server - gestisce solo poche, ben note app con profili ben noti, è necessario abilitare il profilo e funziona. Freddo. Ma completamente non vedo come dovrebbe funzionare per workstation o desktop. Non sono sicuro se sia vero o mi manchi qualcosa ma se ho capito bene sia AppArmor che SELinux richiedono profili per proteggere le app. E quei profili devono essere pre-preparati. Da qualcuno. Per ogni app

Ok, quindi sto usando OpenSUSE sulla mia workstation. Gestisce molte app, quindi ho scelto di installare un DVD completo. Sono circa 16 GB di software pronti all'uso. Poiché lo sto utilizzando anche per lo sviluppo web, ho installato anche decine di browser Web, ecc. Flashplayer ecc.

lapsio@linux-6o92 ~> ll /usr/bin/ | grep -vc "^l"
4225
lapsio@linux-6o92 ~> ls /etc/apparmor.d/ | wc -l
46

Ovviamente non tutte le app in /usr/bin sono completamente autonome ma diciamo anche che ci sono circa 100-300 app grandi, potenzialmente vulnerabili e pericolose - perché include praticamente ogni singola app che opera su file provenienti da un luogo non affidabile - le immagini possono usare exploit in libmagic, documenti di alcune macro, file svg con javascript, persino blender permette di eseguire script python incorporati nel file 3d, ovviamente tutti i browser, tutte le app con qualsiasi capacità web, ecc., così via. Quindi, tra quelle 300 app ... nelle regole degli apparmor, vedo forse 5 che in realtà appartengono all'elenco di quelle grandi app vulnerabili.

Il punto è: è praticamente impossibile creare un profilo per ogni singola app nel sistema operativo. L'approccio alla lista nera è quasi sempre negativo quando parliamo di sicurezza. Quindi c'è qualche soluzione di whitelist? Non sto dicendo che Android sia super sicuro, ma d'altra parte - sembra davvero separare tutte le app l'una dall'altra.

La soluzione ideale sarebbe quella di consentire ad ogni app di accedere in modo predefinito solo ai propri file (determinati dal gestore di pacchetti) e senza accesso a Internet. Quindi dare il permesso esplicito a qualsiasi altro percorso o accesso a Internet solo a determinate app. Mentre il secondo obiettivo può essere facilmente raggiunto con le appropriate regole di iptables, uno suona come qualcosa che dovrebbe essere raggiunto da SELinux o AppArmor. Ma non vedo come.

    
posta Lapsio 13.12.2016 - 19:34
fonte

1 risposta

4

L'ho fatto. Hai bisogno di un piano e devi padroneggiare gli strumenti. Devi essere in grado di scendere a compromessi dove puoi e dove devi scendere a compromessi. Devi lavorare per realizzarlo.

Il controllo degli accessi fa parte di un quadro più ampio. C'è una fiducia inevitabilmente coinvolta. Conoscenza del tuo ambiente e minacce. Trade-off. Buon senso, una buona dose di paranoia. Fondamentalmente consapevolezza in generale.

Ma su una nota più pratica. Inizia installando solo ciò di cui hai bisogno. Più ne hai, più puoi rompere. Quindi non devi indirizzare ogni processo immaginabile. Scegli come target ciò che devi raggiungere per ottenere il lavoro.

Questa è la politica di sicurezza che attualmente utilizzo. È adattato al mio ambiente e alle mie esigenze. Ha compromessi, compromessi. Perché senza quello non sarebbe possibile. La sicurezza non è mai assoluta, ma puoi sfruttarla al meglio e questo dovrebbe essere l'obiettivo.

Hai bisogno di ispirazione?

Questa è la mia politica di sicurezza SELinux personale DSSP:

link

    
risposta data 13.12.2016 - 20:44
fonte