560 likes | 709 Views
Sécurité de Windows 2000 / NT. Jean-Christophe GALLARD. Plan du Cours. Introduction Registry et Active directory Mécanismes de Sécurité Gestion de la sécurité Outils Sécurisation. Introduction. Introduction. Qu’est ce que Windows 2000 ? Système d’exploitation multitâche GUI natif
E N D
Sécurité de Windows 2000 / NT Jean-Christophe GALLARD
Plan du Cours • Introduction • Registry et Active directory • Mécanismes de Sécurité • Gestion de la sécurité • Outils • Sécurisation
Introduction • Qu’est ce que Windows 2000 ? • Système d’exploitation multitâche • GUI natif • Mécanismes de sécurité • Historique • Evolution du système Windows NT 4.0 • Nom interne de Windows 2000 : Windows NT 5.0 ! • Arrivée de Windows 2000 en février 2000
La base des registres (1/2) • Pourquoi la base des registres ? • Paramétrage du comportement du système • Limite des fichier .INI • Structure hiérarchique centralisée • Entrées de la base des registres = Clefs de registre • Données typées
La base des registres (2/2) • Structure de la base des registres • HKEY_CURRENT_USER • HKEY_USERS • HKEY_LOCAL_MACHINE • Hardware • SAM • Security • Software • System • HKEY_CLASSES_ROOT • HKEY_CURRENT_CONFIG
Retrouver la valeur : lire une entrée à partir d'une clef de registre. Positionner la valeur : définir les entrées dans une clef de registre. Créer une sous-clef : créer une sous-clef sur une clef de registre. Enumérer les sous-clefs : lister les sous-clefs d'une clef de registre. Notifier : auditer les évènements de notification. Créer la liaison : créer une liaison symbolique dans une clef (alias). Supprimer : supprimer la clef sélectionnée. Ecrire le DAC : positionner des ACLs sur une clef. Ecrire le propriétaire : affecter un propriétaire à une clef. Lecture du contrôle : lister les informations de sécurité (ACLs) d'une clef. Sécurité de la BDR : les ACLs
Active Directory (1/4) • Ce n’est pas un système concurrent à la base des registres • Base de données d’annuaire hiérarchique et distribuée, compatible LDAP • Déport de certaines informations jusqu’ici présentes dans la base de registre (SAM) • Présent uniquement dans la version Serveur de Windows 2000
Active Directory (2/4) • Principes de l’Active Directory : • Permet de centraliser la gestion des « forêts » W2K • Assurer l’authentification des usagers • ACLs sur les objets définis dans l’AD • Stockage des données de gestion d’une forêt (utilisateurs, groupes, stratégies de sécurité, profils, certificats…)
Active Directory (3/4) • Structure : • Objets • Unités d’organisation • Domaines • Arbres et Forêts
Active Directory (4/4) • On peut se passer de l’Active Directory mais : • Certaines options de sécurité ne sont actives qu’en présence de l’AD (Dynamic DNS, Authentification IIS, Annuaire Microsoft Exchange…) • Gestion plus contraignante • Meilleure sécurité avec l’AD que sans... • Contraintes : • Cohabitation avec Windows NT 4.0 délicate • Nécessité de parfaitement définir au départ l’organisation : retour en arrière difficile, voire impossible ! • D’où le frein actuel à la mise en œuvre au sein du MinDef
Mécanismes de Sécurité • Architecture • Composants du système de sécurité • Liste des composants • Jeton d’accès • Impersonation • Descripteur de Sécurité • Accès à un objet • Processus d’ouverture de session • Stockage des mots de passe • Authentification réseau • NTFS et les ACLs
Enregistreur du journal des évènements Winlogon LSASS Serveur LSA Serveur SAM Stratégie LSA MSV1_0.DLL SAM Mode utilisateur Mode noyau Exécutif Gestionnaire d ’objets Gestionnaire de sécurité Gestionnaire de processus Services LPC Gestionnaire de mémoire virtuelle Gestionnaire des fenêtres & GDI Gestionnaire E/S Pilotes de périphériques graphiques Noyau HAL (Hardware Abstraction Layer) Matériel Architecture de Windows NT
Architecture de Windows 2000 • Base identique ! • Ajout de composants (support d ’IPSEC, Authentification Kerberos, GPO) • Crypto API repensée et mieux intégrée • Déport de certaines fonctions dans l’AD • Au final, très peu de différences car bases communes !!! • Mais de nombreux outils / mécanismes additionnels
Composants du système de Sécurité • Logon Process (WINLOGON) • Processus d’ouverture de session • NETLOGON • Destiné à assurer l’authentification sur un réseau • SRM (Security Reference Monitor) • Chargé d ’effectuer les vérifications concernant l ’accès aux objets • LSA (Local Security Authority) • Responsable de la stratégie locale de sécurité du système (authentification, privilèges…) • SAM (Security Account Manager Server) : NT/2000 • Active Directory : Windows 2000 • Composants d’authentification • MSV1_0.DLL (NT/2000) • Kerberos.dll (Windows 2000)
Jeton d’accès (1/2) • Un jeton d ’accès (Access Token) est généré au début d’une ouverture de session. • Il servira à représenter l’utilisateur dans ses demandes d’accès aux objets • Contenu • User SID (numéro d’identifiant) • Group SID (uniquement pour sous-Système POSIX) • User Privileges • Default Owner SID • Default DACL • Impersonation Level
Jeton d’accès (2/2) • User SID • Représentation numérique d’un utilisateur (S-1-5-21-1548958964-189547354-1147859600-500 par exemple) • Group SID • Représentation numérique du groupe principal de l’utilisateur (Exemple : S-1-1-0 = Groupe Tout Le Monde) • User Privilèges • Les droits qu ’un utilisateur possède (Changer l ’heure système, arrêter la machine…) • Default Owner SID • Owner SID par défaut • Default DACL • DACL par défaut • Impersonation Level • Niveau d’impersonation (4 niveaux)
Impersonation • Mécanisme comparable au SUID bit sous Unix • Permet à un processus serveur de se lancer en tant qu’un utilisateur donné (= en disposant de son SID) • Intérêt : ne pas avoir à gérer les problèmes de sécurité sur un processus serveur (c’est alors le système qui gère la sécurité)
Descripteur de Sécurité • Associé à TOUT objet sécurisable du système (fichiers, répertoires, ports LPC…) • Contient les informations suivantes : • SID du propriétaire (identifie le propriétaire de l’objet) • SID du groupe (sous-système POSIX uniquement) • DACL : une liste à contrôle d’accès discrétionnaire • SACL : utilisé pour préciser ce qui doit être audité sur cet objet
Accès à un objet • Procédure : • Demande d’accès à l’objet • Le système récupère le Jeton d’Accès du requérant • Le système récupère le Descripteur de Sécurité de l’objet accédé. • Comparaison du Jeton d’Accès avec le Descripteur de Sécurité • Accès autorisé ou refusé.
Processus d’ouverture de session (1/3) • Le but de l'ouverture de session est de fournir à l'utilisateur un jeton d'accès qui contiendra les droits et les SID locaux et globaux relatifs à cet utilisateur.
Processus d’ouverture de session WinNT (2/3) • Saisie des pièces justificatives au travers du processus WINLOGON (Identifiant, mot de passe) • Passage au LSA pour vérification des autorisations • Le LSA passe ces informations au Default Authentication Package (MSV1_0)... • …qui interroge le SAM pour vérification des pièces dans la base SAM • Renvoi du résultat à l’exécutif de Windows NT… • …qui génère le jeton d’accès de l’utilisateur… • ...et ouvre la session utilisateur.
Processus d’ouverture de session W2000 (3/3) • Le principe de base reste identique (principe du Winlogon)… • Mais la vérification des pièces d’authentification est implémentée au travers de Kerberos V5 • En cas d’environnement mixte (clients W2K et serveurs WinNT), W2K supporte les anciens schémas d’authentification de NT 4.0
Stockage des mots de passe NT (1/2) • Dans une base spécialisée : la base SAM • Le mot de passe n’est JAMAIS inscrit en clair dans la SAM • Il est stocké chiffré sous 2 formats différents : • Format Lan Manager (mécanisme faible, pour compatibilité Win 3.1x / Win 95 / win 98)) • Format Natif Windows NT (MD4)
Stockage des mots de passe NT (2/2) • Vérification du mot de passe : • Le mot de passe saisi est chiffré sous les deux formes, • puis comparé aux données de la SAM • Faiblesses du mécanisme : • Pas de « salage » = un même mot de passe sera toujours chiffré de la même façon • La seule possession des cryptogrammes suffit à assurer une authentification sur un serveur distant • => La base SAM DOIT ETRE PROTEGEE !!!
Stockage des mots de passe W2K • Dans l’Active Directory • Structure interne non documentée • Il n’existe pas (pour l’heure) d’outil permettant de récupérer les authentifiants dans l’AD, pour procéder à un cassage des mots de passe « offline »
Authentification sur un réseau NT • Utilisation d’un mécanisme de Défi/ Réponse
L ’authentification dans Windows 2000 • Suit le protocole Kerberos V5 • Le client doit récupérer un jeton (Ticket Granting Ticket ou TGT) auprès d’un serveur spécialisé (Key Distribution Center) • Ce jeton lui servira à demander un jeton de service (Ticket Granting Service)… • …qui lui permettra d’accéder aux ressources d’un serveur pour le service considéré
NTFS et les ACLs (1/3) • Système de fichier NTFS : • directement inspiré du système HPFS (OS/2) • Gestion des fichiers… • ...mais aussi, et surtout, gestion des permissions • Tolérance aux fautes (mécanisme d’accès transactionnel)
NTFS et les ACLs (2/3) • Les ACLs (Listes à Contrôle d’accès) : • R (Read) • Répertoire : permet de lister le contenu d’un répertoire • Fichier : permet de lire le contenu d’un fichier • W (Write) • Répertoire : permet d’ajouter des fichiers et de créer des sous-répertoires • Fichier : permet de modifier le contenu d’un fichier • X (eXecution) • Répertoire : permet de traverser un répertoire (cd) • Fichier : permet d’exécuter un fichier si c’est un programme • D (Delete) • Répertoire : permet d’effacer répertoire et sous-répertoire • Fichier : permet d’effacer un fichier • P (Permissions) • Répertoire : permet de modifier les permissions d’un répertoire • Fichier : permet de modifier les permissions d’un fichier • O (change Owner) • Répertoire : permet de s’approprier un répertoire • Fichier : permet de s’approprier un fichier
NTFS et les ACLs (3/3) • Les permissions standards :
NTFS dans Windows 2000 • Reprise des ACLs existantes • Introduction de la notion d’héritage dynamique des propriétés de sécurité • Chaque objet dispose maintenant de deux ACLs : • son ACL propre (comme dans WinNT) • une ACL héritée de l’objet parent • Possibilité de blocage de l’héritage • Encrypted File System (EFS)
Gestion de la sécurité • Domaines Windows NT / Domaine Windows 2000 • Gestion des utilisateurs • journalisation d’évènements
Domaines Windows NT • Un domaine Windows NT est un ensemble de machines partageant des ressources communes • Articulé autour d’un serveur principal de domaine (PDC) et, éventuellement, de N serveurs secondaires (BDC) • Avantages : • Base des utilisateurs unique et centralisée • Centralisation de la politique de sécurité • Notion d’approbation de domaines
Domaines / Forêts Windows 2000 • Un domaine Windows 2000 est un ensemble d’objets regroupés dans une structure commune • Une forêt est constitué d’un ou plusieurs domaines • Articulé autour de serveurs sans relation hiérarchique (pas de maîtres…sauf pour certains rôles particuliers) • Au sein d’une forêt, tous les domaines de la forêts sont en relation d’approbation bidirectionnelles et transitives • Une forêt = Un Active Directory unique
Gestion des utilisateurs • Droits des utilisateurs permissions • Groupes • Stratégies de compte • Profils utilisateurs • Stratégies systèmes et GPOs
Les outils d’aide à l’administration • Audit du système • Détection d’intrusion • Combler les failles • Service Pack et Hot-Fixes • Outils tiers • Antivirus • Divers
Audit du système • But : Récolter des informations sur ses vulnérabilités • Produits d’audit • Produits ISS, • Cybercop Scanner, • Nessus • Satan et les autres • Sniffers réseau • Ethereal • Sniffer Pro • Port Scanning
Détection d’intrusion • Permettre aux administrateurs de savoir si son système est attaqué • Deux approches : • Comportementale • Par scénario
Combler les failles • Services Pack • Releases majeures du système • Hot-Fixes • Releases mineures du système • Se présentent sous la forme d ’archives auto-extractibles • Autres Outils • Microsoft Security Config Editor (MSSCE) • Stratégies Systèmes : WinNT • Group Policy Objects (GPO) : Windows 2000 => une extension de la notion de Stratégies Systèmes de Windows NT
Antivirus • Se protéger contre les virus • Nécessité d’avoir un moteur et des bases de signatures récentes • Privilégier les systèmes de mise à jour automatiques
Divers • Les « Ressource Kit » • Craqueurs de mots de passe (L0phtcrack, john-th-ripper) • => crack pas utile en soit, si ce n’est pour la sensibilisation des personnels
Sécurisation de Windows NT / 2000 • Généralités • Installation du système • Application des Services Pack • Application des Hot-fixes • Base des registres • Modification des permissions par défaut • Stratégies Systèmes et GPO
Définir ce que l’on désire protéger Se doter d’une politique de sécurité Faire les bons choix dès le départ Savoir s’entourer Sauvegarder ! Gérer les mots de passe Mettre en œuvre l’audit du système Déployer des antivirus Protéger les serveurs Tester son réseau Généralités