console linux

Authentification LDAP centralisée sous Debian Wheezy

Quand on est seul à gérer ses serveurs Linux, le compte root suffit. Quand on travaille en équipe, c’est différent : il faut pensez à mettre les accès de l’équipe partout, penser à changer les accès quand un membre de l’équipe part, quid de la sécurité des accès etc ?

Pour cela, il est préférable que chaque membre de son équipe utilise son propre couple login/password pour se connecter aux serveurs Linux. De plus on pourra donner des droits différents par utilisateur ou groupe…

L’authentification LDAP se fait au moyen de service LDAP/PAM/NSSWITCH/SUDO.

Un moyen simple de donner accès à son équipe aux serveurs sans révéler le nom de passe est l’utilisation de clé SSH. Les clés SSH c’est pratique mais tout le monde ne les utilisent pas, et puis cela permet juste de donner le même droit à tout le monde si on l’associe au compte root.

Nous allons voir comment créer un environnent d’authentification multi-utilisateurs basé sur un LDAP existant. Nous utiliseront PAM, NSSWITCH et SUDO.

Contexte

Nous avons déjà un serveur contenant notre base de données LDAP. Nous l’utiliserons pour se connecter sur d’autres serveurs Linux. Dans mon cas, j’ai validé cette manipulation sous Debian Wheezy (7.4). Des points infos sont disposées pour Debian Lenny également.

Authentification avec un utilisateur LDAP

On installe des dépenses nécessaires :

Voici les données d’exemples utilisées :

On Vérifie que les données sont correctes :

On ajoute “ldap” au fichier /etc/nsswitch.conf :

On modifie PAM :

Remarque : étape supplémentaire pour Debian Lenny

Editer /etc/pam.d/common-auth :

Editer /etc/pam.d/common-account:

Editer /etc/pam.d/common-password :

Editer /etc/pam.d/common-session :

Pour plus d’infos sur LDAP et Lenny, voici un article intéressant : OpenLDAP client on Debian lenny.

On configure les connexions autorisées pour PAM. Dans notre cas, le groupe “ict” peut se connecter sur le réseau (10.0.0.0/8) et en face de la machine (LOCAL). Pour l’utilisateur “adminlocal”, il sert uniquement d’utilisateur de secours quand on est en face de la machine et que le LDAP n’est pas joignable.

On ajoute cet utilisateur, on redémarre NSCD, on test et on attribue un mot de passe à cet utilisateur :

 

Autorisation

Voici un cas simple : les utilisateurs du groupe “ict” et un utilisateur “adminlocal” ont tous accès à toutes les commandes root, sans avoir à taper leur mots de passe 2 fois. Ils se loggent sur le serveur et c’est parti à coup de “sudo commande” ou “sudo su” pour passer en shell root.

Mais l’on peut très bien créer des “rôles” opérateurs avec des droits customisés.

On ajout à la fin :

Remarque : sous Lenny pour ceux qui l’on encore, c’est cette syntaxe qui est à utiliser :

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">