Lista di controllo degli accessi

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

In informatica una lista di controllo degli accessi (in lingua inglese di access control list, abbreviato in ACL) è un meccanismo usato per esprimere regole complesse che determinano l'accesso o meno ad alcune risorse di un sistema informatico da parte dei suoi utenti.

Descrizione[modifica | modifica wikitesto]

Una ACL è una lista ordinata di regole associata alle risorse di un sistema informatico che stabilisce quali utenti o processi possono accedervi e compiere le operazioni specificate.

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 condizione/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 gt 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]