250 likes | 404 Views
La gestion des utilisateurs. Chaque compte est identifié par un User IDentifier (UID) et par un Group IDentifier L’UID est unique et propre à l’utilisateur Un utilisateur peut appartenir à plusieurs groupes UID et GID déterminent l’appartenance, ce qui permet de définir les droits Exemple
E N D
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs • Chaque compte est identifié par un User IDentifier (UID) et par un Group IDentifier • L’UID est unique et propre à l’utilisateur • Un utilisateur peut appartenir à plusieurs groupes • UID et GID déterminent l’appartenance, ce qui permet de définir les droits • Exemple [ge]$ id uid=500(ge) gid=500(ge) groupes=500(ge)
Master 1 ère année Sécurité des Systèmes Informatique Répertoire d’accueil Nom complet Login UID GID La gestion des utilisateurs Définition des utilisateurs dans /etc/passwd • Deux fichiers définissent les comptes utilisateurs /etc/passwd et /etc/shadow root@dm7020:~> more /etc/passwd ge:x:500:500:MARCADE Gerard:/home/ge:/bin/bash Pour des raisons de sécurité, le mot de passe est stocké dans le fichier /etc/shadow Interpréteur de commandes
Master 1 ère année Sécurité des Systèmes Informatique Champs de contrôle de la durée de vie des mots de passe La gestion des utilisateurs Définition des utilisateurs dans /etc/shadow • Le fichier /etc/shadow n’est lisible que de son propriétaire, c’est-à-dire root. > tail -1 /etc/shadow ge:$1$UO0h9zgg$HU5q6QI.epP8teQF/EV70.:13815:0:99999:7::: Mot de passe chiffré
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Définition des utilisateurs dans /etc/shadow • Le fichier /etc/shadow • Nom de login • Mot de passe crypté • Nombre de jours écoulés depuis le 1er janvier 1970 jusqu'au dernier changement de mot de passe • Nombre de jours durant lesquels le mot de passe est encore valide • Nombre de jours après lesquels le mot de passe doit être changé • Nombre de jours avant l'expiration du mot de passe impliquant l'avertissement de l'utilisateur • Nombre de jours après l'expiration provoquant la désactivation du compte • Numéro du jour depuis le 1er janvier 1970 à partir duquel le compte a été désactivé • Champs réservé
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Définition des utilisateurs dans /etc/shadow • Par exemple: désactivation du login francois à partir du 11 novembre 2007 > tail -2 /etc/shadow ge:$1$UO0h9zgg$HU5q6QI.epP8teQF/EV70.:13815:0:99999:7::: francois:$1$xq0UvE1h$1JJmWzeryVxfNT51lp51B.:13815:0:99999:7::13828: Numéro du jour depuis le 1er janvier 1970 à partir duquel le compte a été désactivé
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Définition des utilisateurs dans /etc/shadow > tail -2 /etc/shadow ge:$1$UO0h9zgg$HU5q6QI.epP8teQF/EV70.:13815:0:99999:7::: francois:$1$xq0UvE1h$1JJmWzeryVxfNT51lp51B.:13815:5:30:10:2::
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Verrouillage d’un compte utilisateur [root@siemens root]# passwd -l francois Locking password for user francois. passwd: Success [root@siemens root]# tail -2 /etc/shadow ge:$1$UO0h9zgg$HU5q6QI.epP8teQF/EV70.:13815:0:99999:7::: francois:!!$1$xq0UvE1h$1JJmWzeryVxfNT51lp51B.:13815:5:30:10:2:: [root@siemens root]# passwd -u francois Unlocking password for user francois. passwd: Success. [root@siemens root]# tail -2 /etc/shadow ge:$1$UO0h9zgg$HU5q6QI.epP8teQF/EV70.:13815:0:99999:7::: francois:$1$xq0UvE1h$1JJmWzeryVxfNT51lp51B.:13815:5:30:10:2::
Master 1 ère année Sécurité des Systèmes Informatique Liste des utilisateurs qui appartiennent au groupe La gestion des utilisateurs Définition des groupes dans /etc/group • Le fichier /etc/group définit les groupes. # grep francois /etc/group users:x:100:francois groupe GID
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Définition des groupes dans /etc/group • La commande groups [root@siemens root]# su - francois [francois@siemens francois]$ groups users [francois@siemens francois]$ exit logout [root@siemens root]# groups root bin daemon sys adm disk wheel
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Squelette de compte utilisateur • Le répertoire /etc/skel est un squelette pour la création des comptes utilisateurs • Placez dans /etc/skel les fichiers et les sous-répertoires que l’on souhaite copier dans le répertoire d’accueil ($HOME )au moment de la création de l’utilisateur • Fichier de configuration du shell • Démarrage de certaines applications • Raccourcis de l’environnement GNOME ou KDE • Lors de la création du compte utilisateur, ces fichiers et sous-répertoires seront copiés dans le répertoire d’accueil du nouvel utilisateur
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Création d’un compte utilisateur • Exemple de création du compte alain # useradd -c "Alain GRANGE" -m alain # grep alain /etc/passwd /etc/shadow /etc/group /etc/passwd:alain:x:502:502:Alain GRANGE:/home/alain:/bin/bash /etc/shadow:alain:!!:13815:0:99999:7::: /etc/group:alain:x:502: • Création du même compte avec un UID choisi # useradd -c "Alain GRANGE" -m alain –u 566
Master 1 ère année Sécurité des Systèmes Informatique Le compte a été déverrouillé La gestion des utilisateurs Affecter un mot de passe • Exemple de création du compte alain # passwd alain Changing password for user alain. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. # grep alain /etc/shadow /etc/shadow:alain:$1$IsbdYT6S$1ioYV87WkV6QrcPZQUh5d0:13815:0:99999:7:::
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Création et suppression de groupes • Créer un nouveau groupe # groupadd compta • Créer un groupe système (GID < 500) # groupadd -r admin • Créer un groupe système dont le GID est choisi # groupadd -g 400 admin # tail -1 /etc/group admin:x:400: • Supprimer un groupe # groupdel admin
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Modifications d’un compte • Créer un nouvel utilisateur en définissant son UID et GID # useradd -c "Frederic LEGOFF" -m fred -u 555 -g 100 • Ajouter fred au groupe users # grep users /etc/group users:x:100:francois # usermod -G users fred # grep users /etc/group users:x:100:francois,fred • Afficher les caractéristiques d’un utilisateur # id fred uid=555(fred) gid=100(users) groupes=100(users)
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Suppression d’un compte • Remplacer l’interpréteur de commandes par un /sbin/nologin # chsh -s /sbin/nologin fred Modification du shell pour fred. Shell a changé.-c "Frederic LEGOFF" -m fred -u 555 -g 100 # grep fred /etc/passwd fred:x:555:100:Frederic LEGOFF:/home/fred:/sbin/nologin • Verrouiller le compte # passwd -l fred Locking password for user fred. passwd: Success grep fred /etc/shadow fred:!!:13815:0:99999:7::: • Rechercher les fichiers appartenant au compte # find / -user fred /var/spool/mail/fred … • Supprimer ou changer la propriété des fichiers du répertoire d’accueil # chown –R alain:alain /home/fred
Master 1 ère année Sécurité des Systèmes Informatique La gestion des utilisateurs Suppression d’un compte • Vérifier si le compte possède une boîte aux lettres • Vérifier si le compte exécute des tâches programmées (cron) • Supprimer le compte # userdel fred • Par ailleurs, on peut rechercher les fichiers appartenant à des comptes et des groupes qui n’existent plus #userdel fred # find /usr/local/ -nouser -o -nogroup /usr/local/bidon # ls -l /usr/local/bidon -rwxr-xr-x 1 555 users 13696 oct 30 00:32 /usr/local/bidon
Master 1 ère année Sécurité des Systèmes Informatique Attribution et choix d'un mot de passe • Tous les comptes doivent avoir un mot de passe • La commande passwd sert à donner un mot de passe à un compte • Le mot de passe doit être difficile à deviner mais facile à retenir (2+UnTrois T,uqucnd) NON • Pas de mot de la langue française (anglaise) • Pas de nombre ou de nom familier (n° SS, petite amie,...) • Pas de noms de personnages ou de film, ... OUI • Insérer des caractères spéciaux ($,&,@,...) • Faire des fautes d'orthographe • Alterner Maj/Min • Insérer un mot dans un autre
Master 1 ère année Sécurité des Systèmes Informatique mots de passe ombres • Permet d'éviter les attaques au dictionnaire • Utilisation d'un fichier /etc/shadowen lecture seule à la place de/etc/passwd • Modification des commandes de bases de manipulation de mots de passe (passwd, ... • Offre un ensemble d'outils supplémentaires tel le vieillissement des mots de passe • Existence de circonstances défavorables à l'utilisation de mots de passe ombre (N.I.S.)
Master 1 ère année Sécurité des Systèmes Informatique Commandes et fonctionnement • Les commandes pwconv et pwunconv permettent la traduction • Le fichier/etc/login.defscontient les paramètres par défaut pour les champs de vieillissement • Veiller à ce que les programmes d'authentification utilisent les mots de passe ombre (ftpd, pop3d, xlock, xdm, su, ...) • La commande passwd voit son rôle étendu • Verrouiller et déverrouiller des comptes (-l et -u), • Définir le nombre de jours de validité d'un mot de passe (-x), • Définir le nombre de jours minimum pour le changement de mot de passe (-n), • Définir le nombre de jours d'alerte concernant l'expiration d'un mot de passe (-w), • Définir le nombre de jours après que le mot de passe soit expiré pour verrouiller le compte (-i), • Permettre de voir les informations concernant un utilisateur dans un format clair (-S).
Master 1 ère année Sécurité des Systèmes Informatique Le fichier login.defs et les commandes automatiques • L’ensemble de commandes de création, modification et suppression d'utilisateurs (useradd, usermod, userdel) utilise le fichier /etc/login.defs • La commande de créationuseraddmanipule le fichier de configuration/etc/default/useradd # more /etc/default/useradd GROUP=100 # Default Group HOME=/home # Home directory location (/home/username) INACTIVE=-1 # Days after password expires to disable account (0=never) EXPIRE=0 # Days that a passwords lasts SHELL=/bin/bash # Default Shell (full path) SKEL=/etc/skel # Skeleton Directory
Master 1 ère année Sécurité des Systèmes Informatique MAIL_DIR /var/spool/mail #MAIL_FILE .mail # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed # between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before # a password expires. # PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 # # Min/max values for automatic uid selection in useradd # UID_MIN 500 UID_MAX 60000 # # Min/max values for automatic gid selection in groupadd # GID_MIN 500 GID_MAX 60000 # # If defined, this command is run when removing a user. # It should remove any at/cron/print jobs etc. owned by # the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local # # If useradd should create home directories for users by default # On RH systems, we do. This option is ORed with the -m flag on # useradd command line. # CREATE_HOME yes Exemple de login.defs
Master 1 ère année Sécurité des Systèmes Informatique Rappel sur les fichiers • /etc/passwd - information sur les comptes utilisateurs • /etc/shadow - information sécurisée sur les comptes utilisateurs • /etc/group - information de groupes • /etc/default/useradd - information par défaut • /etc/login.defs - réglages globaux du système • /etc/skel - répertoire contenant les fichiers utilisés par le programme useradd
Master 1 ère année Sécurité des Systèmes Informatique Vérification de cohérence • pwck vérifie la cohérence des mots de passe • Le nombre correct de champs, • nom unique, • nom et groupe valide, • groupe primaire valide, • répertoire d'accueil valide, • shell valide. • Exemple : # pwck /etc/passwd utilisateur adm : le répertoire /var/adm n'existe pas utilisateur gopher : le répertoire /var/gopher n'existe pas utilisateur wnn : le répertoire /home/wnn n'existe pas pwck: no changes
Master 1 ère année Sécurité des Systèmes Informatique Vérification de cohérence • grpck vérifie la cohérence des groupes • Le nombre correct de champs, • unicité du nom de groupe, • validité de la liste des membres et des administrateurs. • Exemple : # grpck /etc/group
Master 1 ère année Sécurité des Systèmes Informatique Authentification centralisée • LDAP ((Lightweight Directory Access Protocol) • LDAP est un ensemble de protocoles pour accéder aux services d'annuaires • Possibilité de définir un annuaire d’utilisateurs • Configuration de l’authentification à l’aide de PAM • NIS(Network Information Service) • NIS est un système qui fournit des informations sur le réseau (noms d'ouverture de session, mots de passe, répertoires personnels, informations sur les groupes) à tous les ordinateurs d'un réseau. • NIS a été développé par SUN et à l'origine s'appelait YP (Yellow Pages). Yellow Page étant une marque déposé par British Telecom, SUN fut contraint d'utiliser un autre nom: NIS. • Radius • FreeRADIUS est un service d’authentification (daemon) qi omplémente le protocole RADIUS • Il permet différentes authentifications • Des clients RADIUS sont disponibles pour serveur Web, pare-feu, compte Unix, etc…