Lista di controllo degli accessi

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.

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.

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]

Collegamenti esterni

[modifica | modifica wikitesto]