NIST 800-53 rev 4 - Implementazione di CM-7 (2) su Linux

1

NIST 800-53 rev 4 CM-7 (2) afferma:

(2) MENO FUNZIONALITÀ | PREVENIRE L'ESECUZIONE DEL PROGRAMMA Il sistema informativo utilizza meccanismi automatizzati per impedire l'esecuzione del programma in conformità con [Selezione (uno o più): programmi software autorizzati; programmi software non autorizzati; regole che autorizzano i termini e le condizioni di utilizzo del programma software.

Quali meccanismi automatici esistono in Linux per impedire l'esecuzione di specifici programmi? Comprendo che le autorizzazioni DAC di Linux possono essere utilizzate a un livello elevato per limitare l'esecuzione di tutti i programmi, ma non è l'implementazione di whitelist / blacklist. Sono anche consapevole del fatto che una rigorosa implementazione delle policy di SELinux potrebbe essere utilizzata per soddisfare una white list richiedendo la definizione di criteri per ogni applicazione approvata. Ci sono altre opzioni meno onerose della politica rigorosa di SELinux (che è un notevole sforzo da implementare in una rigorosa configurazione di policy)?

    
posta positive return 21.11.2017 - 19:56
fonte

1 risposta

1

Ci sono alcuni modi per prevenire l'esecuzione su Linux. È importante ricordare, tuttavia, che questi si applicano solo agli eseguibili binari (come gli ELF). Gli script o altri file interpretati non possono essere bloccati allo stesso modo. Ad esempio, uno script di bash non viene effettivamente eseguito, viene semplicemente letto da /bin/bash , che lo analizza. Lo stesso vale per qualcosa come python, dove /usr/bin/python legge e interpreta un file python. Il blocco dell'esecuzione degli script impedirà di eseguire ./file.sh , ma sarà comunque possibile eseguire /bin/bash file.sh , a meno che l'eseguibile di bash non sia bloccato. In quanto tale, tutti i programmi che fungono da interpreti possono bypassare queste protezioni.

Alcuni modi per bloccare l'esecuzione:

  • L'impostazione del flag di montaggio noexec impedisce l'esecuzione su un'intera partizione.

  • DAC può essere utilizzato su base nera, rimuovendo il flag eseguibile su un file.

  • AppArmor e molti altri MAC possono essere utilizzati per autorizzare singoli file per l'esecuzione.

Si noti che AppArmor di default si applica solo ai programmi per i quali si crea un criterio. Ci sono modi per utilizzare un profilo globale, quindi sono richieste le whitelist per ciascun programma, ma non è ufficialmente supportato.

Sembra che quello che vuoi sia un MAC, solo uno più semplice di SELinux.

    
risposta data 22.11.2017 - 03:22
fonte

Leggi altre domande sui tag