Dans cet article, nous explorerons le monde fascinant de Pluggable Authentication Modules et ses nombreuses facettes. Pluggable Authentication Modules est un sujet qui a retenu l'attention et l'intérêt de nombreuses personnes à travers l'histoire, faisant l'objet d'études, de débats et de réflexions dans diverses disciplines. Depuis ses origines jusqu'à nos jours, Pluggable Authentication Modules a été un sujet pertinent qui a suscité l'intérêt des experts et des fans. Au fil de ces pages, nous analyserons son impact sur la société, son évolution dans le temps, et les différentes perspectives qui existent autour de Pluggable Authentication Modules. Cet article vise à offrir une vision complète et enrichissante de Pluggable Authentication Modules, générant un espace de réflexion et d'apprentissage pour tous les lecteurs intéressés par ce sujet passionnant.
En informatique, Pluggable Authentication Modules (modules d'authentification enfichables, en abrégé PAM) est une API permettant d'offrir aux programmes des services d'authentification, d'autorisation et de contrôle d'ouverture de sessions.
PAM opère une séparation entre les logiciels réclamant une authentification d'une part, et de l'autre les standards et bonnes pratiques liés au contrôle d'identité.
Déployer des politiques de sécurité est une recommandation de l'ANSSI relative à l'administration sécurisée d'un SI[1]. PAM facilite le durcissement d'un SI en permettant de définir des stratégies sur mesure en sélectionnant et en configurant les modules de PAM nécessaires. Si aucun module ne convient, PAM spécifie comment réaliser son module.
PAM est la solution proposée[2] par Sun Microsystems pour traiter la problématique de l'authentification, formulée en 1995 au sein du groupe de travail security group participant au développement de l'environnement de bureau Common Desktop Environment de l'Open Software Foundation. PAM a été choisie en juin puis décrite en octobre 1995 dans un RFC de l'OSF[3] puis présenté à l'ACM en 1996[4].
Bien que l'idée fut proposée par des ingénieurs de Sun Microsystems, la première implémentation réalisée en janvier 1996 est le fruit de Marc Ewing (Red Hat Software) au travers du projet Linux-PAM[5].
Depuis lors, PAM a été portée sur de multiples architectures dont Solaris, Linux[6], FreeBSD[7], NetBSD, DragonFly BSD[8], AIX[9] et HP-UX.
Les modules PAM sont une collection extensible de bibliothèques dynamiques ((en) shared objects) (par ex. pam_unix.so) fournissant les six primitives d'authentification définies dans la norme, regroupées dans quatre mécanismes :
Malgré des travaux[10], PAM n'est toujours pas standardisée en 2023. Ainsi, le comportement peut varier entre les diverses implémentations.
Quelques implémentations :