Access Control List

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir ACL.

Access Control List (ACL) — liste de contrôle d'accès en français — désigne deux choses en sécurité informatique :

Une ACL est une liste d’Access Control Entry (ACE) ou entrée de contrôle d'accès donnant ou supprimant des droits d'accès à une personne ou un groupe.

ACL sur les fichiers[modifier | modifier le code]

Sous UNIX[modifier | modifier le code]

Sous UNIX, les ACL ne remplacent pas la méthode habituelle des droits. Pour garder une compatibilité, elles s'ajoutent à elle au sein de la norme POSIX 1e.

Les systèmes de type UNIX n'acceptent, classiquement, que trois types de droits :

  • lecture (Read);
  • écriture (Write);
  • exécution (eXecute),

pour trois types d'utilisateurs :

  • le propriétaire du fichier ;
  • les membres du groupe auquel appartient le fichier ;
  • tous les autres utilisateurs.

Cependant, cette méthode ne couvre pas suffisamment de cas, notamment en entreprise. En effet, les réseaux d'entreprises nécessitent l'attribut de droits pour certains membres de plusieurs groupes distincts, ce qui nécessite diverses astuces lourdes à mettre en œuvre et entretenir sous Unix.

L'intervention de l'administrateur est souvent nécessaire pour créer les groupes intermédiaires qui permettront de partager des fichiers entre plusieurs utilisateurs ou groupes d'utilisateurs, tout en les gardant confidentiels face aux autres.

Les ACL permettent de combler ce manque. On peut permettre à n'importe quel utilisateur, ou groupe, un des trois droits (lecture, écriture et exécution) et cela sans être limité par le nombre d'utilisateurs que l'on veut ajouter.

Mac OS X gère les ACL depuis la version 10.4 (Tiger).

Utilisation[modifier | modifier le code]

Les deux commandes permettant de visualiser les droits ACL et de les modifier sont, sous UNIX :

  • getfacl : pour visualiser
  • setfacl : pour modifier

Il faut néanmoins avoir ajouté dans le fichier etc/fstab, en option, "acl".

Windows[modifier | modifier le code]

Les ACL sont implémentées par le système de fichiers NTFS, et prises en charge par Windows NT 4.0 et ses successeurs (Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2 et Windows Server 2012). Sous NTFS, les ACL peuvent être définis sur des fichiers ou des répertoires et acceptent les types de droits suivants :

  • parcours d'un dossier ;
  • liste d'un dossier ;
  • lecture des méta-données ;
  • ajout de fichier ;
  • ajout de répertoire ;
  • ajout de données à un fichier existant ;
  • modification des droits ;
  • suppression ;
  • lecture ;
  • appropriation ;
  • exécution.

Ces droits s'appliquent soit à des utilisateurs (réels, virtuels - tel le propriétaire du fichier - ou systèmes), soit à des groupes d'utilisateurs (réels, virtuels ou systèmes). L'application d'un droit à un utilisateur ou à un groupe est nommé ACE. Il est possible d'autoriser ou de rompre l'héritage hiérarchique des ACL entre les différents répertoires, ainsi que de paramétrer le type d'héritage (sur les dossiers, les fichiers, à tous niveaux de profondeur, uniquement le premier, etc.).

Le nouveau système de fichiers, exFAT, proposé depuis le Service Pack 1 de Windows Vista et Windows CE 6 pour remplacer la FAT prend aussi en charge les ACL.

En réseau[modifier | modifier le code]

Une ACL sur un pare-feu ou un routeur filtrant, est une liste d'adresses ou de ports autorisés ou interdits par le dispositif de filtrage.

Les Access Control List sont divisés en trois grandes catégories, l'ACL standard, l'ACL étendue et la nommée-étendue.

  • L'ACL standard ne peut contrôler que deux ensembles : l'adresse IP source et une partie de l'adresse IP source, au moyen de masque générique.
  • L'ACL étendue peut contrôler l'adresse IP de destination, la partie de l'adresse de destination (masque générique), le type de protocole (TCP, UDP, ICMP, IGRP, IGMP, etc.), le port source et de destination, les flux TCP, IP TOS (Type of service) ainsi que les priorités IP.
  • L'ACL nommée-étendue est une ACL étendue à laquelle on a affecté un nom.

Par exemple, sous Linux c'est le système Netfilter qui gère l'ACL. La création d'ACL qui autorise le courrier électronique entrant, depuis n'importe quelle adresse IP, vers le port 25 (alloué communément à SMTP) se fait avec la commande suivante : iptables --insert INPUT --protocol tcp --destination-port 25 --jump ACCEPT

Iptables est la commande qui permet de configurer NetFilter.

Les ACL conviennent bien à des protocoles dont les ports sont statiques (connus à l'avance) comme SMTP, mais ne suffisent pas avec des logiciels comme BitTorrent où les ports peuvent varier.

Liens externes[modifier | modifier le code]