Ambienti virtuali vs SELinux / AppArmor: quale è meglio per l'esecuzione di applicazioni non affidabili?

1

Per ambienti virtuali, intendo contenitori Linux come Docker e Vagrant e VirtualBox non completo.

Quindi, il problema è che spesso devo installare pacchetti da fonti non attendibili nella mia Ubuntu. Tuttavia, ultimamente sono diventato paranoico riguardo queste applicazioni e ho pensato di limitarne l'accesso o di eseguirle in SandBox.

Ecco uno scenario che ho considerato:

Se installo un pacchetto non affidabile sul mio computer e utilizzo SELinux / AppArmor per proteggerlo, e questo pacchetto deve connettersi alla rete, come posso essere sicuro di usare SELinux che il pacchetto non stia inviando i miei key-log o qualsiasi altre informazioni su Internet? In questo caso, sembra che se eseguo l'app in un ambiente Docker separato, sarebbe più sicuro perché non avrebbe accesso alle mie sequenze di tasti o ad altre informazioni di questo tipo.

Ci sono anche molti altri scenari. Ma la mia domanda è questa: in generale, che offre una migliore sicurezza di queste due opzioni? Quali sono esattamente i livelli / le misure di sicurezza forniti da questi due metodi?

    
posta shivams 09.05.2015 - 02:54
fonte

1 risposta

1

La finestra mobile tenta alcuni trucchi per contenere i processi, ma i creatori stessi riconoscono che non sono contenitori efficaci di applicazioni fuori dalla scatola. Dato che sei preoccupato per la sicurezza, ma non sei interessato a un ambiente VM pesante, ti consiglio di far funzionare insieme SELinux e Docker. SELinux può applicare automaticamente un'etichetta MCS a ogni contenitore Docker lanciato che aiuta a proteggerti dalla rottura del contenitore. Questo rende davvero facile ottenere la forza di SELinux e la facilità d'uso di Docker.

Per espandere ulteriormente questo aspetto, Docker non contiene effettivamente le applicazioni lanciate al suo interno. Docker comunica direttamente al kernel poiché non esiste un hypervisor tra questo e il sistema host. Ciò significa che un utente malintenzionato all'interno di un contenitore è in grado di utilizzare attacchi di exploit di privilegi locali che sono abbastanza comuni e generalmente facili da eseguire.

SELinux sarebbe molto più capace di contenere l'applicazione, dal momento che si potrebbe impedire in modo efficace di comunicare da qualsiasi componente di sistema di cui non aveva assolutamente bisogno. Può essere difficile creare profili, ma questa è di gran lunga l'opzione migliore per contenere un'applicazione.

    
risposta data 09.05.2015 - 04:00
fonte

Leggi altre domande sui tag