Lista di controllo degli accessi

Da Wikipedia, l'enciclopedia libera.

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 che stabilisce quali utenti o processi di sistema possono accedere a degli oggetti, e quali operazioni sono possibili su questi oggetti. Facendo l'esempio di una rete informatica, ci si troverebbe a dover decidere se far passare o meno un pacchetto o se permettere o meno ad un certo utente l'accesso ad un determinato file.

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.

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 Mac OS X. In quest'ultimo sono state introdotte nella versione 10.4 (Tiger) e rese attive per default nella versione 10.5 (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 permit tcp any any
access-list 100 deny ip any any     regola implicita

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]