Sécurité des Objets Sécurité des Objets
Transcription
Sécurité des Objets Sécurité des Objets
Chapitre 3 Sécurité des Objets Objectifs du chapitre Dans ce chapitre nous allons étudier les points suivants • Le modèle de sécurité de Windows 2000 • La gestion des droits sur le système de fichier • Le chiffrement disponible sur le système de fichier Sécurité des Objets Introduction au contrôle d ’accès Architecture du système de fichier Contrôle d ’accès et héritage EFS (Encrypting File System) Résumé Modèle Objet (Suite) • Windows 2000 utilise un modèle objet pour la gestion de la sécurité des ressources — Les fichiers et les autres ressources sont définies comme des objets — Les utilisateurs et les groupes sont aussi des objets • L’accès aux objets est contrôlé par des attributs de sécurité attachés à l’objet — La plupart des objets stockent leur sécurité dans une ACL (Access-Control List) — La sécurité du système de fichier peut être mise en œuvre uniquement si le système de fichier est basé sur du NTFS NTFS = NT Filesystem SRM / Object Manager • Différents acteurs sont impliqués dans le contrôle d’accès aux ressources — Security Reference Monitor (SRM) — Object Manager — Access-Control Lists (ACLs) — Security Access Token • Lorsqu’un processus essaye d’accéder à une ressource, le SRM vérifie qu’il possède les permissions nécessaires — Le SRM commence par vérifier les SIDs dans le jeton d’accès avec ceux contenus dans l’ACL de la ressource accédée — Si le processus a assez de permissions pour l’action demandée, la requête est transmise à l’Object Manager — L’Object Manager renvoie un pointeur d’accès (Handle), qui sera utilisé par le processus dans toutes les futures communications avec l’Object Manager Sécurité des Objets Introduction au contrôle d ’accès Architecture du système de fichier Contrôle d ’accès et héritage EFS (Encrypting File System) Résumé La MFT • La MFT (Master File Table) maintient toutes les informations du système de fichiers — Chaque dossier ou fichier possède une entrée (ligne) dans la MFT — Chaque ligne contient différents attributs • Toutes les caractéristiques d’un fichier sont stockées comme des attributs (streams) — Données — Position sur le disque — Sécurité Les données sont un attribut • L’attribut DATA représente approximativement les 1500 premiers octets d’un fichier — L’attribut Data est stocké sur des clusters disques, qui sont eux même référencés par des VCNs(Virtual Cluster Numbers) • Les répertoires contiennent dans leur attribut DATA un index de leur contenu — Chaque Fichier/Dossier est référencé — Un pointeur permet de retrouver la position de la description de ce fichier dans la MFT Attribut Data Nom Position 601.ppt ntlogon.bat lophtcrack15.exe whitepaper.doc secsem.ppt VCN VCN VCN VCN VCN 1-16 17-18 19-26 27-31 31-45 Attributs Multiples • Le système de fichier du Macintosh est conçu avec deux attributs — Un attribut Data contient les données du fichier — Un attribut Resource contient des informations sur l’application qui a servi à créer le fichier, le format des données et la version • Le système de fichier FAT est un système de fichier à un seul attribut • Les informations équivalentes sont fournies par — Les extensions de fichier — Les associations — L’entrée Hkey_Classes_Root du registre FAT = file allocation table Les attributs NTFS (Streams) • NTFS est un système de fichiers multi-attributs — Les attributs NTFS sont aussi appelés des flux (streams) — Documenté par Microsoft comme des attributs définis par l’utilisateur (user defined data attributes) – Peut contenir théoriquement jusqu’à 235 attributs — Une des utilisations des flux est le support des FSMs (File Services for the Macintosh) • L’attribut par défaut contenant les données est $Data — La plupart des applications, dont l’explorateur, considèrent $Data comme étant le seul et unique attribut contenant des données — Selon l’algorithme d’analyse des informations de la ligne de commande; – Ces attributs ne sont pas visibles dans les programmes – Ils sont inaccessibles pour la plupart des applications Création d’attributs NTFS supplémentaires • La création d’attributs supplémentaires peut se faire en utilisant les re-directions — Echo «Information cachée» > test.txt:secret — secret est un attribut supplémentaire qui contient l’information «Information cachée» — More < test.txt:secret permet d’afficher le contenu du stream sur l’écran • La création/modification d’attributs ne nécessite pas de droits particuliers — Un utilisateur quelconque – Peut créer un attribut avec les permissions d’écriture – Peut le lire avec les permissions de lecture et le nom de l’attribut • On peut aussi ajouter des données binaires dans les attributs Attributs supplémentaires et sécurité • Outils de quota disque — La plupart des ces outils ne prennent pas en compte les attributs supplémentaires — Les quotas disque sont souvent calculés uniquement à partir de la taille de l’attribut $Data — Cela peut rendre très difficile le contrôle réel de l’espace disque utilisé • Anti-Virus — La plupart de ces outils ne prennent pas en compte les attributs supplémentaires — L’idée est de dire que les attributs supplémentaires ne sont pas dangereux tant qu’ils ne sont pas copiés dans l’attribut $Data Attributs supplémentaires et sécurité (Suite) • Outils de défragmentation de disque — Des attributs supplémentaires importants peuvent causer une fragmentation importante du disque — La plupart des outils de défragmentation ne prennent pas en compte les attributs NTFS supplémentaires Une cachette parfaite ? • Les attributs peuvent être utilisés pour — Cacher des données — Transmettre des données secrètes dans des données anodines • Les attributs supplémentaires ne sont conservés que sur des volumes NTFS — Ils sont conservés lors des opérations de copie/sauvegarde — Ils sont supprimés lorsque – Le fichier est copié vers un media non NTFS – Lorsque le fichier est envoyé par eMail Détecter la présence d’attributs supplémentaires • Il y a beaucoup d’utilisations légitimes des attributs — Cependant un administrateur peut vouloir analyser le contenu des disques pour découvrir des attributs « bizarres » • Pour passer outre les droits des fichiers et pouvoir analyser les attributs supplémentaires, l’utilitaire utilisé doit avoir le droit SeBackUp • Il existe de nombreux outils dans le domaine public mais leurs performances sont souvent décevantes DACL = discretionary access control list LADS (List Alternative Data Streams) LADS et les fichiers ouverts • LADS ne peut pas analyser les fichiers ouverts (DEMO) Security Descriptors SID du propriétaire Propriétaire Groupe DACL SACL POSIX = portable operating system interface specification Identificateur de groupe pour la compatibilité POSIX Access-control List Propriétés d’audit Security Descriptors (Suite) • Chaque DACL stockée dans un Security Descriptor est composée de plusieurs entrées, les ACEs ( Access Control Entries) — Chaque ACE représente un type d’accès pour un utilisateur ou un groupe • Les ACEs sont découpées en trois parties — Un SID (utilisateur ou groupe) — Un drapeau d’autorisation “access allowed” ou de refus “access denied” — Un masque décrivant le type d’accès SID Drapeau Masque ACE Les DACLs (Discretionary Access Control List) Drapeau SID ACCESS_DENIED_ACE S-1-5-21-122... RX ACCESS_DENIED_ACE S-1-5-21-452... RWXD Masque ACCESS_DENIED_ACE S-1-5-21-999... W ACCESS_ALLOWED_ACE S-1-5-21-999... RWXD D = delete, R = read, W = write, X = execute ACCESS_ALLOWED_ACE S-1-5-21-456... RX ACCESS_ALLOWED_ACE S-1-5-21-326... RWX Vulnérabilités du système de fichier • La sécurité du système de fichier n’est contrôlée que si Windows 2000 est actif — Lorsque Windows 2000 fonctionne, tous les accès sont contrôlables • D’autres systèmes, ou une disquette bootable contenant des utilitaires qui comprennent la structure des volumes NTFS, peuvent permettre l’accès aux fichiers sans tenir compte des ACLs — NTFS DOS — Linux • Protégez votre système de fichier ! — Contrôlez l’accès physique — Chiffrez vos données confidentielles NTFS v5 et les disques dynamiques • Windows 2000 supporte deux types de disques: — Basic – Partitions standards : Primaire et Etendue – Prise en compte par Microsoft MS-DOS, Windows 95, 98, SE et Windows NT — Disque – Les partitions sont remplacées par des volumes – Le module Logical Disk Manager (LDM) gère les disques dynamiques et les volumes – Gère tous les types de volume spanned, striped et RAID-5 logiciel • Les partitions associées à un volume dynamique ne sont pas reconnues par d’autres OS pour le moment — Un bon moyen de se prémunir contre NTFSDOS !! La console de récupération • Dans les versions précédentes de NT, la remise en état d’un système non bootable nécessitait: — Un démarrage sur disquette ou CD puis lancement de la procédure de réparation — L’installation d’une seconde copie de NT pour réparer la première — L’achat de NTFS-DOS ou d’outils équivalents • Windows 2000 contient une console de récupération — Démarrer en ligne de commande — Permet l’accès aux répertoires %systemroot% et system32 • Est ce que la console de récupération est une faille dans la sécurité de Windows 2000 ? — Le module Security Reference Monitor n’est pas actif dans ce mode – Pas de vérification des permissions Sécurité des Objets Introduction au contrôle d ’accès Architecture du système de fichier Contrôle d ’accès et héritage EFS (Encrypting File System) Résumé Permissions sur le système de fichiers • L’information peut être séparée en deux catégories — Non contrôlée — Contrôlée NTFS Tout le monde peut accéder au fichier et à son contenu NTFS = NT Filesystem L’accès à ce fichier et à son contenu est réservé à certains utilisateurs Permissions sur le système de fichiers (Suite) • Les fichiers “Secrets” ne sont pas les seuls qui doivent être protégés • Les fichiers doivent être sécurisés si — Ils contiennent des données confidentielles (Confidentialité) — Ils contiennent des données stratégiques (Intégrité) — Ils contiennent des données qui doivent être disponibles 24/24 (Disponibilité) • Le coût du contrôle d’accès des fichiers doit être calculé à l’échelle de l’entreprise — Surchage administrative — Possibilité pour les utilisateurs d’accéder à leurs ressources Mise en place du DACL Utilisateurs Utilisateursetet Groupes Groupes Permissions Permissions • Click droit sur un objet, puis sélectionnez Propriétés | Sécurité Contrôle d’accès simple sur les fichiers et les dossiers • Permissions simples — Un dossier que le département des ventes doit pouvoir lire et que la direction doit pouvoir modifier — Les dossiers personnels ne sont modifiables et lisibles que par leur propriétaire • L’héritage simple propage les permissions sur les sous-dossiers et les fichiers — Tous les fichiers ou les dossiers qui vont être créés dans la structure vont subir ses règles Ventes : RX Direction : RWXD Administrateurs : Full Contrôle d’accès avancé sur les fichiers et les dossiers • Les permissions avancées fournissent une granularité plus fine, toutes les ACEs peuvent être modifiées pour des circonstances spécifiques — Donner la possibilité à un utilisateur d’ajouter des fichiers ou des dossiers sans la possibilité de les supprimer — Permettre aux administrateurs de visualiser le contenu d’une arborescence sans avoir le droit d’ouvrir ou de lire les fichiers Contrôle d’accès avancé (Suite) Contrôle de la hiérarchie des fichiers et des dossiers • La gestion des structures de fichiers complexes est plus facilement gérable — Windows 2000 fournie une granularité plus fine — La construction d’une hiérarchie gérable demande une étude préalable 1 2 3 1 Nécessite permission 1 Nécessite permission 2 Nécessite permission 3 Héritage • La configuration par défaut permet un héritage total • Les permissions d’une racine sont héritées par : — Tous les sous-dossiers – Niveau 1, Niveau 2, Niveau 3, Etc … — Tous les fichiers • L’héritage peut être restreint si ce comportement n’est pas celui que vous voulez obtenir — L’héritage peut être stoppé pour les dossiers fils — L’héritage peut être défini sur un dossier pour ses fils Gestion de la propagation de l’héritage • La définition des caractéristiques d’héritage au niveau du dossier parent permet une gestion plus fine Comprendre les permissions • Les DACLs d’un dossier fils sont construites en combinant les permissions héritées et les permissions explicites pour ce dossier — Chaque ACE héritée est ajoutée aux DACLs en fonction de sa proximité – Les ACEs des « grands parents » sont placées devant, sur les objets « fils » – Les ACEs explicites sont placées devant toutes les permissions héritées • Les ACEs au sein d’une ACL sont ordonnées en fonction de la valeur du drapeau; « flag » — Les refus “access denied” sont placés devant les autorisations “access allowed” Héritage Multi-Niveau DACL Explicite XX XX XX AA AA AA AA ACEs héritée du parent XX AA AA XX XX XX AA AA AA AA ACEs Explicite ACEs ACEs Explicite XX XX AA XX AA AA XX XX XX AA AA AA AA Parent Grand Parent Planification des permissions • Quel type d’héritage doit être mis en oeuvre pour gérer la structure cidessous ? • Pensez à prendre en compte les contraintes d’administration de vos choix Ventes: RWX Direction : RWXD Administrateurs: Full Ajouter Johnc: RWXD À la DACL héritée Remplacer l’héritage par Ventes: RX Directions : RX Administrateurs: Full Permissions et Héritage • Notez ci-dessous les permissions adéquates pour obtenir le résultat souhaité : Dossier 1 Ensemble 3 Ensemble 2 Ensemble 4 Sécurité des Objets Introduction au contrôle d ’accès Architecture du système de fichier Contrôle d ’accès et héritage EFS (Encrypting File System) Résumé Chiffrer les fichiers • Le chiffrement des fichiers fournit un niveau supplémentaire de sécurité pour les données sensibles — L’accès physique à une machine rend souvent la protection par DACL insuffisante – Utilitaires de lecture du NTFS qui ignorent les DACLs – Une machine ou un disque volé peut être facilement compromis • Un chiffrement solide fournit — Un niveau élevé de protection des données — Des procédures de recouvrement de clefs — Une transparence relative d’utilisation • Windows 2000 EFS (Encrypting File System) est la solution standard fournie par Microsoft EFS Intégration • Driver EFS — Inclus comme une couche dans l’architecture NTFS — Reçoit les clefs du service EFS — Fournit les informations nécessaires au FSRTL pour un fonctionnement transparent – Toutes les communications avec le système de fichier NTFS sont prises en compte • FSRTL — Est une des composantes du driver EFS — Est responsable du chiffrement et du déchiffrement des fichiers • Service EFS — Fait partie intégrante du système de sécurité — Est chargé de la gestion des clefs utilisées pour le chiffrement FSRTL = File System Reparse Tag List Intégration de EFS (Suite) Applications service EFS User mode Win32 layer Kernel mode I/O manager CryptoAPI Communication LPC pour la gestion des clefs EFS driver FSRTL NTFS Disque Chiffrement et déchiffrement des fichiers • Les fichiers sont chiffrés en utilisant une clef symétrique aléatoire — Une clef de chiffrement FEK (File Encryption Key) est générée pour chaque fichier/répertoire, cette clef est utilisée par l’algorithme de chiffrement DESX • La FEK est chiffrée en utilisant la clef publique de tous les agents autorisés. Elle est stockée dans un champ particulier attaché au fichier le DDF — Des copies de la FEK sont chiffrées avec les clefs publiques des « recovery agents » et stockées dans un champ séparé, le DRF • Avant que les fichiers ne puissent être déchiffrés, il faut d’abord déchiffrer la FEK — Lorsqu’un agent autorisé demande à lire le fichier, la clef privée de l’agent est utilisée pour obtenir une copie de la FEK — La FEK est alors utilisée pour déchiffrer le fichier DDF = Data Decryption Field, DRF = Data Recovery Field Cinématique de chiffrement d’un fichier A la claire fontaine … Clef publique de L’utilisateur Chiffrement (DESX) K Génération du DDF (RSA) Générateur de nombre aléatoire Clef de chiffrement générée aléatoirement K RSA = Rivest Shamir Addelson Génération du DRF (RSA) Clef de recouvrement K *#$fjda^j u539!3t t389E *&… DDF DRF Cinématique de déchiffrement d’un fichier *#$fjda^j u539!3t t389E *&… Déchiffrement (DESX) FEK Clef privée de l’utilisateur K K Extraction du DDF (RSA) DDF A la claire fontaine … Le recouvrement de clef dans EFS • Le recouvrement de clef pour un fichier doit être disponible pour les fichiers critiques — Des utilisateurs qui quittent la société — Le recouvrement d’informations critiques doit être disponible • Les agents de recouvrement doivent être mis en place avant le chiffrement des fichiers — Un DRF est créé uniquement pour les agents autorisés au moment du chiffrement — Vous devriez créer un agent de recouvrement générique pour votre société — La politique de recouvrement EFS peut être définie au niveau des stratégies de sécurité • Lors du recouvrement d’un fichier, la clef privée d’un agent de recouvrement est utilisée pour déchiffrer une copie de la FEK qui sera à son tour utilisée pour déchiffrer le fichier Cinématique de recouvrement d’un fichier *#$fjda^j u539!3t t389E *&… Chiffrement (DESX) FEK Clef privée de l’agent de recouvrement K K Extraction du DDF (RSA) DDF A la claire fontaine … Chiffrement pour un groupe d’utilisateur ? • Les données chiffrées doivent souvent être consultées par un groupe de personnes • EFS utilise du chiffrement asymétrique , les certificats sont délivrés uniquement à des individus, pas à des groupes ! — Seul des utilisateurs peuvent utiliser l’EFS ou servir d’agent de récupération • Une note de TechNet: la version initiale de l’EFS ne supporte pas le partage de fichiers — EFS est prévu pour pouvoir le faire — Les utilisateurs peuvent décrypter les fichiers en utilisant leurs clefs Génération automatique de certificat pour EFS • Microsoft à conçu EFS de manière à pouvoir fonctionner sur une machine autonome sans l’aide d’un CA (Certificate Authority) • En l’absence d’une CA, lorsqu’un utilisateur chiffre un fichier pour la première fois — Le service EFS génère automatiquement un certificat EFS et une clef privée — Sans l’aide des fonctions de gestion d’une CA, la gestion d’un tel certificat est assez difficile • Sur une machine autonome, l’agent de récupération par défaut est l’administrateur prédéfini • Dans le contexte d’un domaine, l’agent de récupération par défaut est l’administrateur de domaine prédéfini Génération de certificats par le CA • Une bonne pratique consiste à mettre en place une CA au niveau de l’entreprise avant la mise en œuvre d’un domaine Windows 2000 — Les certificats EFS sont générés automatiquement par la CA lors du premier chiffrement d’un fichier par un utilisateur — Les agents de récupération doivent être mis en place avant le premier chiffrement – Générer un certificat de récupération EFS pour chaque agent – Définir les agents de récupération dans la stratégie de la PKI (Public Key Policy) Stockage des certificats Stockage des certificats (Suite) • Les magasins de certificats contiennent les certificats et leurs caractéristiques — MY— Certificat correspondant à la clef privée de l’utilisateur et associé à son profil — CRLs—Certificate Revocation Lists; Liste des certificats révoqués — CTLs—Certificate Trust Lists; Liste des cas de confiance — Keys—Clefs privées Les utilisateurs nomades et les certificats • EFS est capable de prendre en compte les utilisateurs nomades, à condition que leurs certificats soient disponibles — Les profils itinérants sont le moyen le plus simple de mettre à disposition le dossier MY pour les utilisateurs nomades — Les cartes à puces (Smart Cards) sont le moyen le plus simple et le plus sécurisé pour la mise à disposition des certificats – Le certificat x.509 v3, ainsi que la paire de clef Publique/Privé, sont stockés dans la carte EFSINFO • EFSINFO — Disponible dans le ressource Kit de Windows 2000 — Affiche les informations suivantes sur un fichier chiffré – L’utilisateur qui a chiffré le fichier – L’empreinte du certificat de l’utilisateur – Les agents de récupérations – L’empreinte du certificat des agents de récupération EFSINFO (Suite) • L’empreinte des certificats est particulièrement utile pour savoir quels sont les certificats à importer pour la mise en oeuvre d’une récupération Stratégie de récupération EFS • Un fichier chiffré doit être déchiffré avant d’être copié • Un fichier chiffré doit être récupéré lorsque le compte de l’utilisateur a été supprimé ou que la clef privée est corrompue — Pour plus de simplicité, attribuez un profil itinérant à l’agent de récupération — Pour plus de sécurité sur la clef privée de l’agent – Sauvegardez le fichier chiffré et restaurez-le sur une machine sûre qui contient le certificat de l’agent et sa clef privée – Exportez le certificat de l’agent sur une disquette puis importez-le sur la machine qui contient le fichier chiffré Récupération avec Windows 2000 Backup • L’outil standard de sauvegarde Windows 2000 peut être utilisé pour sauvegarder et restaurer des fichiers chiffrés, c’est une des méthodes de récupération Sauvegarde vers une disquette • La sauvegarde/restauration sur disquette est facile et rapide avec l’outil de sauvegarde standard de Windows 2000 — Supporte les sauvegardes sur plusieurs disquettes Exportation/importation des clefs importantes pour la récupération et la sauvegarde • Les certificats doivent être sauvegardés et stockés en lieu sûr — Pour une sauvegarde complète la clef privée doit aussi être exportée • L’exportation se fait depuis la MMC Options d’exportation • La clef privée associée au certificat peut aussi être exportée • Une protection par mot de passe est demandée dès que l’on exporte la clef privée Importation d’un Certificat • Les certificats exportés ont des extensions particulières • Pour lancer l’assistant d’importation, cliquez avec le bouton droit sur le fichier .PFX • Une fois que le certificat est correctement importé, le fichier peut être récupéré Utilisation d’EFS en ligne de commande • En plus des fonctionnalités accessibles depuis l’interface, plusieurs outils en ligne de commande sont utilisables pour manipuler les fonctions de l’EFS — CIPHER permet le chiffrement et le déchiffrement des fichiers – Peut être utilisé dans des traitements « batchs » EFS Commands: CIPHER Copie de fichiers chiffrés • EFS est disponible seulement sur NTFS v5 — Le chiffrement est perdu si le fichier est copié vers un autre système de fichiers • L’outil de sauvegarde de Windows 2000 peut sauvegarder et restaurer des fichiers chiffrés — Pour être déchiffrés, les fichiers doivent être restaurés sur un système NTFS V5 • Pour ouvrir ou copier un fichier chiffré, l’utilisateur doit : — Avoir les permissions de lecture — Déchiffrer le fichier — En cas d’echec, un message « Accés refusé » est affiché • Contrairement à la logique appliquée aux fichiers « en clair », lorsqu’un fichier chiffré est copié vers un autre volume NTFS V5, il n’hérite pas de l’état de chiffrement du dossier cible, mais reste chiffré Copie de fichiers chiffrés via le réseau • La plupart des utilisateurs ont des données sensibles sur les serveurs — Un fichier chiffré traverse le réseau « en clair » • Un analyseur réseau peut être utilisé pour capturer ces données — Lors de la sauvegarde — Lors de la lecture — Lors de l’impression sur une imprimante du réseau • Windows 2000 permet l’utilisation d’IP Sec pour le chiffrement des données sur le réseau Données capturées sur le réseau (DEMO) Résumé Dans ce chapitre nous avons vu : • La Sécurité des Objets • Les contrôles d’accès sur le système de fichier • Le chiffrement sur le système de fichier