{{tag>Trusty matériel bluetooth pam}}
====== Pam Blue ======
[[http://www.kernel.org/pub/linux/libs/pam/index.html|PAM (Pluggable Authentification Module)]] est le système qui permet l'authentification de chaque utilisateur sous GNU/Linux. \\
Pour plus d'information sur PAM je vous renvoie sur [[http://www-igm.univ-mlv.fr/%7Edr/XPOSE2003/augereau/2.html|l'introduction à PAM]] écrite par Sébastien Augereau.
===== Introduction =====
Le but de cette page est d'utiliser un appareil bluetooth (un téléphone par exemple) pour vous identifier à votre session, ainsi vous n'aurez plus besoin de taper votre mot de passe à chaque connexion mais uniquement votre nom d'utilisateur.
N'utilisez pas **PAM Blue** pour vous connectez si vous avez des données sensibles sur votre ordinateur. \\
**PAM Blue** utilise comme moyen d'identification le nom du périphérique bluetooth ainsi que son adresse MAC. Or une adresse MAC peut être modifiée par différents moyens plus ou moins complexes. Ce serait bête qu'une personne accède à votre ordinateur en contournant votre mot de passe grâce à son téléphone portable.
===== Pré-requis =====
==== Matériel nécessaire ====
* Un appareil bluetooth
* Un ordinateur capable d'établir une connexion bluetooth avec l'appareil (clef bluetooh USB par exemple)
==== Paquets nécessaires ====
* [[apt://bluez-utils|bluez-utils]]
==== Votre appareil Bluetooth ====
La première étape est de connaitre l'adresse MAC de votre appareil bluetooth.
Pour ce faire, placez votre appareil bluetooth à proximité de votre ordinateur et tapez la commande suivante :
$ hcitool scan
Scanning ...
00:1E:E1:6A:D4:41 Mizuho
Notez l'adresse MAC (00:1E:E1:6A:D4:41) et le nom de l'appareil (Mizuho) pour plus tard.
Si votre appareil bluetooth n'est pas détecté à cette étape, pensez à vérifier que la //"visibilité bluetooth"// de ce dernier est bien activée.
===== Installation =====
==== Via les Sources ====
Les sources sont disponibles [[http://pam.0xdef.net/source.html|à cet endroit]].
==== Via les dépôts ====
[[:tutoriel:comment_installer_un_paquet|installez les paquets]] [[apt://libpam-dev|libpam-dev]] et [[apt://libpam-blue|libpam-blue]].
L'installation du paquet libpam-dev n'est pas indispensable au bon fonctionnement de l'authentification par bluetooth.
===== Configuration =====
==== Pam Blue ====
Pour commencer nous allons [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] /etc/security/bluesscan.conf.
Ce fichier devrait ressembler à ceci :
general {
# the normal timeout for scanning
# watch out for a to tiny timeslot for scanning
# values between 3 and 15 seconds are valid
timeout = 3;
}
# configuration for user korzendorfer
korzendorfer = {
# bluetooth device name
name = tux;
# bluetooth mac address
bluemac = 54:34:34:34:34:34;
# a seaparate timeout
timeout = 10;
}
(...)
Changez dans ce fichier le nom de l'appareil bluetooth et son adresse MAC par le nom et l'adresse MAC récupérée un peu plus tôt par le scan ainsi que l'utilisateur par le nom de votre session.
Pour mon exemple le fichier devient donc :
(...)
nathan = {
# bluetooth device name
name = Mizuho;
# bluetooth mac address
bluemac = 00:1E:E1:6A:D4:41;
# a seaparate timeout
timeout = 10;
}
(...)
Le nom du périphérique ne doit pas contenir d'espace, sous peine de provoquer une erreur de parsing de la conf
**Pam Blue** est configuré. Il faut donc maintenant dire au système d'utiliser **PAM Blue** pour l'authentification à chaque fois que ce sera possible.
==== Système ====
Nous allons faire en sorte que l'identification de session gnome se fasse par **PAM Blue** à la place de l'identification classique.
Pour ce faire, [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] /etc/pam.d/gdm (pour Kubuntu, éditez /etc/pam.d/kdm, pour Xubuntu xdm, etc.)
Pour les distribution Ubuntu utilisant LightDM (par exemple la version 12.04) le fichier à modifier est /etc/pam.d/lightdm
Le fichier ressemble à ceci :
#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
auth optional pam_gnome_keyring.so
@include common-account
session required pam_limits.so
@include common-session
session optional pam_gnome_keyring.so auto_start
@include common-password
Nous allons le modifier pour qu'il ressemble à ceci :
#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
auth sufficient pam_blue.so
@include common-auth
auth optional pam_gnome_keyring.so
(...)
Voilà. C'est terminé. Redémarrer session et une fois sur le login entrer votre nom d'utilisateur et si tout s'est bien passé ainsi que si votre périphérique est bien à proximité vous n'aurez pas à rentrer votre mot de passe pour entrer sur votre session.
===== Commentaires ====
Vous pouvez configurer votre système pour qu'il utilise **PAM Blue** à chaque fois que vous devez rentrer un mot de passe (sudo par exemple), cependant soyez bien conscient que ceci peut mettre en danger la sécurité de votre système (notamment en cas de connexion à distance). C'est pour cela que je n'expliquerais pas ici comment faire. Si vous voulez vraiment aller plus loin vous avez les bases pour chercher seul.
Si votre appareil bluetooth n'est pas à portée au moment où vous vous identifiez sur votre session, au bout de 10 secondes((Durée configurable dans le fichier /etc/security/bluesscan.conf)) **PAM Blue** cède la place à l'identificateur normale pour vous permettre de rentrer votre identifiant
===== Sources et Références ====
* [[http://www.digitalspirit.org/blog/index.php/post/2006/12/02/60-authentification-par-bluetooth-pambluez?pub=1#pr|Le blog de Hugo sur DigitalSpirit.org]][fr]
* [[https://ubuntuforums.org/showthread.php?t=17571|Pam_usb : authentification par le biais d'une "clef usb"]][en]
* [[http://linuxfr.org/%7Ewallaye/15385.html|Installation de pam_usb]][fr]
* [[http://gulliver.eu.org/%7Escollilieux/Clef_usb_pour_serrure_GNULinux.html|pam_usb en français]][fr]
----
//Contributeurs : [[:utilisateurs:Nathanos]]//