Lista di controllo degli accessi
Una lista di controllo degli accessi, spesso chiamata col nome inglese di access control list (ACL), è un meccanismo usato per esprimere regole complesse che determinano l'accesso ad alcune risorse di un sistema informatico.
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.
Una ACL è una lista ordinata di regole che dice quali utenti o processi di sistema possono accedere a degli oggetti, e quali operazioni sono possibili su particolari 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 file.
Ciascuna regola, detta access control entry (ACE), esprime una o più proprietà dell'oggetto da valutare (ad esempio, l'indirizzo sorgente di un pacchetto IP), e se queste proprietà sono verificate indica quale decisione prendere (ad esempio, far passare il pacchetto oppure rifiutarlo).
La valutazione inizia dalla prima regola e continua fino a quando le condizioni di una regola non sono verificate. Se le condizioni sono verificate, la valutazione finisce e viene applicata la decisione presa. Altrimenti, la valutazione prosegue alla regola successiva. Se nessuna regola viene soddisfatta, viene applicata una decisione di default, chiamata policy dell'ACL.
Indice |
[modifica] Uso negli apparati di rete
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
[modifica] Uso nei sistemi operativi
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.
[modifica] Voci correlate
[modifica] Collegamenti esterni
- (EN) POSIX Access Control Lists on Linux
- (EN) File System Access Control Lists su FreeBSD Handbook
- (EN) Introduction to OS X Access Control Lists (ACLs)
- (EN) Access Control Lists su MSDN
- (IT) Documentazione su Access Control Lists
- CISCO ACL access control list
|
|