Académique Documents
Professionnel Documents
Culture Documents
Chapitre 3 Chapitre 3
Chapitre 3 Chapitre 3
PAM
1
P.A.M - centralisation
2
P.A.M - découplage
enfichables (P.A.M.)
L'administrateur système peut alors définir une
stratégie d'authentification sans devoir
recompiler des programmes d'authentification.
PAM permet de contrôler la manière dont les
modules sont enfichés dans les programmes en
modifiant un fichier de configuration.
5
Configuration
On peut mettre l'ensemble de la configuration
dans /etc/pam.conf ou bien avoir un fichier
par service dans /etc/pam.d/ (par défaut).
Configuration
7
Ahmed Toumanari
Configuration
8
Ahmed Toumanari
Configuration
Les modules appelés dans les différents
fichiers de configuration se trouvent dans
/lib/security.
On trouve dans /etc/security des fichiers
complémentaires suivant qui sont utilisés par
certaines modules:
access.conf utilisé par le module pam_access.so
group.conf utilisé par le module pam_group.so
limits.conf utilisé par le module pam_limits.so
time.conf utilisé par le module pam_time.so
pam_env.conf utilisé par le module pam_env.so
console.apps utilisé par le module pam_console.so 9
...
Ahmed Toumanari
Configuration
Il y a une petite différence si on utilise le
fichier /etc/pam.conf ou le répertoire
/etc/pam.d mais le principe est le même.
Le fichier /etc/pam.conf contient une
colonne supplémentaire qui identifie le
service
11
Ahmed Toumanari
La troisième colonne est l’indicateur de
contrôle. Il peut prendre les valeurs
suivantes :
Configuration
13
Ahmed Toumanari
Modules (/lib/security)
pam_cracklib : permet d'accepter ou de rejeter un mot
de passe, si celui-ci se trouve dans un dictionnaire (
/usr/lib/cracklib.pwd ). Il permet aussi de tester que le
mot de passe est robuste.
Vous pouvez le faire suivre des paramètres suivants
15
Ahmed Toumanari
$ vi /etc/security/time.conf
login ; * ; ensa;MoTuWeThFr0800-2000
http ; * ; ensa;Al0000-2400 16
Ahmed Toumanari
Exemple /etc/security/limits.conf
<domain> <type> <item> <value>
<domain> : utilisateur ou group d'utilisateur
<type> : soft ou hard limit
<item> : ce que tu veux controler/limiter
<value> : la valeur de cette limite
Le répertoire /etc/pam.d
-rw-r--r-- 1 root root 330 aoû 14 2003 chfn
-rw-r--r-- 1 root root 330 aoû 14 2003 chsh
-rw-r--r-- 1 root root 125 sep 18 2003 cups
-rw-r--r-- 1 root root 225 sep 18 2003 halt
-rw-r--r-- 1 root root 157 aoû 14 2003 kbdrate
-rw-r--r-- 1 root root 380 sep 18 2003 kde3
-rw-r--r-- 1 root root 222 sep 13 2003 kppp
-rw-r--r-- 1 root root 287 sep 18 2003 kscreensaver3
-rw-r--r-- 1 root root 427 aoû 14 2003 login
-rw-r--r-- 1 root root 225 sep 19 2003 net_monitor
-rw-r--r-- 1 root root 210 sep 1 2003 other
-rw-r--r-- 1 root root 169 jui 21 2003 passwd
-rw-r--r-- 1 root root 182 sep 18 2003 pmsuspend2
-rw-r--r-- 1 root root 225 sep 18 2003 poweroff
-rw-r--r-- 1 root root 204 aoû 13 2003 ppp
-rw-r--r-- 1 root root 225 sep 18 2003 reboot
-rw-r--r-- 1 root root 254 sep 1 2003 secure-mcserv
-rw-r--r-- 1 root root 384 sep 18 2003 simple_root_authen
-rw-r--r-- 1 root root 659 aoû 3 2003 su
-rw-r--r-- 1 root root 278 jui 18 2003 sudo
-rw-r--r-- 1 root root 573 mar 10 2004 system-auth
-rw-r--r-- 1 root root 386 sep 10 2003 xdm
-rw-r--r-- 1 root root 157 sep 10 2003 xserver
24
Ahmed Toumanari
Exemple
N'autoriser que certains utilisateurs à effectuer la
commande su vers l'utilisateur root (ceux du
groupe wheel)
/etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so group=wheel
25
Ahmed Toumanari
Exemple - login
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_unix.so shadow nullok
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_unix.so shadow nullok use_authtok
session required /lib/security/pam_unix.so
26
Exercice
1- Créez un utilisateur ensa2. Ne pas lui donner de mot de passe.
Dans une autre console, se loguer avec ce compte. Peut il se loguer ?
2- Dans /etc/pam.d/login modifier la ligne :
auth required /lib/security/pam_unix.so shadow nullok
en enlevant nullock, essayez de vous reloguer avec le compte précédent. Que
remarquez vous?
3- Créer un fichier vide :
touch /etc/nologin.
Essayez de vous connecter avec le compte ensa2. Que remarquez vous?
4-Soit le fichier /etc/pam.d/su
auth sufficient pam_rootok.so
auth required pam_unix.so
account requisite pam_time.so
account required pam_unix.so
session required pam_unix.so
Et le fichier /etc/security/time.conf:
su;*;*;!Su0000-2400
a- « root » est-il obligé d’entrer le mot de passe lors de l’utilisation de su. Sinon
comment faire en sorte qu’il soit obligé de l’entrer.
b– les utilisateurs peuvent t-ils utiliser « su » pendant toute la semaine, sinon
27
pourquoi ?
Ahmed Toumanari
Pam-ification d’application
28
Ahmed Toumanari
29
Ahmed Toumanari
#include <security/pam_appl.h>
#include <security/pam_misc.h>
#include <stdio.h>
}
Ahmed Toumanari
//controle du nombre d'argument du programme
if(argc > 2) {
fprintf(stderr, "Usage: nom_service [username]\n");
exit(1);
}
32
Ahmed Toumanari
33