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