SlideShare une entreprise Scribd logo
Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Authentification PAM
Gestion des clients réseau
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Linux LPIC2 noelmace.com
Plan
• Introduction
• Configuration des services
• Modules et services
• Types de fonctionnalités
• Contrôle
• Modules
 pam_unix
 pam_cracklib
• pam_cracklib : exemples
 pam_limits
• pam_limits : configuration
 pam_listfile
Linux LPIC2 noelmace.com
Introduction
• Pluggable Authentication Modules
 librairies + API pour l'authentification
 standard sous GNU/Linux
 permet de définir la politique d'authentification d'une application indépendamment de celle-ci
• et de manière centralisée
 utilisé par un grand nombre de programmes
• ex : login et su
• Un peu d'histoire
 /etc/passwd → /etc/shadow
 /etc/passwd → autres bases de données (ex : ldap)
• nécessité de réécrire login et chaque logiciel utilisant l'authentification
 externalisation du processus d'authentification
Linux LPIC2 noelmace.com
Configuration des services
• /etc/pam.d/
 un fichier par service
 ou pam.conf le cas échéant
• ajout d'une première colonne "service"
• Syntaxe
 évaluées dans leur ordre d'apparition
• Exemple
type control module-path module-argumentstype control module-path module-arguments
#%PAM-1.0 : login service
auth required pam_nologin.so
auth required pam_access.so
...
account required pam_stack.so service=system-auth password
required pam_stack.so
...
#%PAM-1.0 : login service
auth required pam_nologin.so
auth required pam_access.so
...
account required pam_stack.so service=system-auth password
required pam_stack.so
...
Linux LPIC2 noelmace.com
Modules et services
• PAM est (comme son nom l'indique) divisé en modules
 chacun couvrant une fonction particulière
 capable d'être liée dynamiquement à une application fournissant un service
• La configuration consiste donc à déterminer quel sera le
comportement d'un (ou plusieurs) modules pour un service
 ex : le service login nécessite l’absence du fichier no_login (module
pam_nologin)
auth required pam_nologin.soauth required pam_nologin.so
Linux LPIC2 noelmace.com
Types de fonctionnalités
• un module offre des fonctionnalités
 réparties en groupes
 chaque module pouvant offrir des fonctionnalités dans un ou plusieurs de ces groupes
• 4 groupes indépendants
 Account: vérification des comptes
• validité du mot de passe, autorisations d'accès, etc ...
 Authentification : vérification de l'identité de l'utilisateur
• mot de passe, carte à puce, contrôle rétinien, etc ...
 Password : mise à jour des mécanismes d'authentification
• ex : entrer un nouveau mot de passe
• fortement lié au groupe Authentication
 Session : tâches à effectuer avant et après un service
• ex : montage du répertoire personnel de l'utilisateur
•
• défini le périmètre d'action de chaque fonctionnalité d'un module
Linux LPIC2 noelmace.com
Contrôle
• 4 types :
 requisite : termine immédiatement le service en cas d'echec
 required : en cas d’échec, retourne une erreur après que tout les
autres modules aient été invoqués
 sufficient : valide le processus d'authentification en cas de succès
• même si d'autres modules ont auparavant échoués
 optional : n'est pris en compte que si il s'agit de l'unique module
associé au service
Linux LPIC2 noelmace.com
Modules
• pam_unix
 authentification via /etc/passwd et /etc/shadow
• pam_cracklib
 vérification de la sécurité d'un mot de passe
• dictionnaire et autres paramètres
• pam_limits
 limite des ressources accessibles via une session
• à partir de /etc/security/limits.conf puis limits.d/
• pam_listfile
 autorise ou interdit une action en fonction d'un listfile
Linux LPIC2 noelmace.com
pam_unix
Type Description
account établir le statut du compte et du mot de passe en se basant sur les
éléments shadow (expire, last_change, max_change, min_change,
warn_change)
auth vérification du mot de passe (n’autorise aucun accès en cas de mot
de passe vide)
password mise à jour du mot de passe
session journalisation des accès
• Documentation (sag) :
http://www.linux-pam.org/Linux-PAM-html/sag-pam_unix.html
Linux LPIC2 noelmace.com
pam_cracklib
• Module password uniquement
• Options
 difok : nombre minimum de caractères permettant de différencier un nouveau mot de passe d'un ancien
• 5 par défaut
 minlen : taille minimale du nouveau mot de passe
• 9 par défaut
 Crédits : nombre minimal d’occurrence d'un certain type de caractère
• si N>0 : permet de diminuer la taille minimale requise de maximum N caractères si le type de caractère est utilisé
• si N< 0 : indique exactement le nombre minium de caractères du type, sans impacte sur la taille minimale total
• 1 par défaut
- dcredit : nombre minimal de chiffres
- ucredit : nombre minimal de lettres majuscules
- lcredit : nombre minimal de lettres minuscules
- ocredit : nombre minimal de caractères spéciaux (autre que majuscule, minuscule ou chiffre)
• Documentation : http://www.linux-pam.org/Linux-PAM-html/sag-pam_cracklib.html
Linux LPIC2 noelmace.com
pam_cracklib : exemples
• crédits positifs
 le mot de passe doit être composé de
• 14 caractères si il n'est composé que de caractères minuscules
• 9 caractères si, en plus des lettres minuscules, il est composé d'au moins une majuscule,
deux chiffres et deux caractères
• crédits négatifs
 le mot de passe doit être composé d'au moins un caractère spécial, un chiffre et une lettre
majuscule, pour une taille minimale de 8 caractères
password required pam_cracklib.so difok=3 minlen=15 dcredit= 2 ocredit=2
password required pam_unix.so use_authtok nullok md5
password required pam_cracklib.so difok=3 minlen=15 dcredit= 2 ocredit=2
password required pam_unix.so use_authtok nullok md5
password required pam_cracklib.so 
dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8
password required pam_unix.so use_authtok nullok md5
password required pam_cracklib.so 
dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8
password required pam_unix.so use_authtok nullok md5
Linux LPIC2 noelmace.com
pam_limits
• fichiers /etc/security/limits.conf et /etc/security/limits.d/*.conf
 cf LPIC1 - Sujet 110.1 : Tâches d'administration de sécurité
 affecte tout les utilisateurs, y compris root
• module session uniquement
• Documentation : sag-pam_limits
Linux LPIC2 noelmace.com
• domain : entité pour laquelle les limites s'appliquent
 nom d'utilisateur
 nom de groupe (@groupname)
 tout le monde (*)
• type : hard ou soft limit
 hard : ne peu être depassée
• mise en place par l'admin
 soft : peu être dépassée temporairement
 - : hard ET soft
• value : valeur à appliquer
• Exemple :
pam_limits : configuration
• item : quel type d'item est affecté (généralement en Ko)
 core : taille des "core files"
• dump de l'état d'un processus en mémoire lors d'un arrêt brutal
• pour debugging
 data : taille des données programme
 fsize : taille des fichiers créés par l'utilisateur
 nofile : nombre de fichiers ouverts
 rss : resident set size maximal
• portion de la mémoire processus stockée en mémoire
 nproc : nombre de processus concurrents
 maxlogins : nombre maximum de sessions simultanés
 priority : process priority
 cpu : temps cpu d'un seul processus, en minutes
<domain> <type> <item> <value><domain> <type> <item> <value>
@limited hard cpu 2@limited hard cpu 2
Linux LPIC2 noelmace.com
pam_listfile
• Options
 item=[tty|user|rhost|ruser|group|shell]
• types d'éléments contenus par le fichier et devant être vérifiés
 file=/path/filename
• fichier liste
 sense=[allow|deny]
• action à réalisé si l'élément est présent dans le fichier
 onerr=[succeed|fail]
• que faire en cas d'erreur
• ex : ouverture du fichier impossible
• Exemples
 interdire l'accès à une liste d'utilisateurs
 autoriser l'accès à une liste d'utilisateurs
• Documentation : sag-pam_listfile
auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/ftpusersauth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/ftpusers
auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/loginusersauth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/loginusers
Linux LPIC2 noelmace.com
Ce qu’on a couvert
• Fichiers, termes et utilitaires de configuration de PAM
 /etc/pam.d et pam.conf
• Modules essentiels de PAM
 pam_unix, pam_cracklib, pam_limits et pam_listfile
Weight : 3
Description : The candidate should be able to configure PAM to support
authentication using various available methods.
210.2 PAM authentication
Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
 partager — reproduire, distribuer et communiquer cette œuvre
 remixer — adapter l’œuvre
Selon les conditions suivantes :
 Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
 Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
 Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.

Contenu connexe

Tendances

08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2
Noël
 
APACHE HTTP
APACHE HTTPAPACHE HTTP
APACHE HTTP
Rachid NID SAID
 
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
SmartnSkilled
 
Cours 70 410-1
Cours 70 410-1Cours 70 410-1
Cours 70 410-1
Mohamed Diallo
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
Taoufik AIT HSAIN
 
33435307 administration-sous-linux
33435307 administration-sous-linux33435307 administration-sous-linux
33435307 administration-sous-linux
donzerci
 

Tendances (6)

08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2
 
APACHE HTTP
APACHE HTTPAPACHE HTTP
APACHE HTTP
 
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
Support formation vidéo : Réussir la certification Linux LPIC-1 (1)
 
Cours 70 410-1
Cours 70 410-1Cours 70 410-1
Cours 70 410-1
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
 
33435307 administration-sous-linux
33435307 administration-sous-linux33435307 administration-sous-linux
33435307 administration-sous-linux
 

En vedette

Mule access management - Managing Environments and Permissions
Mule access management - Managing Environments and PermissionsMule access management - Managing Environments and Permissions
Mule access management - Managing Environments and Permissions
Shanky Gupta
 
Anypoint access management - Roles
Anypoint access management - RolesAnypoint access management - Roles
Anypoint access management - Roles
Shanky Gupta
 
What Permissions Does Your Database User REALLY Need?
What Permissions Does Your Database User REALLY Need?What Permissions Does Your Database User REALLY Need?
What Permissions Does Your Database User REALLY Need?
Denim Group
 
Presentation on Federated identity and Access Management
Presentation on Federated identity and Access ManagementPresentation on Federated identity and Access Management
Presentation on Federated identity and Access Management
okoliec
 
Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinID
Michel-Marie Maudet
 
Enterprise & Web based Federated Identity Management & Data Access Controls
Enterprise & Web based Federated Identity Management & Data Access Controls Enterprise & Web based Federated Identity Management & Data Access Controls
Enterprise & Web based Federated Identity Management & Data Access Controls
Kingsley Uyi Idehen
 
IAM
IAM IAM
06 04 arp
06 04 arp06 04 arp
06 04 arpNoël
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegardeNoël
 
06 05 résolution de nom
06 05 résolution de nom06 05 résolution de nom
06 05 résolution de nomNoël
 
Les attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui AmineLes attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui Amine
Zellagui Amine
 
06 03 route
06 03 route06 03 route
06 03 routeNoël
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfacesNoël
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dnsNoël
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl
Noël
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
Sylvain Maret
 
SSL/TLS : Faille Heartbleed
SSL/TLS : Faille HeartbleedSSL/TLS : Faille Heartbleed
SSL/TLS : Faille Heartbleed
Thomas Moegli
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logsNoël
 
Les processus IAM
Les processus IAMLes processus IAM
Les processus IAM
Marc Rousselet
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration
Bee_Ware
 

En vedette (20)

Mule access management - Managing Environments and Permissions
Mule access management - Managing Environments and PermissionsMule access management - Managing Environments and Permissions
Mule access management - Managing Environments and Permissions
 
Anypoint access management - Roles
Anypoint access management - RolesAnypoint access management - Roles
Anypoint access management - Roles
 
What Permissions Does Your Database User REALLY Need?
What Permissions Does Your Database User REALLY Need?What Permissions Does Your Database User REALLY Need?
What Permissions Does Your Database User REALLY Need?
 
Presentation on Federated identity and Access Management
Presentation on Federated identity and Access ManagementPresentation on Federated identity and Access Management
Presentation on Federated identity and Access Management
 
Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinID
 
Enterprise & Web based Federated Identity Management & Data Access Controls
Enterprise & Web based Federated Identity Management & Data Access Controls Enterprise & Web based Federated Identity Management & Data Access Controls
Enterprise & Web based Federated Identity Management & Data Access Controls
 
IAM
IAM IAM
IAM
 
06 04 arp
06 04 arp06 04 arp
06 04 arp
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegarde
 
06 05 résolution de nom
06 05 résolution de nom06 05 résolution de nom
06 05 résolution de nom
 
Les attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui AmineLes attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui Amine
 
06 03 route
06 03 route06 03 route
06 03 route
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfaces
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
 
SSL/TLS : Faille Heartbleed
SSL/TLS : Faille HeartbleedSSL/TLS : Faille Heartbleed
SSL/TLS : Faille Heartbleed
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logs
 
Les processus IAM
Les processus IAMLes processus IAM
Les processus IAM
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration
 

Similaire à 10 02 authentification PAM

LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeNoël
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxNoël
 
systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124
loffyhacker
 
08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)
Noël
 
sshGate
sshGatesshGate
sshGate
LINAGORA
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichierNoël
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
Microsoft Technet France
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
Cours 70 410 - J5
Cours 70 410 - J5Cours 70 410 - J5
Cours 70 410 - J5
Mohamed Diallo
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiques
Noel GUILBERT
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dnsNoël
 
Boot
BootBoot
TPPPPPP gestion utilisateurs et groupes.pdf
TPPPPPP gestion utilisateurs et groupes.pdfTPPPPPP gestion utilisateurs et groupes.pdf
TPPPPPP gestion utilisateurs et groupes.pdf
sbailaanmydriss
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Normandy JUG
 
objectif101.3.pptx
objectif101.3.pptxobjectif101.3.pptx
objectif101.3.pptx
zinapfe2020
 
10 03 clients ldap
10 03 clients ldap10 03 clients ldap
10 03 clients ldap
Noël
 
Lin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationLin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationCERTyou Formation
 
Administration unix
Administration unixAdministration unix
Administration unix
HICHAM SAAF
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
Eric D.
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
MedBechir
 

Similaire à 10 02 authentification PAM (20)

LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité système
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124
 
08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)
 
sshGate
sshGatesshGate
sshGate
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
Cours 70 410 - J5
Cours 70 410 - J5Cours 70 410 - J5
Cours 70 410 - J5
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiques
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns
 
Boot
BootBoot
Boot
 
TPPPPPP gestion utilisateurs et groupes.pdf
TPPPPPP gestion utilisateurs et groupes.pdfTPPPPPP gestion utilisateurs et groupes.pdf
TPPPPPP gestion utilisateurs et groupes.pdf
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
objectif101.3.pptx
objectif101.3.pptxobjectif101.3.pptx
objectif101.3.pptx
 
10 03 clients ldap
10 03 clients ldap10 03 clients ldap
10 03 clients ldap
 
Lin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administrationLin08 formation-linux-debian-administration
Lin08 formation-linux-debian-administration
 
Administration unix
Administration unixAdministration unix
Administration unix
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 

Plus de Noël

LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingNoël
 
LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacronNoël
 
LPIC1 10 05 at
LPIC1 10 05 atLPIC1 10 05 at
LPIC1 10 05 atNoël
 
LPIC1 10 03 cron
LPIC1 10 03 cronLPIC1 10 03 cron
LPIC1 10 03 cronNoël
 
LPIC1 10 02 temps
LPIC1 10 02 tempsLPIC1 10 02 temps
LPIC1 10 02 tempsNoël
 
LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 killNoël
 
LPIC1 09 05 priorités
LPIC1 09 05 prioritésLPIC1 09 05 priorités
LPIC1 09 05 prioritésNoël
 
LPIC1 09 04 bg fg
LPIC1 09 04 bg fgLPIC1 09 04 bg fg
LPIC1 09 04 bg fgNoël
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 topNoël
 
LPIC1 09 02 ps
LPIC1 09 02 psLPIC1 09 02 ps
LPIC1 09 02 psNoël
 
LPIC1 09 01 intro
LPIC1 09 01 introLPIC1 09 01 intro
LPIC1 09 01 introNoël
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevelsNoël
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2Noël
 
LPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyLPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyNoël
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrageNoël
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mountNoël
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsckNoël
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfsNoël
 
LPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsLPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsNoël
 
LPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsLPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsNoël
 

Plus de Noël (20)

LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et nating
 
LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacron
 
LPIC1 10 05 at
LPIC1 10 05 atLPIC1 10 05 at
LPIC1 10 05 at
 
LPIC1 10 03 cron
LPIC1 10 03 cronLPIC1 10 03 cron
LPIC1 10 03 cron
 
LPIC1 10 02 temps
LPIC1 10 02 tempsLPIC1 10 02 temps
LPIC1 10 02 temps
 
LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 kill
 
LPIC1 09 05 priorités
LPIC1 09 05 prioritésLPIC1 09 05 priorités
LPIC1 09 05 priorités
 
LPIC1 09 04 bg fg
LPIC1 09 04 bg fgLPIC1 09 04 bg fg
LPIC1 09 04 bg fg
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 top
 
LPIC1 09 02 ps
LPIC1 09 02 psLPIC1 09 02 ps
LPIC1 09 02 ps
 
LPIC1 09 01 intro
LPIC1 09 01 introLPIC1 09 01 intro
LPIC1 09 01 intro
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevels
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2
 
LPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyLPIC1 08 02 grub legacy
LPIC1 08 02 grub legacy
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrage
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mount
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsck
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfs
 
LPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsLPIC1 07 17 tune2fs
LPIC1 07 17 tune2fs
 
LPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsLPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fs
 

Dernier

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (6)

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

10 02 authentification PAM

  • 1. Linux LPIC2 noelmace.com Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Authentification PAM Gestion des clients réseau Licence Creative Commons Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
  • 2. Linux LPIC2 noelmace.com Plan • Introduction • Configuration des services • Modules et services • Types de fonctionnalités • Contrôle • Modules  pam_unix  pam_cracklib • pam_cracklib : exemples  pam_limits • pam_limits : configuration  pam_listfile
  • 3. Linux LPIC2 noelmace.com Introduction • Pluggable Authentication Modules  librairies + API pour l'authentification  standard sous GNU/Linux  permet de définir la politique d'authentification d'une application indépendamment de celle-ci • et de manière centralisée  utilisé par un grand nombre de programmes • ex : login et su • Un peu d'histoire  /etc/passwd → /etc/shadow  /etc/passwd → autres bases de données (ex : ldap) • nécessité de réécrire login et chaque logiciel utilisant l'authentification  externalisation du processus d'authentification
  • 4. Linux LPIC2 noelmace.com Configuration des services • /etc/pam.d/  un fichier par service  ou pam.conf le cas échéant • ajout d'une première colonne "service" • Syntaxe  évaluées dans leur ordre d'apparition • Exemple type control module-path module-argumentstype control module-path module-arguments #%PAM-1.0 : login service auth required pam_nologin.so auth required pam_access.so ... account required pam_stack.so service=system-auth password required pam_stack.so ... #%PAM-1.0 : login service auth required pam_nologin.so auth required pam_access.so ... account required pam_stack.so service=system-auth password required pam_stack.so ...
  • 5. Linux LPIC2 noelmace.com Modules et services • PAM est (comme son nom l'indique) divisé en modules  chacun couvrant une fonction particulière  capable d'être liée dynamiquement à une application fournissant un service • La configuration consiste donc à déterminer quel sera le comportement d'un (ou plusieurs) modules pour un service  ex : le service login nécessite l’absence du fichier no_login (module pam_nologin) auth required pam_nologin.soauth required pam_nologin.so
  • 6. Linux LPIC2 noelmace.com Types de fonctionnalités • un module offre des fonctionnalités  réparties en groupes  chaque module pouvant offrir des fonctionnalités dans un ou plusieurs de ces groupes • 4 groupes indépendants  Account: vérification des comptes • validité du mot de passe, autorisations d'accès, etc ...  Authentification : vérification de l'identité de l'utilisateur • mot de passe, carte à puce, contrôle rétinien, etc ...  Password : mise à jour des mécanismes d'authentification • ex : entrer un nouveau mot de passe • fortement lié au groupe Authentication  Session : tâches à effectuer avant et après un service • ex : montage du répertoire personnel de l'utilisateur • • défini le périmètre d'action de chaque fonctionnalité d'un module
  • 7. Linux LPIC2 noelmace.com Contrôle • 4 types :  requisite : termine immédiatement le service en cas d'echec  required : en cas d’échec, retourne une erreur après que tout les autres modules aient été invoqués  sufficient : valide le processus d'authentification en cas de succès • même si d'autres modules ont auparavant échoués  optional : n'est pris en compte que si il s'agit de l'unique module associé au service
  • 8. Linux LPIC2 noelmace.com Modules • pam_unix  authentification via /etc/passwd et /etc/shadow • pam_cracklib  vérification de la sécurité d'un mot de passe • dictionnaire et autres paramètres • pam_limits  limite des ressources accessibles via une session • à partir de /etc/security/limits.conf puis limits.d/ • pam_listfile  autorise ou interdit une action en fonction d'un listfile
  • 9. Linux LPIC2 noelmace.com pam_unix Type Description account établir le statut du compte et du mot de passe en se basant sur les éléments shadow (expire, last_change, max_change, min_change, warn_change) auth vérification du mot de passe (n’autorise aucun accès en cas de mot de passe vide) password mise à jour du mot de passe session journalisation des accès • Documentation (sag) : http://www.linux-pam.org/Linux-PAM-html/sag-pam_unix.html
  • 10. Linux LPIC2 noelmace.com pam_cracklib • Module password uniquement • Options  difok : nombre minimum de caractères permettant de différencier un nouveau mot de passe d'un ancien • 5 par défaut  minlen : taille minimale du nouveau mot de passe • 9 par défaut  Crédits : nombre minimal d’occurrence d'un certain type de caractère • si N>0 : permet de diminuer la taille minimale requise de maximum N caractères si le type de caractère est utilisé • si N< 0 : indique exactement le nombre minium de caractères du type, sans impacte sur la taille minimale total • 1 par défaut - dcredit : nombre minimal de chiffres - ucredit : nombre minimal de lettres majuscules - lcredit : nombre minimal de lettres minuscules - ocredit : nombre minimal de caractères spéciaux (autre que majuscule, minuscule ou chiffre) • Documentation : http://www.linux-pam.org/Linux-PAM-html/sag-pam_cracklib.html
  • 11. Linux LPIC2 noelmace.com pam_cracklib : exemples • crédits positifs  le mot de passe doit être composé de • 14 caractères si il n'est composé que de caractères minuscules • 9 caractères si, en plus des lettres minuscules, il est composé d'au moins une majuscule, deux chiffres et deux caractères • crédits négatifs  le mot de passe doit être composé d'au moins un caractère spécial, un chiffre et une lettre majuscule, pour une taille minimale de 8 caractères password required pam_cracklib.so difok=3 minlen=15 dcredit= 2 ocredit=2 password required pam_unix.so use_authtok nullok md5 password required pam_cracklib.so difok=3 minlen=15 dcredit= 2 ocredit=2 password required pam_unix.so use_authtok nullok md5 password required pam_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8 password required pam_unix.so use_authtok nullok md5 password required pam_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8 password required pam_unix.so use_authtok nullok md5
  • 12. Linux LPIC2 noelmace.com pam_limits • fichiers /etc/security/limits.conf et /etc/security/limits.d/*.conf  cf LPIC1 - Sujet 110.1 : Tâches d'administration de sécurité  affecte tout les utilisateurs, y compris root • module session uniquement • Documentation : sag-pam_limits
  • 13. Linux LPIC2 noelmace.com • domain : entité pour laquelle les limites s'appliquent  nom d'utilisateur  nom de groupe (@groupname)  tout le monde (*) • type : hard ou soft limit  hard : ne peu être depassée • mise en place par l'admin  soft : peu être dépassée temporairement  - : hard ET soft • value : valeur à appliquer • Exemple : pam_limits : configuration • item : quel type d'item est affecté (généralement en Ko)  core : taille des "core files" • dump de l'état d'un processus en mémoire lors d'un arrêt brutal • pour debugging  data : taille des données programme  fsize : taille des fichiers créés par l'utilisateur  nofile : nombre de fichiers ouverts  rss : resident set size maximal • portion de la mémoire processus stockée en mémoire  nproc : nombre de processus concurrents  maxlogins : nombre maximum de sessions simultanés  priority : process priority  cpu : temps cpu d'un seul processus, en minutes <domain> <type> <item> <value><domain> <type> <item> <value> @limited hard cpu 2@limited hard cpu 2
  • 14. Linux LPIC2 noelmace.com pam_listfile • Options  item=[tty|user|rhost|ruser|group|shell] • types d'éléments contenus par le fichier et devant être vérifiés  file=/path/filename • fichier liste  sense=[allow|deny] • action à réalisé si l'élément est présent dans le fichier  onerr=[succeed|fail] • que faire en cas d'erreur • ex : ouverture du fichier impossible • Exemples  interdire l'accès à une liste d'utilisateurs  autoriser l'accès à une liste d'utilisateurs • Documentation : sag-pam_listfile auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/ftpusersauth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/ftpusers auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/loginusersauth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/loginusers
  • 15. Linux LPIC2 noelmace.com Ce qu’on a couvert • Fichiers, termes et utilitaires de configuration de PAM  /etc/pam.d et pam.conf • Modules essentiels de PAM  pam_unix, pam_cracklib, pam_limits et pam_listfile Weight : 3 Description : The candidate should be able to configure PAM to support authentication using various available methods. 210.2 PAM authentication
  • 16. Linux LPIC2 noelmace.com Licence Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France. Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à : Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Vous êtes libre de :  partager — reproduire, distribuer et communiquer cette œuvre  remixer — adapter l’œuvre Selon les conditions suivantes :  Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins d'en demander expressément la permission).  Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une autorisation explicite de l'auteur est requise.  Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci. Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration de ce support.