• Aucun résultat trouvé

Outils d’approvisionnement

Les outils d’approvisionnement alimentent le système de validation, ils ont pour fonction de récupérer les droits d’accès dans les différentes plateformes qui constituent le système infor- matique d’une organisation. Aussi, pour s’adapter à un environnement spécifique, les outils d’approvisionnement se composent de plusieurs modules qui sont assignés soit à un système d’exploitation (Objet Linux), soit à un programme (Objet programme) ou à un équipement réseau (Objet réseau).

des différentes plateformes se doit d’être standardisée. À cet effet, on traduira les objets de type accès en XACML, car ce langage est très riche de par sa sémantique et donc facilite la traduction des objets. Aussi XACML permet aisément de représenter une politique de sécurité et dans la pratique de cette traduction nous nous appuierons sur une grammaire BNF (Voir Annexe A.3). Cette grammaire BNF a été spécifiée à l’aide d’une formalisation d’un sous- ensemble de XACML-3.0 et se compose d’éléments suivants :

— Un ensemble de politiques (PolicySet)

— Un PolicySet est constitué d’autres politiques (Policy) et de règles (Rules). Chaque ensemble de politiques obéit à un algorithme de combinaison (Ralg) qui décrit la façon de combiner les décisions de ses politiques.

— Une règle se compose d’une cible (Target), d’un effet (REffect), et d’une condition (At- tEnv). Une cible représente l’objet sur lequel la règle s’applique et l’effet quant à lui traduit la décision d’accès qui peut être Permit ou Deny.

Dans la section 3.5, nous allons explorer les détails de cette traduction. 3.3.1 Script d’extraction des droits d’accès Windows

La récupération des droits d’accès dans un environnement Windows est plus efficace via un script vbs (Voir Annexe A.1.) Le script proposé ci-dessous permet de récupérer les droits d’accès de l’ensemble des fichiers contenu dans le dossier "test1 " afin de les consignés dans un fichier texte "fichier.txt" en sortie.

Comme indiqué dans la section 2.4 (contrôle d’accès sous Windows), une entrée de contrôle d’accès (ACE) est la structure qui enregistre les permissions pour un compte de sécurité donné et spécifie aussi les propriétés d’audit pour ce compte sur un objet. Ce script permet de parcourir un répertoire et ses sous-répertoires dans le but de lire les autorisations (masque d’accès) contenues dans les ACE. Il spécifie également :

— Le type de l’objet : Un dossier ou un fichier — Le chemin d’accès de l’objet

— Le propriétaire de l’objet

— Le sujet (Utilisateurs ou groupe) — La permission (accepté ou refusé)

— L’autorisation qui définit le droit d’accès à l’objet.

C’est le lieu de rappeler qu’il existe deux types d’autorisations dans une ACE :

— Des autorisations standards : lecture ; écriture ; affichage du contenu du dossier ; modi- fication ; contrôle total ; lecture et exécution.

— Des autorisations spécifiques : Parcours du dossier/exécution du fichier ; création de dossiers/ajout de données ; lecture des autorisations ; liste du dossier/lecture de don-

nées ; écriture d’attributs ; modification des autorisations ; lecture des attributs ; écri- ture d’attributs étendus ; appropriation ; lecture des attributs étendus ; suppression de sous-dossiers et de fichiers ; synchronisation ; création de fichiers/écriture de données ; suppression.

Le résultat du script ci-dessus produit en sortie ce fichier txt tout en sachant que le dossier test1 contient un seul fichier provisio.vbs.

File\Folder | Chemin\Nom | Owner | Sujet | permission | Autorisation F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_ALL_ACCESS F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_APPEND_DATA F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_DELETE F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_DELETE_CHILD F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_EXECUTE F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_READ_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_READ_CONTROL F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_READ_DATA F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_READ_EA F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_SYNCHRONIZE F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_WRITE_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_WRITE_DAC F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_WRITE_DATA F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_WRITE_EA F|C:\test1\provisio.vbs|emmanuel|Administrateurs|Allowed|FILE_WRITE_OWNER F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_ALL_ACCESS F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_APPEND_DATA F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_DELETE F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_DELETE_CHILD F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_EXECUTE F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_READ_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_READ_CONTROL F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_READ_DATA F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_READ_EA F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_SYNCHRONIZE F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_WRITE_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_WRITE_DAC F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_WRITE_DATA F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_WRITE_EA F|C:\test1\provisio.vbs|emmanuel|SystËme|Allowed|FILE_WRITE_OWNER F|C:\test1\provisio.vbs|emmanuel|Utilisateurs|Allowed|FILE_READ_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|Utilisateurs|Allowed|FILE_READ_CONTROL F|C:\test1\provisio.vbs|emmanuel|Utilisateurs|Allowed|FILE_READ_DATA F|C:\test1\provisio.vbs|emmanuel|Utilisateurs|Allowed|FILE_READ_EA F|C:\test1\provisio.vbs|emmanuel|Utilisateurs|Allowed|FILE_SYNCHRONIZE F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_ALL_ACCESS

F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_APPEND_DATA F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_DELETE F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_EXECUTE F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_READ_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_READ_CONTROL F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_READ_DATA F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_READ_EA F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_SYNCHRONIZE F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_WRITE_ATTRIBUTES F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_WRITE_DATA F|C:\test1\provisio.vbs|emmanuel|Utilisateurs authentifiÈs|Allowed|FILE_WRITE_EA

3.3.2 Script d’extraction des droits d’accès Linux

Dans Linux, nous avons fait le choix de récupérer les droits d’accès via un script bash. Le script proposé ci-dessous permet de récupérer les droits d’accès de l’ensemble des fichiers contenus dans le dossier Documents afin de les consignés dans un fichier texte portant le nom de la distribution Linux "drsnake-debian._objet.txt".

Ainsi, nous avons le script suivant : #!/bin/bash

ls -R -l ${PWD}/* >> /home/emmanuel/Documents/$HOSTNAME._objet.txt

Le résultat du script ci-dessus produit en sortie ce fichier txt tout en sachant que le dossier Documents contient 4 fichiers et un dossier doc.

-rwxrw-rw- 1 emmanuel emmanuel 415 28 mar 2013 /home/emmanuel/Documents/scrip1 -rw-r--r--. 1 emmanuel emmanuel 115 18 mai 2012 /home/emmanuel/Documents/scrip2 -rw-r--r--. 1 emmanuel emmanuel 926 10 mai 2012 /home/emmanuel/Documents/tableau2 -rw-r--r-- 1 emmanuel emmanuel 17 12 aoû 2014 /home/emmanuel/Documents/test

/home/emmanuel/Documents/doc: total 2

-rw-r--r-- 1 emmanuel emmanuel 1912 6 mar 20:13 drsnake-debian._group.txt -rw-r--r-- 1 emmanuel emmanuel 3474 6 mar 20:13 drsnake-debian._user.txt

Documents relatifs