MAC vs DAC vs RBAC

12

Qualcuno può suggerirmi una situazione reale in cui è meglio usare il MAC (Mandatory Access Control) al posto di DAC (controllo di accesso discrezionale) o RBAC (controllo di accesso basato sui ruoli)? E in quale DAC è migliore degli altri? E in quale RBAC è il migliore?

Conosco le nozioni teoriche e so che l'RBAC è migliore nella situazione in cui vogliamo assegnare i diritti non alle persone, ma al lavoro specifico. So anche che MAC e RBAC sono migliori nella situazione in cui vogliamo evitare che un utente possa gestire i diritti.

    
posta mcfan 20.07.2014 - 12:40
fonte

2 risposte

11

DAC è la strada da percorrere per consentire alle persone di gestire i contenuti che possiedono. Potrebbe sembrare ovvio, ma ad esempio il DAC è molto buono per consentire agli utenti di un social network online di scegliere chi accede ai loro dati. Permette alle persone di revocare o inoltrare i privilegi facilmente e immediatamente. Controllo di accesso reattivo , Ulteriori informazioni e condivisione di file Laissez-faire fornire dei buoni esempi di ricerca sul DAC con gli utenti.

RBAC è una forma di controllo dell'accesso che, come hai detto, è adatta a separare le responsabilità in un sistema in cui sono soddisfatti più ruoli. Questo è ovviamente vero nelle aziende (spesso insieme alla compartimentazione, ad esempio Brewer and Nash o MCS ) ma può anche essere utilizzato su un singolo sistema operativo utente per implementare principio di privilegio minimo . RBAC è progettato per separazione dei compiti consentendo agli utenti di selezionare i ruoli di cui hanno bisogno per un'attività specifica. La domanda chiave è se si utilizzano i ruoli per rappresentare le attività eseguite sul sistema e assegnare i ruoli in un'autorità centrale (nel qual caso RBAC è una forma di MAC); oppure se utilizzi i ruoli per consentire agli utenti di controllare le autorizzazioni sui propri oggetti (portando a più ruoli per oggetto e assolutamente nessuna semantica nei ruoli, anche se è teoricamente possibile ).

MAC di per sé è vago, ci sono molti modi per implementarlo per molti sistemi. In pratica, utilizzerai spesso una combinazione di diversi paradigmi. Ad esempio, un sistema UNIX utilizza principalmente DAC ma l'account di root ignora i privilegi DAC. In un'azienda, oltre a separare i diversi reparti e team con MAC / RBAC, è possibile consentire a un DAC di condividere informazioni sul proprio file system aziendale da parte dei colleghi.

Sarebbe meglio rendere la tua domanda specifica e dire quale sistema (o) vuoi proteggere, se esiste. Quale controllo di accesso utilizzare dipende sempre dalla situazione specifica e dal contesto che stai considerando.

    
risposta data 20.07.2014 - 14:39
fonte
3

Ogni sistema viene utilizzato per un requisito di protezione prioritario diverso. I tre principali requisiti di sicurezza sono riservatezza, integrità e disponibilità.

MAC supporta un requisito di sicurezza di riservatezza più che gli altri. Il DAC supporta i requisiti di sicurezza della disponibilità più degli altri. RBAC supporta i requisiti di sicurezza dell'integrità più degli altri. c'è un altro ...

MAC prende le decisioni in base all'etichettatura e quindi alle autorizzazioni. Il DAC prende le decisioni solo in base alle autorizzazioni. L'RBAC prende decisioni basate su funzioni / ruoli.

Quando il sistema o l'implementazione prende decisioni (se è programmato correttamente) applicherà i requisiti di sicurezza. Se utilizzi il sistema sbagliato puoi escluderlo per fare ciò che desideri. Questo succede abbastanza spesso.

Non si escludono a vicenda tranne che per DAC vs MAC. Ci sono implementazioni di combinazione DAC / RBAC il miglior esempio di questi ruoli e permessi di Active Directory.

RBAC - tende verso i database - un classico esempio di dove non è possibile utilizzare uno degli altri sistemi e deve utilizzare RBAC è per il servizio clienti e la fatturazione. Quando chiami la compagnia via cavo per ottenere il tuo pay-per-view, il rappresentante dell'assistenza clienti ti dirà che mi dispiace ti consenta di trasferirti alla fatturazione in modo da poter pagare la bolletta scaduta, sanno che hai una bolletta scaduta ma il loro ruolo impedisce loro di prendere direttamente le informazioni della tua carta di credito. Quando vieni trasferito alla fatturazione, paghi il conto e dici che posso avere il mio servizio. Dicono che mi permetta di trasferirti indietro. Vedo che desideri questo servizio, ma non è la mia funzione. Quindi entrambi i ruoli possono vedere tutti i dati (nessuna riservatezza) ma possono solo manipolare i campi in cui hanno un particolare insieme di responsabilità per (integrità). -si può discutere DAC: ma si adatta alla regola "più così".

MAC - tende verso sistemi militari o implementazioni di requisiti di sicurezza molto definiti. 2 che sono usati abbastanza spesso TRusted-Solaris e il modulo LINUX-MAC del kernel (questo usato per essere SELinux) ce ne sono altri ma non ti interessa. Uno degli elementi chiave che appare solo in MAC è un costrutto di dominio. Se disponi di autorizzazioni a livello segreto, nessuna autorizzazione ti consentirà di visualizzare un documento Top secret. Nelle entità commerciali è raro che tu abbia bisogno di questo costrutto. Ma mostra il secondo punto che è unico per MAC: se un'attività non è specificatamente consentita, non è possibile farlo. (questo rompe molti usi commerciali principalmente a causa del rapido cambio di La missione o requisiti di sistema) Un utilizzo eccellente di MAC potrebbe essere su un server Web, in cui si scriverebbe una politica personalizzata (definita in modo molto restrittivo per tale implementazione) che indica che i processi principali possono essere eseguiti solo dall'account di sistema. Tutti i processi generati da questo sarebbero necessari per soddisfare specifiche autorizzazioni.

DAC: tutti lo usano e la persona prima di me risponde abbastanza bene.

    
risposta data 31.01.2016 - 23:32
fonte

Leggi altre domande sui tag