Una lista di controllo degli accessi (in lingua inglese di access control list, abbreviato in ACL), in informatica, è un meccanismo usato per esprimere e/o definire delle condizioni che determinano l'accesso o meno ad alcune risorse di un sistema informatico da parte dei suoi utenti utilizzatori.
Descrizione
[modifica | modifica wikitesto]Una ACL è una lista ordinata di regole associata alle risorse di un sistema informatico che stabilisce delle regole, dette permessi, in base alle quali gli utenti o processi possono accedervi e compiere le operazioni specificate. Le risorse possono anche essere informazioni (dati).
Ciascuna regola, detta access control entry (ACE), esprime una o più condizioni o proprietà dell'oggetto da valutare (ad es. l'indirizzo sorgente di un pacchetto IP), e se queste proprietà sono verificate indica quale decisione prendere (ad es. lasciar passare il pacchetto oppure scartarlo).
La valutazione inizia dalla prima regola: se l'insieme delle condizioni/proprietà di questa risultano verificate si applica una prestabilita decisione o policy dell'ACL, proseguendo poi allo stesso modo con le regole successive. Se nessuna regola viene soddisfatta, viene applicata una decisione o policy di default.
Differentemente i permessi possono anche essere associati ai processi/utenti, definendo risorse a cui possono accedere e modalità utilizzabili, in una C list; in questo caso si parla di capabilties che verranno a costituire un dominio privilegiato per il processo/utente, che generalmente prenderà la precedenza sui permessi specificati e associati agli oggetti medesimi.
Utilizzo
[modifica | modifica wikitesto]Sistemi operativi
[modifica | modifica wikitesto]Le ACL sono utilizzate anche per la determinazione dei permessi riguardanti file e cartelle memorizzati sui dischi.
Alcuni dei sistemi operativi che ne fanno uso sono Microsoft Windows, OpenVMS, Linux e macOS. In quest'ultimo sono state introdotte nella versione Mac OS X Tiger e rese attive per default nella versione Mac OS X Leopard e sono gestibili via interfaccia grafica con il Finder e da riga di comando tramite chmod.
Apparati di rete
[modifica | modifica wikitesto]Tra le sue applicazioni principali si ha la configurazione di firewall e router e dei diritti di accesso a file e directory da parte del sistema operativo sui propri utenti. Ad esempio, una semplice ACL per un firewall espressa in pseudo-linguaggio suonerebbe più o meno così:
POLICY = SCARTA il pacchetto
se <indirizzo IP sorgente> == 192.168.0.5 allora SCARTA il pacchetto se <porta TCP destinazione> == 500 AND <indirizzo IP destinazione> == 192.168.4.1 allora ACCETTA il pacchetto se <indirizzo IP destinazione> appartiene alla rete 10.0.5.0/24 allora SCARTA il pacchetto se <protocollo> != TCP allora SCARTA il pacchetto
Ciascun apparato avrà poi una particolare sintassi per configurare una ACL.
- Su un router realizzato con GNU/Linux, il nostro esempio suonerà più o meno così:
iptables—policy FORWARD DROP
iptables -A FORWARD—source 192.168.0.5 -j DROP iptables -A FORWARD -p tcp -m tcp—destination-port 500—destination 192.168.4.1 -j ACCEPT iptables -A FORWARD—source 10.0.5.0/24 -j DROP iptables -A FORWARD—protocol ! TCP -j DROP
- Su un router Cisco, sarà:
access-list 100 deny ip host 192.168.0.5 any access-list 100 permit tcp any eq 500 host 192.168.4.1 access-list 100 deny ip any 10.0.5.0 0.0.0.255 access-list 100 deny tcp any any
access-list 100 deny ip any any regola implicita
Voci correlate
[modifica | modifica wikitesto]- Dominio (informatica)
- Cacls
- Risorsa informatica
- Sistema informatico
- Mandatory access control
- Discretionary access control (DAC)
- Role-based access control (RBAC)
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) File System Access Control Lists su FreeBSD Handbook
- (EN) Introduction to OS X Access Control Lists (ACLs), su techrepublic.com.
- (EN) Access Control Lists su MSDN
- CISCO ACL access control list, su valent-blog.eu.