Module 13
Transcription
Module 13
RSX112 – Sécurité et réseaux Module 13 – Sécurité des OS Windows et Unix 1 © CNAM 2007-13/EBU Résumé séance précédente • SSL • S/Mime • PGP 2 © CNAM 2007-13/EBU Introduction à la gestion des droits sous Windows • Gestion d’objets – – – – Fichiers Processus Clés de la base de registre … • Windows 2000 gère 27 types d’objets différents • Pour chaque objet : un descripteur de sécurité – Définit quels types d’accès sont autorisés ou interdits – A quelles entités • Identification des entités – Structure de longueur variable : le SID (identifiant de sécurité) – Représenté par une chaîne de caractères de la forme S-R-IXXX-XXX-XXX – Exemple, « Administrateur » : S-1-5-21-XXXX-XXXX-XXXX500 3 © CNAM 2007-13/EBU Fonctionnement théorique • Contrôle d’accès par un processus sur un objet – Se fait à l’ouverture de celui-ci – N’est plus contrôlé par la suite – Conséquences • Fichier ouvert avec droits de lecture-écriture pour un utilisateur donné, ces droits persistent même si on lui retire le droit d’écriture entre-temps • À l’inverse, si l’accès à un fichier est donné à un utilisateur après qu’il a tenté d’y accéder sans succès, ce droit ne sera utilisable qu’après déconnexion et reconnexion de l’utilisateur. • Permission d’ouverture traitée par le SRM (Security Reference Monitor, Moniteur de Référence de Sécurité) – Vérification des droits d’accès – Génération des messages d’audit • Accès à un objet accordé sur la base de – Permissions demandées lors de l’ouverture – Descripteur de sécurité de l’objet accédé – Autorisations du processus demandant l’accès 4 © CNAM 2007-13/EBU Permissions demandées (1/2) • • • Processus fait une demande d’accès pour un objet Intègre le type d’accès Utilisation du paramètre dwDesiredAccess - masque de permission – – – – • Permissions standard Permissions spécifiques Permissions génériques Indicateurs complémentaires Permissions standard – Appliquées à tous les objets – Cinq possibilités : • • • • • 5 Suppression de l’objet Lecture du contenu du descripteur de sécurité Changement du propriétaire de l’objet Changement de la liste de contrôle d’accès à l’objet Autorisation de se synchroniser sur l’objet © CNAM 2007-13/EBU Permissions demandées (2/2) • Permissions spécifiques – Propres au type d’objet concerné – Exemple : autorisation pour un processus de terminer un autre processus • Permissions génériques – – – – Lecture Écriture Exécution Les trois ensemble • Regroupement des permissions standard et spécifiques – Par exemple, permission de lecture sur un fichier donne la permission de lire le descripteur de sécurité, de lire le fichier… 6 © CNAM 2007-13/EBU Descripteur de sécurité • Chaîne de caractères – Associée à tous les objets susceptibles d’être sécurisés – Contient • SID du propriétaire • Liste des accès discrétionnaire (DACL) • Liste de contrôle d’accès système (SACL) • Droits du propriétaire – Lire et modifier la liste des accès discrétionnaires (DACL) de l’objet • DACL – Contient une liste d’entrées de contrôle d’accès (ACE) – Indique les accès possibles pour quels SID – Les SID peuvent être des entités uniques (des utilisateurs), des groupes locaux ou globaux. – Entrées de contrôle d’accès positives (autorisation) ou négatives (interdiction) 7 © CNAM 2007-13/EBU Stockage des descripteur de sécurité sous Windows 2000 • Différence entre NT et 2000 – Constat : droits NTFS souvent identiques dans un répertoire voire un volume tout entier – Chaque fichier contient le même descripteur = perte de place – W2K : fichier central propre au système • • • • • $Secure Centraliser les descripteurs de sécurité Hash d'un nouveau Stockage unique descripteur de sécurité Deux index : $SDH et $SII appliqué à un fichier ou un répertoire Canal de données $SDS Identifiant de Sécurité NTFS lu dans l'attribut $STANDARD_INFORMATION lors de la vérification de sécurité d'un fichier ou d'un répertoire Canal de données $SDS Index $SDH Hash 1 Adresse $SDS Descripteur de sécurité 0 Hash 2 Adresse $SDS Descripteur de sécurité 1 Hash 0 Adresse $SDS ... Descripteur de sécurité 2 Index $SII Identifiant Sécurité NTFS 0 Adresse $SDS Identifant Sécurité NTFS 2 Adresse $SDS Identifiant Sécurité NTFS 1 Adresse $SDS ... ... 8 © CNAM 2007-13/EBU Création et mise à jour du descripteur de sécurité • • • • • Identifiant unique interne affecté par le système à chaque descripteur de sécurité Calcul du condensé du descripteur de sécurité (hash) Index $SDH relie condensé et localisation dans $SDS Index $SII relie identifiant interne et localisation du descripteur dans $SDS Pour appliquer un descripteur de sécurité à un fichier ou un répertoire – – – – – • Calcul du condensé du descripteur Vérification via l’index $SDH de l’existence S’il existe, recherche de la valeur du descripteur dans $SDS Vérification du contenu (identique au nouveau) Sinon, la recherche continue sur le condensé Si descripteur existe – Utilisation de $SII pour rechercher l’identifiant interne – Copie de l’identifiant interne dans l’attribut $STANDARD_INFORMATION • Si descripteur n’existe pas – – – – 9 Il est nouveau et unique Affectation d’un nouvel identifiant interne Ajout du contenu $SDS Mise à jour des $SDH et $SDI © CNAM 2007-13/EBU Utilisation du descripteur • Pour l’accès à un fichier – Lecture de l’identifiant interne $STANDARD_INFORMATION – Utilisation de l’index $SII – Récupération du contenu dans $SDS • Pas d’information effacée dans le fichier $Secure – Nombre de descripteurs de sécurité différents faible • Identifiants internes sur 32 bits vs SID plusieurs fois cette taille 10 © CNAM 2007-13/EBU Configuration des droits en pratique • Clic avec le bouton droit sur un objet (fichier, répertoire, …) • Clic sur « propriétés » puis « Sécurité » • Utilisation de « xcacls » ou « subinacl » 11 © CNAM 2007-13/EBU Droits possibles sur fichiers/répertoires Permissions spéciales Parcourir le dossier/Exécuter le fichier Liste du dossier/Lecture de données Attributs de lecture Lire les attributs étendus Création de fichiers/Écriture de données Création de dossiers/Ajout de données Attributs d’écriture Écriture d’attributs étendus Suppression de sous-dossiers et de fichiers Supprimer Autorisations de lecture Modification des autorisations Appropriation 12 Contrôle Lecture et Afficher le contenu Lecture Écriture Modifier total exécution du dossier X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X © CNAM 2007-13/EBU Application des droits Appliquer les permissions au dossier courant Appliquer les Appliquer les Appliquer les Appliquer les permissions aux permissions aux permissions à tous permissions aux sous-dossiers du fichiers du dossier les sous-dossiers fichiers et à tous les répertoire courant courant sous-dossiers Ce dossier seulement Ce dossier, les sous-dossiers et les fichiers X X X Ce dossier et les sous-dossiers X X Ce dossier et les fichiers X X Les sous-dossiers seulement X 13 X, si la case à cocher est vierge X, si la case à cocher est vierge X Les sous-dossiers et les fichiers seulement Fichiers seulement X X X X, si la case à cocher est vierge X, si la case à cocher est vierge X, si la case à cocher est vierge X, si la case à cocher est vierge X, si la case à cocher est vierge X, si la case à cocher est vierge © CNAM 2007-13/EBU Droits sur autres objets • Imprimante – – – – Impression Gestion de l’imprimante Gestion des documents Modification des autorisations de lecture – Modification des autorisations – Appropriation • Objet Active Directory – – – – – – – – – 14 Créer un enfant Supprimer un enfant Lire les propriétés Écrire les propriétés Lister le contenu S’écrire lui-même Supprimer l’arbre Lister l’objet Contrôler l’accès • Clé de la base de registre – – – – – – – – – – Retrouver la valeur Définir la valeur Créer une sous-clé Énumérer les sous-clés Avertir Créer la liaison Supprimer DAC d’écriture Propriétaire de l’écriture Contrôle de lecture © CNAM 2007-13/EBU Droits sur LSA et SAM • LSA (Local Security Authority) • SAM (Security Access Management) 15 © CNAM 2007-13/EBU Appartenance d’un objet • • • • • • Gérée par un onglet de l’interface des propriétés avancées d’un fichier Permet la sélection d’un nouveau propriétaire Possibilité pour le propriétaire d’un objet de modifier les permissions quels que soient les droits protégeant cet objet Fin de la limitation de l’appropriation Windows NT (changement de propriétaire uniquement vers l’utilisateur courant) Plus de « pouvoir » aux administrateurs Héritage plus systématique des droits du niveau supérieur – Lié aux descripteurs de sécurité – Par défaut, les objets (fichiers ou répertoire) héritent des droits du répertoire dans lesquels ils se trouvent – Modifiable par la case « Permettre aux autorisations pouvant être héritées du parent d’être propagées à cet objet » – Possibilité de choisir pour les droits existants • Recopie • Suppression • Gestion différentes des droits – Copie <> déplacement – Copie : droits appliqués : répertoire de destination – Déplacement : conservation des droits NTFS si interne à une partition. Sinon, application des droits du répertoire d’arrivée 16 © CNAM 2007-13/EBU Exceptions et cas particuliers • Suppression de fichiers – Possibilité pour un utilisateur de supprimer des fichiers dans un répertoire sur lequel il a contrôle total indépendamment des droits sur ces fichiers – Compatibilité POSIX – Interdire explicitement la suppression si fichiers critiques • Application de nouveaux droits – Nécessité de déconnexion puis reconnexion de l’utilisateur concerné • Duplication de SID – Normalement pas de génération d’identifiant de sécurité (SID) identiques pour deux objets différents • Réservation de rgoupes de SID • Nouveau réservé lorsque le précédent utilisé à 80 % • Si réplication/déconnexion de contrôleurs, possibilité qu’un même SID soit affecté à des objets différents • Problème pour les audits et les droits – « Ntdsutil » proposé par Microsoft pour la détection et la correction des SID dupliqués 17 © CNAM 2007-13/EBU Protection des fichiers : EFS • NTFS insuffisant dans certains cas – Appliqué par le système d’exploitation d’origine – Redémarrage de la machine sur un OS différent – Possibilité d’accès aux fichiers indépendamment des droits NTFS • EFS permet – Chiffrement de fichiers ou de répertoires à la volée (transparent) pour l’utilisateur – Possibilité de chiffrer un fichier ou un répertoire pour plusieurs utilisateurs – Possibilité de récupération en cas de départ de l’utilisateur ou de perte de sa clé – Fichiers temporaires chiffrés automatiquement – Localisation des clés privées et secrètes en mémoire non paginée 18 © CNAM 2007-13/EBU Principe de fonctionnement EFS • Besoin de chiffrement d’un fichier • Génération d’une clé de chiffrement aléatoire( FEK - File Encryption Key) • Longueur de 128 bits • Algorithme utilisé : DES amélioré (appelé DESX) (Win2k) 3DES (XP) AES (XP SP1) • Choix d’algorithme dans HKLM\Software\Microsoft\Windows NT\CurrentVersion\EFS\AlgorithmID – – – – 0x6603 -> 3DES (Windows XP et au delà) 0x6604 -> DESX (Windows 2000 et au delà) 0x6610 -> AES_256 (Windows XP SP1 et au delà) Si aucune clef n'existe, DESX • FEK chiffrée avec – la clé publique de l’utilisateur – la clé publique des agents de récupération • Ensemble est scellé et associé au fichier 19 © CNAM 2007-13/EBU Schéma de principe EFS Données sensibles Chiffrement DESX mé"61'~\ {[`dkjz$*$^#fluik&n""àgm1( "_àé'(tnbvsqdazlé127vo Information EFS Version Générateur de clé aléatoire Checksum Clé de chiffrement de fichier (FEK) Data Decryption Field (DDF) Champs DDF Clé DDF 1 SID Utilisateur Nom du container Nom du fournisseur Clé publique Utilisateur 1 Clé publique Utilisateur 2 Chiffrement de clé (RSA) Hash du certificat EFS FEK Chiffrée Chiffrement de clé (RSA) Clé DDF 2 Data Recovery Field (DRF) Clé publique Agent recouvrement 20 Chiffrement de clé (RSA) Champs DRF Clé DRF 1 © CNAM 2007-13/EBU Implémentation système Windows Service EFS Applications Crypto API Couche Win32 Mode utilisateur Communications LPC pour la gestion des clés Gestion d'entrées/ sorties Mode noyau Driver EFS Routines FSRTL NTFS Disque Dur 21 © CNAM 2007-13/EBU Processus de chiffrement (1/2) • 1. Chargement du profil utilisateur dans la base de registre, si nécessaire • 2. Création d’un fichier de log nommé efsX.log – Dans le répertoire caché System Volume Information – X est un numéro unique – Ecriture dans ce fichier au fur et à mesure du déroulement du chiffrement des fichiers ou répertoires – Permet en cas d’échec ou d’interruption de récupérer les fichiers • 3. Génération d’une clé de 128 bits (FEK) • 4. Lecture de la clé de registre – HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion \EFS\CurrentKeys\CertificateHash – Récupération de la valeur d’identification du couple de clé (clé privée/clé publique) à utiliser • 5. Création du champ DDF en chiffrant FEK avec la clé publique de l’utilisateur • 6. Création du champ DRF en chiffrant FEK avec la clé publique des différents agents de récupération 22 © CNAM 2007-13/EBU Processus de chiffrement (2/2) • 7. Création d’une copie de secours efsX.tmp dans le répertoire où se situe le fichier à chiffrer • 8. Ajout des champs DDF et DRF dans un en-tête ajouté au fichier, dans l’attribut adequat • 9. Indicateur de chiffrement positionné à 1 pour la copie de secours et copie du fichier original vers la copie • 10. Destruction du fichier original et copie du contenu de la copie de secours dans le fichier original – Permet le chiffrement des données puisque la copie de secours est marquée comme étant chiffrée • 11. Suppression de la copie de secours • 12. Suppression du fichier de log • 13. Déchargement du profil utilisateur de la base de registre (si chargé à l’étape 1) 23 © CNAM 2007-13/EBU Points complémentaires • Sauvegarde et archivage – Fonctions particulières prévues pour accéder aux fichiers chiffrés – Permettre la copie par exemple pour la sauvegarde • Mise à jour des en-têtes – Renouvellement du bi-clé (révocation ou fin de validité) – Fonction de vérification de l’en-tête et de remise à jour lors de l’ouverture d’un fichier • Mise en cache – Echanges inter-couches applicatives peuvent être longs – Mise en œuvre de fonctions de mise en cache des FEK déchiffrées – Evite de remettre en œuvre tout le processus si plusieurs actions sont à effectuer sur le même fichier – Recherche dans le cache sur la base du SID de l’utilisateur et du condensé (hash) de l’en-tête EFS – Conservation des FEK mises en cache depuis les 5 dernières secondes – Autres FEK sont considérées comme non valides et supprimées 24 © CNAM 2007-13/EBU EFS concrètement • Interface graphique • Ligne de commande – « cipher » – Permet d’effacer les secteurs où se situaient les données en clair – La suppression standard ne supprime que l’entrée dans la table d’allocation 25 © CNAM 2007-13/EBU Récupération • Possibilité de définir les agents de récupération – Domaine – OU (unité d’organisation AD) – Machine • Configuration – Nécessité d’un champ KeyUsage avec la valeur « Récupération de clé » – Au moins un agent de récupération doit être défini 26 © CNAM 2007-13/EBU Limites EFS • • Objectif majeur EFS : protéger les portables contre le vol Faiblesses – Impossibilité de chiffrer l’ensemble d’un système de fichiers • • – Configuration par défaut d’EFS • • – Données de cette copie pas physiquement supprimées du disque lors de la suppression du fichier Si le répertoire est marqué comme étant chiffré, la création de la copie de secours est directement chiffrée Chiffrement et compression incompatibles • Si les deux options sont sélectionnées seul le chiffrement sera appliqué – DLL, drivers et composants du système ne peuvent être chiffrés – Chiffrement local • • • – Pas de précision sur les critères utilisés par EFS pour définir si un fichier peut ou non être chiffré Chiffrement d’un fichier sur un volume NTFS distant : protection locale Pas lors de son transfert sur le réseau jusqu’au poste client (utilisation de SMB avec données en clair) Pas de protection contre la suppression • 27 Permet à un utilisateur de se connecter même si le contrôleur de domaine n’est pas accessible Attaquant peut tenter de les récupérer y compris les clés privées étant stockées localement (elles ne sont pas exportables) Création d’une copie de sauvegarde lors du processus de chiffrement • • – Nécessaire pour pouvoir déchiffrer les données en cas de problème pour l’utilisateur Clé largement utilisée – Objectif privilégié d’un attaquant Mise en cache les éléments d’authentification • • – Configurations par défaut permettant au système de fonctionner dans tous les cas de figures Faille de sécurité importante Agent de récupération • • – Chiffrement est limité à certains dossiers ou fichiers Volontaire de la part de Microsoft, qui empêche même les composants du système (DDL, drivers…) d’être chiffrés Possibilité pour un attaquant de supprimer un fichier chiffré par quelqu’un d’autre sans avoir les clés privées nécessaires pour y accéder, à condition qu’il ait les droits NTFS adéquats. © CNAM 2007-13/EBU Scénario d’attaque EFS • Machine Windows seule n’appartenant pas à un domaine Windows • Première étape : la machine est volée – Premier objectif de l’attaquant : parvenir à se connecter au système – Beaucoup de méthodes – Possibilité d’installer une nouvelle version de Windows dans un autre répertoire – Accès aux fichiers non chiffrés (notamment base SAM des utilisateurs et mots de passe) – Crack de mots de passe – Autres possibilités : ntpasswd • Démarrage noyau linux • Modification mot de passe admin • Deuxième étape : déchiffrer les fichiers sensibles, protégés par EFS – Agent de récupération par défaut : administrateur de la machine – Connexion en tant qu’administrateur donne accès à tous les fichiers 28 © CNAM 2007-13/EBU Recommandations de mise en œuvre • Chiffrer un répertoire – Définir un répertoire où toutes les données doivent être chiffrées – Les fichiers sont créés directement chiffrés • Clé de récupération – Sauvegarde de sécurité de la clé permettant la récupération – Mise en lieu sûr et de l’effacer de la machine – Le seul problème réside dans le fait que les clés privées des utilisateurs (notamment de l’administrateur) ne sont pas exportables. De toutes manières, étant connecté en tant qu’administrateur, il est aisé de changer le mot de passe de l’utilisateur ayant chiffré ses données, afin de se connecter à sa place et de déchiffrer les données. • Recommandation Microsoft : Utiliser l’outil syskey permettant de protéger le mot de passe de l’administrateur – Contournable avec ntpasswd – Options de sécurisation • Stockage de la clé de de déchiffrement des mots de passe sur support amovible • Saisie d’un mot de passe « master » au démarrage • Ntpasswd ne peut rien faire – Attention à la complexification d’exploitation (au démarrage / récupération en cas de perte) • Connexion de la machine à un réseau Windows – Par défaut, agent de récupération = administrateur du domaine – Donc clé de récupération pas physiquement présente sur les machines visées 29 © CNAM 2007-13/EBU Gestion des utilisateurs (1/2) • Limitation des droits des utilisateurs – Machines autorisées pour la connexion – Heures autorisées de connexion – Autorisation du contrôle à distance 30 © CNAM 2007-13/EBU Gestion des utilisateurs (2/2) – Autorisation de l’accès à distance – Limitation des sessions dans le temps – Configuration du compte 31 © CNAM 2007-13/EBU Gestion des mots de passe • • • • • • • 32 « Conserver l’historique des mots de passe » : Nombre d’anciens mots de passe mémorisés par le système, non réutilisable (max 24 sous Windows 2000) « Durée de vie maximale du mot de passe » : durée maximale avant changement du mot de passe « Durée de vie minimale du mot de passe » : durée minimale avant que l’utilisateur puisse changer son mot de passe lorsqu’il vient de le changer « Les mots de passe doivent respecter des exigences de complexité » : mots de passe doivent contenir au moins 1 caractère de 3 des 4 catégories suivantes : majuscules, minuscules, chiffres, caractères non-alphanumériques « Longueur minimale du mot de passe » : nombre minimal de caractères du mot de passe « Stocker le mot de passe en utilisant un cryptage réversible pour tous les utilisateurs du domaine » : chiffrement réversible des empreintes de mots de passe « Empêcher le changement du mot de passe » : Possibilité d’empêcher les utilisateurs de changer leur mot de passe sauf quand Windows le demande (ex. à l’expiration de celui-ci) © CNAM 2007-13/EBU Verrouillage des comptes • « Durée de verrouillage de compte » : délai avant déverrouillage automatique (0 impose l’action de l’admin) • « Réinitialiser le compteur de verrouillage après » : délai avant remise à zéro du compteur du nombre de tentatives infructueuses • « Seuil de verrouillage du compte » : nombre de tentatives infructueuses avant verrouillage du compte • Compte administrateur – Normalement pas de verrouillage – Possibilité d’utiliser l’outil « passprop » 33 © CNAM 2007-13/EBU Droits utilisateurs 34 © CNAM 2007-13/EBU Options de sécurité 35 © CNAM 2007-13/EBU Actualités sécurité (1/2) • Yoggie Pico : 9 logiciels intégrés dans une clé USB • Mise à jour problématique MS « Live One Care » vers 1.6 – Plus de possibilité de mise à jour des signatures • Arrestation de Robert Soloway – « Roi du Spam » – Offre commerciale : 20 millions de spam pendant 15 jours pour 495$ – Risque 65 ans de prison et 250 000$ d’amende • Correction de failles de sécurité Firefox – Une critique – V 2.0.0.4 et 1.5.0.12 • Nouvelle clé AACS (HD-DVD) – 128 bits – De nouveau trouvée dans les 24h • Fichiers iTunes sans DRM – Contiennent quand même nom, prénom, adresse, … 36 © CNAM 2007-13/EBU Actualités sécurité (2/2) • Phishing téléphonique – Numéro appelant d’une banque réelle – Message pré-enregistré – Informe les pseudo-clients de la désactivation de leur compte s'ils n'appellent pas un numéro particulier afin de confirmer leurs informations personnelles • Faille dans PHP 5.2.3 – Dépassement de buffer dans la fonction « chunk_split() » • Faille IIS 5.0 – – – – – • • • • Outrepasse l’authentification Connue depuis fin 2006 Microsoft décrit comment l’utiliser ! Correctif proposé par MS : upgrade vers IIS 6.0 Contournements possibles Symantec détecte Spybot comme cheval de Troie Proof of concept d’un virus sur OpenOffice qui fonctionnent sur l’ensemble des plateformes faisant tourner OOO Mise à jour de certains plugins Firefox non sécurisée (cf. démo) Deux failles sous IE + deux failles sous Firefox – Une critique et une moyenne chacun 37 © CNAM 2007-13/EBU Gestion des utilisateurs Unix • La liste des utilisateurs du système est généralement dans le fichier /etc/passwd accessible en lecture à tous les utilisateurs • Le mot de passe chiffré est rangé dans le fichier /etc/shadow • Le fichier /etc/shadow ou son équivalent n'est pas accessible aux utilisateurs – Le mot de passe même chiffré n'est plus accessible à la lecture • Le changement de mot de passe s'effectue par la commande passwd (yppasswd dans le cas de NIS) qui demande l'ancien mot de passe avant de demander deux fois le nouveau 38 © CNAM 2007-13/EBU Authentification • Le mot de passe n'existe qu'en version chiffrée avec un algorithme non réversible • Le chiffrement du mot de passe peut utiliser différents algorithmes : – DES (Data Encryption Standard) modifié avec une graine de 2 caractères et 25 iterations • les mots de passe sont limités à 8 caractères • MD5 (Message Digest 5) avec une graine de 2 à 8 caractères et 32 itérations – Durant la vérification du mot de passe, la comparaison s'effectue toujours sur le mot de passe chiffré 39 © CNAM 2007-13/EBU Module d’authentification • • • • • Evolution des mécanismes d’authentification Nécessité de modifier à chaque fois les différents programmes utilisant l’authentification Utilisation de PAM - Pluggable Authentication Module Pour chaque PAM, fichier de configuration dans le répertoire /etc/pam.d Chacun de ces fichiers est composé de 4 colonnes : – type de module : • • • • auth : authentification de l'utilisateur (Unix, SMB, LDAP...) account : gestion des utilisateurs (ex : restrictions horaires) session : tâches à effectuer en début et fin de chaque session password : mise à jour du jeton d'authentification de l'utilisateur – contrôle de réussite : • • • • required : la réussite d'au moins un des modules required est nécessaire requisite : la réussite de tous les modules requisite est nécessaire sufficient : la réussite d'un seul module sufficient est suffisant optional : la réussite d'au moins un des modules required est nécessaire si aucun autre n'a réussi – chemin du module, en général dans /usr/lib/security . – arguments optionnels • 40 /etc/pam.d/other fournit les configurations par défaut pour tout type de module non spécifié dans le fichier de configuration de l'application © CNAM 2007-13/EBU Droits d’accès sous Unix • Sur un système Unix, l'utilisateur possède : – un login, – un UID : numéro d'identification de l'utilisateur (compris entre 0 et 65535), – un GID principal : numéro d'identification du groupe (aussi sur 16 bits). – zéro, un ou plusieurs GID secondaires : numéros d'identification de groupe • Tout utilisateur d'UID 0 (zéro) est considéré comme administrateur et possède un accès sans restriction à l'ensemble du système • Les autres utilisateurs sont astreints aux contrôles d'accès • La définition des droits d'accès pour un utilisateur repose essentiellement sur son UID et ses GID • Il est possible de changer de groupe principal par la commande « newgrp » • Il est possible de changer d'identité par la commande « su » 41 © CNAM 2007-13/EBU Permissions sur les fichiers • Les permissions permettent de contrôler l'accès aux fichiers • Les permissions sont composées : – – – – – – un propriétaire un groupe un type d'objet les droits d'accès au propriétaire les droits d'accès au groupe les droits d'accès aux autres • un fichier peut être de type normal (-), répertoire (d), bloc (b), caractère (c), tube nommé (p), socket (s) ou lien symbolique (l) • les droits d'accès sont composés de 3 bits : lecture (r), écriture (w), exécution (x) • Un quatrième bit peut être présent : s pour l'utilisateur et le groupe, t pour les autres 42 © CNAM 2007-13/EBU Droits spéciaux • Sticky bit – – – – Comportement différent pour les fichiers exécutables et les répertoires Lettre t ou numériquement à 1000 Si les droits d'exécution ne sont pas positionnés c'est la lettre T qui correspond les fichiers exécutables - le programme restera en mémoire pour une exécution ultérieure – les répertoires - seul le propriétaire pourra supprimer ses fichiers (c'est le cas des répertoires /tmp et /var/tmp sous GNU/Linux) • Les droits d'endossement – SetUID et SetGID – Droits d'endossement • la lettre s (si le droit x est positionné) • la lettre S (si le droit x n'est pas positionné) • Numériquement les droit d'endossement sont représentés de la façon suivante : – – 4000 - pour l'endossement de l'identité du propriétaire 2000 - pour l'endossement de l'identité du groupe – Comportement des droits d'endossement • Pour les fichiers programme ou exécutable – – SUID = 4000 - le processus a les droits du propriétaire du programme exécuté SGID = 2000 - le processus a les droits du groupe du programme exécuté • Pour les répertoires – SGID = 2000 - les fichiers qui se trouvent dans le répertoire appartiennent au groupe du répertoire – Importance pour la sécurité • Droit d’accès à une commande plutôt qu’à un fichier • Exécution de la commande : le noyau prend l'identité du propriétaire ou du groupe de la commande au lieu de celle de l'utilisateur qui a lancé la commande 43 © CNAM 2007-13/EBU Utilisation du suid • A la connexion, un utilisateur a – – – • • • • Au moment de l'exécution d'une commande les UID et GID sont les réels, les effectifs sont attribués à la commande Si pas de droits d'endossement : UID et GID effectifs sont identiques aux UID et GID réels Si droits d'endossement : UID et/ou GID effectifs sont ceux de la commande Liste des fichiers avec les droits d'endossement – • 2 UID (UserIDentity) 2 GID (GroupIDentity) A chaque fois : un réel et un effectif # find / -perm -2000 -o -perm -4000 -exec ls -l {} \; 2>/dev/null Exemple : commande crontab – – – Crée un fichier dans /var/spool/cron/crontabs pour l'utilisateur qui a exécuté la commande crontab Accès au répertoire /var/spool/cront/crontabs interdit aux utilisateurs sauf root Utilisateur lance commande crontab -e (pour éditer son fichier /var/spool/cron/crontabs/nom_user), exécution avec UID et GID réels de l'utilisateur mais avec l'UID et GID effectifs de root $ ls -l /usr/bin/crontab -rwxr-sr-x 1 root crontab 26872 2004-07-28 22:44 /usr/bin/crontab – – – – 44 On voit que la commande crontab est la propriété de root et qu'elle fait partie du groupe crontab avec le droit SGID Root a le droit de créer dans /var/spool/cron/crontabs le fichier sera créé Utilisateur lami20j : propriétaire du fichier + droits de lecture et d'écriture Pas utilisables directement © CNAM 2007-13/EBU ACL • En complément des droits « standards » • ACL comprend plusieurs entrées unitaires • Chaque entrée individuelle comprend : – tag qui précise une identité d'utilisateurs – tag optionnel d'utilisateurs ou groupes – la liste de permissions accordées 45 © CNAM 2007-13/EBU Algorithme de calcul des droits 46 © CNAM 2007-13/EBU