From f166451a8063d8a9b9621b194648033b0343e0cc Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Tue, 20 Jun 2017 03:11:54 +0200 Subject: [PATCH] authentification --- reveal/sysadmin.html | 238 ++++++++++++++++++++++++++----------------- 1 file changed, 147 insertions(+), 91 deletions(-) diff --git a/reveal/sysadmin.html b/reveal/sysadmin.html index 847bf5a..5bad531 100644 --- a/reveal/sysadmin.html +++ b/reveal/sysadmin.html @@ -1185,11 +1185,14 @@ $ docker exec [options] CONTENEUR COMMANDE

Gestion des utilisateurs

-

Utilitaires basiques

- useradd, groupadd, userdel, groupdel, usermod, groupmod, chsh, chfn (paquet passwd sous Debian) -

Utilitaires convivaux

- adduser, addgroup, deluser et delgroup (paquet adduser sous Debian) - Ils tiennent compte de valeurs par défaut dans le fichier /etc/adduser.conf : +

Utilitaires basiques : paquet Debian "passwd"

+ useradd, groupadd, userdel, groupdel, usermod, groupmod, chsh, chfn +
+
+

Gestion des utilisateurs

+

Utilitaires convivaux : paquet Debian "adduser"

+ adduser, addgroup, deluser et delgroup +
Ils tiennent sont configurables via /etc/adduser.conf :
 DSHELL=/bin/bash
 DHOME=/home
@@ -1200,129 +1203,182 @@ DIR_MODE=0750
   
+

« Profil » pour un utilisateur créé

+ +Il se trouve dans le répertoire /etc/skel/
-« Profil » pour un utilisateur créé : -Il se trouve dans le répertoire /etc/skel/ +
+ Les utilisateurs + +
-Les utilisateurs sont identifiés par leur nom de compte et par leur appartenance à un groupe par défaut(informations dans /etc/passwd). En plus, les utilisateurs peuvent appartenir à d'autres groupes (informations /etc/group). - -jdoe@serveur:~$ whoami +
+
+      jdoe@serveur:~$ whoami
 jdoe
-jdoe@serveur:~$ groups
+      jdoe@serveur:~$ groups
 jdoe dialout cdrom floppy audio video plugdev
-jdoe@serveur:~$ id
+      jdoe@serveur:~$ id
 uid=1000(jdoe) gid=1000(jdoe) groupes=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),1000(jdoe)
-jdoe@serveur:~$
-
-Restriction au niveau des procédures de login :
-Fichier  /etc/login.defs :
+    
+
+
+

Restriction de login

+
+      cat /etc/login.defs
 FAIL_DELAY 10 \ delai minimum entre deux tentatives de login
 FAILLOG_ENAB  yes \ journaliser les tentatives ratées
 LOG_UNKFAIL_ENAB yes \ retenir les identifiants iconnus essayés
 LOG_OK_LOGINS yes \ retenir les tentatives réussies
 LOGIN_TIMEOUT  60 \ delai maximim pour authentification
 CHFN_RESTRICT rwh \ restriction pour la commande chfn
+    
+ Complété par… Linux-PAM (à suivre) +
-Complété par... Linux-PAM (Pluggable Authentication Modules) - -Le fichier /etc/shadow contient les informations sécurisées, notamment la plus sensible : le mot de passe, mais également des paramètres d'expiration. Voir la commande vipw -s +
+

/etc/shadow

+ Contient les infos sécurisées, notamment le mot de passe, mais également des paramètres d'expiration. +
# vipw -s
 foo:$1$mYploS2J$uSouKZPBjUF6D094HPgGj/:13853:0:99999:7:::
+    
+
- · nom de connexion de l´utilisateur (« login ») - · mot de passe chiffré - · nombre de jours, comptés à partir du 1er janvier 1970, - depuis le dernier changement de mot de passe - · nombre de jours à attendre avant de pouvoir changer le mot de passe - · nombre de jours après lesquels le mot de passe doit être changé - · nombre de jours avant la fin de validité du mot de passe et pendant - lesquels l´utilisateur est averti - · nombre de jours après la fin de validité provoquant la désactivation du - compte - · nombre de jours, comptés à partir du 1er janvier 1970, depuis que le - compte est désactivé - · champ réservé +
+

Politique de gestion des mots de passe

+ +
-Politique de gestion des mots de passe +
+

Qui est root ?

+ +
-- Mot de passe aléatoire ou quasi-aléatoire -- Trace écrite bannie -- Empêcher mot de passe trop simple pour les utilisateurs: librairie cracklib -- Programme de génération de mot de passe: - otp, apg, makepasswd, pwgen -- Programme pour cracker les mots de passe: - John the Ripper - -Qui est root ? -- UID=0 -- su, su -, su -c -sudo -- Droits délégués (administration partagée, utilisation de scripts, etc.) -- Éditer les droits : commande visudo -- sudo -u, sudo sh -c, - -# apt install sudo -# visudo +
+

sudo

+ +
# apt install sudo
+
+
+

Configuration

+
# visudo
 jdoe ALL = ALL
 jdoe ALL = NOPASSWD: ALL
 jdoe ALL = /usr/sbin/tcpdump
 jdoe ALL = (foo) /bin/kill
 jdoe ALL = (ALL) sudoedit /etc/hosts
+    
+ Pour lister les droits : +
# sudo -l
+
-sudo -l +
+

Système de gestion des utilisateurs

+

!=

+

Système d'authentification des utilisateurs

+
-- Le système de gestion des utilisateurs diffère du système d'authentification des utilisateurs -- Utilisation des UID, GID (pas de réelle nécessité d'avoir une entrée dans /etc/password !!) -- Correspondances UID<->login, GID<->group faites avec la bibliothèque libnss (Name Services Switch). C'est également le cas des noms de services, protocoles, machines (DNS). On peut d'ailleurs voir cela comme un DNS pour les UID/GID. -Voir le fichier /etc/nsswitch.conf : +
+ +
+
+
#cat /etc/nsswitch.conf
 passwd:         compat
 group:          compat
 shadow:         compat
 hosts:          files dns
+
+
-PAM -Mode de fonctionnement très modulaire rendant transparent à l'application l'utilisation de tel ou tel système d'authentification. -Des modules PAM existent pour NIS, LDAP, Kerberos, rendant ainsi les trois systèmes d'authentification interchangeables sans que cela nécessite une reconfiguration des logiciels en eux-même ou encore une recompilation des services. -- Répertoire des fichiers de configuration: - /etc/pam.d/ -- Comportement par défaut: - /etc/pam.d/other. -- Syntaxe des fichiers - "type" "niveau" "module" "arguments" -- /etc/security/access.conf permet de gérer les permissions de login (si activé dans PAM) -- /etc/security/limits.conf permet d'imposer des limites diverses sur les groupes ou les identifiants -Syntaxe des fichiers - "type" "niveau" "module" "arguments" +
+

Pluggable Authentication Module – PAM

+ +
-"type" peut être : -auth : authentification -account : vérification des types de services autorisés -session : tâches à effectuer avant/après l'accès -password : mécanismes d'authentification +
+

Modules PAM

+ +

Ils deviennent interchangeables sans reconfiguration ou recompilation des services.

+
-"niveau" peut être : -required : le succès à cette étape est nécessaire -requisite : le succès est nécessaire et l'accès est refusé en cas d'erreur -sufficient : le succès à cette étape suffit -optional : l'accès pourra etre refusé en fonction d'autres paramètres +
+ +
-Exemple /etc/pam.d/login : - # Authenticate the user - auth required pam_unix.so - # Ensure users account and password are still active - account required pam_unix.so - # Change the users password, but at first check the strength - # with pam_cracklib(8) - password required pam_cracklib.so retry=3 minlen=6 difok=3 - password required pam_unix.so use_authtok nullok md5 - session required pam_unix.so +
+

Syntaxe des fichiers : "type"

+ +
- ACL/QUOTA - TODO +
+

Syntaxe des fichiers : "niveau"

+ +
+ +
+

Exemple /etc/pam.d/login

+
+# Authenticate the user
+auth       required   pam_unix.so
+# Ensure users account and password are still active
+account    required   pam_unix.so
+# Change the users password, but at first check the strength
+# with pam_cracklib(8)
+password   required   pam_cracklib.so retry=3 minlen=6 difok=3
+password   required   pam_unix.so use_authtok nullok md5
+session    required   pam_unix.so
+
+