Wide Area Bonjour – Authentification des clients par secret partagé

Dans les précédents articles, nous avons vu comment mettre en place une zone WAB en lecture seule puis comment rendre cette même zone disponible en lecture/écriture pour que nos clients puissent enregistrer leurs services et enfin nous avons vu une petite astuce pour faire en sorte que cette zone contienne le plus d’informations possible.

Voyons voir maintenant comment faire en sorte que l’écriture sur cette zone soit protégée par un secret partagé.

English version

Vous vous souvenez certainement que dans le deuxième article de cette série nous avions utilisé une ligne de commande pour faire en sorte que la clef bonjourRegistration de notre zone WAB prenne la valeur open. Nous allons maintenant modifier cette valeur pour la mettre à secure.

root@office / 18:17 % serveradmin settings dns:views:_array_id:2247116D-446D-4254-AEB0-8BD7377D4256:primaryZones:_array_id:0AC3AE46-8D87-4679-9EA0-CCEDB87FF11F:bonjourRegistration = "secure"

Cette commande à un effet sur le fichier /etc/dns/publicView.conf.apple qui contient la définition de nos domaines géré. Regarder votre zone WAB, elle devrait ressembler à ceci :

	zone "bonjour.office.inig-services.com." {
		type master;
		file "db.bonjour.office.inig-services.com.";
		allow-transfer {none;};
		allow-update {key com.apple.ServerAdmin.DNS.bonjour.sharedSecret;};
	};

L’intéressant ici se trouve sur la ligne allow-update qui est réglé par Server Admin pour utiliser uniquement la clef com.apple.ServerAdmin.DNS.bonjour.sharedSecret. Il nous reste donc à définir cette clef puis à la transmettre sur nos clients.

Pour définir cette clef, l’outil à utiliser en ligne de commande est rndc-confgen, il va également falloir lui indiquer où stocker la clef, pour ma part j’ai choisi /etc/dns/bonjour.key.

root@office / 18:27 % rndc-confgen -a -c /etc/dns/bonjour.key -k com.apple.ServerAdmin.DNS.bonjour.sharedSecret

Si vous regardez le contenue de ce fichier vous devez avoir quelque chose de ce genre :

key "com.apple.ServerAdmin.DNS.bonjour.sharedSecret" {
	algorithm hmac-md5;
	secret "lasZZ9TN+AILCl+TpNgUiw==";
};

Notez donc le secret entre guillemets, il vous servira sur les machines clients.

Cette clef étant générée, il reste à indiquer à Bind où elle se trouve, pour cela nous allons modifier le fichier /etc/named.conf pour faire en sorte que le début ressemble à cela :

//
// Include keys file
//
include "/etc/rndc.key";
include "/etc/dns/bonjour.key";
 
// ...

Il ne vous reste plus qu’à redémarrer le service DNS :

root@office / 18:33 % serveradmin stop dns && serveradmin start dns

Il nous reste ici à configurer les machines clientes, rendez-vous dans les préférences systèmes, section partage pour aller configurer l’enregistrement WAB de votre client en utilisant com.apple.ServerAdmin.DNS.bonjour.sharedSecret comme nom d’utilisateur et lasZZ9TN+AILCl+TpNgUiw== comme mot de passe.

Vous savez déjà comment vérifier que votre zone fonctionne, Bonjour Browser est votre ami :-)

Laisser un commentaire