Security-Enhanced Linux: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 151.28.61.12 (discussione), riportata alla versione precedente di Botcrux Etichetta: Rollback |
Nessun oggetto della modifica |
||
Riga 17:
SELinux è un set di modifiche che possono essere applicate a sistemi operativi di tipo Unix come [[Linux]] e [[BSD]]. La sua architettura cerca di separare l'uso delle regole di sicurezza dalla definizione delle regole stesse, riducendo il numero di software incaricati a verificare che queste vengano rispettate. I concetti base di SELinux possono essere ricondotti ad alcuni progetti della [[National Security Agency]] (NSA) statunitense.
== Storia ==▼
Il primo lavoro rivolta a standardizzare i controlli di accesso obbligatori e discrezionali (MAC e DAC) all'interno di un ambiente UNIX (più precisamente POSIX) può essere attribuito al gruppo di lavoro Trusted UNIX (TRUSIX) dell'agenzia di sicurezza nazionale americana ([[National Security Agency|NSA]]) che dal 1987 al 1991 ha prodotto un modello formale (pubblicato in un [[Rainbow Book]]) ed un prototipo di valutazione che però non è mai stato pubblicato.▼
SELinux è stato progettato per dimostrare il valore dei controlli di accesso obbligatori alla comunità linux e come tali controlli potrebbero essere aggiunti a Linux. Originariamente, le patch che sono state integrate in SELinux dovevano essere esplicitamente applicate al codice sorgente del kernel linux, dalla versione 2.6 del kernel invece è stato completamente integrato di default.▼
Il primo sviluppatore di SELinux, ha rilasciato la prima versione alla comunità di sviluppo [[open source]] sotto la [[GNU General Public License|GNU GPL]] il 22 dicembre 2000.<ref>Compare{{Cita web|url= https://www.nsa.gov/news-features/press-room/press-releases/2001/se-linux.shtml |titolo= National Security Agency Shares Security Enhancements to Linux |data= 2 gennaio 2001 |opera=NSA Press Release |editore= National Security Agency Central Security Service |città= Fort George G. Meade, Maryland |accesso= 17 novembre 2011 |citazione= The NSA is pleased to announce that it has developed, and is making available to the public, a prototype version of a security-enhanced Linux operating system.}}</ref> Il software si è unito al main kernel Linux 2.6.0-test3, rilasciato l'8 agosto 2003.▼
Security-Enhanced Linux implementa il [[Flux Advanced Security Kernel]] (FLASK). Questo kernel contiene componenti architetturali progettati per il sistema operativo Fluke. I componenti di Fluke forniscono un ampio supporto per l'applicazione di molti tipi di politiche per il controllo degli accessi obbligatorie, incluse quelle basate su esecuzione, controllo degli accessi role-based (RBAC) e protezioni di [[sicurezza multilivello]]. FLASK, a sua volta, si basa su DTOS, un sistema operativo Trusted Mach, un progetto di ricerca fatto da [[Trusted Information Systems]] che ha influenzato la progettazione e l'implementazione di DTOS.▼
== Descrizione ==
Riga 32 ⟶ 41:
SELinux fornisce un insieme di concetti e funzionalità tratti da controlli di accesso, controlli di integrità e controllo degli accessi [[Role-based access control|role-based]] (RBAC). Gli strumenti di "terze parti" consentono di creare versatilità sulle politiche di sicurezza.
=== Utenti, contesti e politiche di sicurezza ===▼
▲== Storia ==
▲Il primo lavoro rivolta a standardizzare i controlli di accesso obbligatori e discrezionali (MAC e DAC) all'interno di un ambiente UNIX (più precisamente POSIX) può essere attribuito al gruppo di lavoro Trusted UNIX (TRUSIX) dell'agenzia di sicurezza nazionale americana ([[National Security Agency|NSA]]) che dal 1987 al 1991 ha prodotto un modello formale (pubblicato in un [[Rainbow Book]]) ed un prototipo di valutazione che però non è mai stato pubblicato.
▲SELinux è stato progettato per dimostrare il valore dei controlli di accesso obbligatori alla comunità linux e come tali controlli potrebbero essere aggiunti a Linux. Originariamente, le patch che sono state integrate in SELinux dovevano essere esplicitamente applicate al codice sorgente del kernel linux, dalla versione 2.6 del kernel invece è stato completamente integrato di default.
▲Il primo sviluppatore di SELinux, ha rilasciato la prima versione alla comunità di sviluppo [[open source]] sotto la [[GNU General Public License|GNU GPL]] il 22 dicembre 2000.<ref>Compare{{Cita web|url= https://www.nsa.gov/news-features/press-room/press-releases/2001/se-linux.shtml |titolo= National Security Agency Shares Security Enhancements to Linux |data= 2 gennaio 2001 |opera=NSA Press Release |editore= National Security Agency Central Security Service |città= Fort George G. Meade, Maryland |accesso= 17 novembre 2011 |citazione= The NSA is pleased to announce that it has developed, and is making available to the public, a prototype version of a security-enhanced Linux operating system.}}</ref> Il software si è unito al main kernel Linux 2.6.0-test3, rilasciato l'8 agosto 2003.
▲Security-Enhanced Linux implementa il [[Flux Advanced Security Kernel]] (FLASK). Questo kernel contiene componenti architetturali progettati per il sistema operativo Fluke. I componenti di Fluke forniscono un ampio supporto per l'applicazione di molti tipi di politiche per il controllo degli accessi obbligatorie, incluse quelle basate su esecuzione, controllo degli accessi role-based (RBAC) e protezioni di [[sicurezza multilivello]]. FLASK, a sua volta, si basa su DTOS, un sistema operativo Trusted Mach, un progetto di ricerca fatto da [[Trusted Information Systems]] che ha influenzato la progettazione e l'implementazione di DTOS.
▲==Utenti, contesti e politiche di sicurezza==
Gli utenti e le politiche di SELinux non devono essere correlati agli utenti e alle politiche del sistema Linux. Per ogni utente o processo, SELinux assegna un context a tre stringhe costituito da nome utente, ruolo e dominio (o tipo). Di norma, la maggior parte degli utenti reali condivide lo stesso nome utente SELinux e tutto il controllo degli accessi è gestito tramite il terzo tag, il dominio. Questo sistema utilizzato è quindi più flessibile di quanto è normalmente richiesto. Un processo viene posto in un determinato dominio se la configurazione delle politiche lo permette. Per avviare un processo in un contesto esplicitamente specificato (utente, ruolo, dominio) deve essere lanciato con il comando <code>runcon</code>, SELinux può negare l'avvio se non è specificato nella configurazione della politica di sicurezza.
Riga 56:
Normalmente, i nuovi criteri, vengono prima testati in "modalità permissiva", dove le violazioni vengono appunto permesse e registrate. Lo strumento <code>audit2allow</code> può essere utilizzato per creare regole aggiuntive, che estendono la politica iniziale, per realizzare il confinamento di tutte le attività legittime che un'applicazione può eseguire.
=== Caratteristiche ===
Le caratteristiche di SELinux comprendono:
* Politiche di sicurezza ben definite
Riga 72:
* Controllo delle informazioni memorizzate nella cache tramite la AVC<ref>{{Cita libro|autore= Fedora Documentation Project |titolo= Fedora 13 Security-Enhanced Linux User Guide |url= https://books.google.com/books?id=feDeO4IglRkC |accesso= 22 febbraio 2012 |anno= 2010 |editore= Fultus Corporation | isbn = 978-1-59682-215-3 |p= 18 |citazione= SELinux decisions, such as allowing or disallowing access, are cached. This cache is known as the Access Vector Cache (AVC). Caching decisions decreases how often SELinux rules need to checked, which increases performance.}}</ref> (cache vettoriale di accesso dall'inglese Access Vector Cache)
=== Implementazioni ===
SELinux è implementato e disponibile, dalla versione 4 in poi, nella distribuzione commerciale di Red Hat: "[[Red Hat Enterprise Linux]] (RHEL)".
La politica di sicurezza in RHEL4 punta alla massima facilità d'uso e quindi è molto poco restrittiva. Dopo la quarta versione viene invece implementata una politica di sicurezza molto più restrittiva.
|