Paramétrer iTALC par GPO

J'ai déjà parlé d'iTALC en expliquant à quoi il servait et comment l'installer et l'utiliser dans un précédent article... Je vous laisse le consulter si nécessaire.

Puisque j'ai eu l'occasion de refaire quelques installations dernièrement, je vais en profiter pour mettre ça au propre sur ce blog et le partager avec vous.

Quel est le besoin ?

iTALC est installé dans beaucoup de salles de cours par le biais d'un déploiement d'images avec une configuration de base commune à tous les PC ou groupes de PC.

Il faut maintenant améliorer la situation :

  • Chaque enseignant connecté sur le poste enseignant ne doit pouvoir accéder qu'aux PC de se salle de cours (donc une paire de clés publique / privée de type « enseignant » par salle de cours)
  • L'administrateur doit pouvoir accéder à tous les PC de toutes les salles de cours (donc une paire de clés publique / privé de type « admin » pour tout l'établissement).
  • Pour des raisons de sécurité, le changement des clés doit être facile et instantané.

Démarche

La première phase consiste à déployer les postes avec iTALC version client déjà installée par défaut.

La deuxième consiste à modifier le poste enseignant déployé pour installer la « version maitre » d'iTALC et générer la paire de clés de type « enseignant » pour la salle de cours en question, ainsi que son fichier de configuration « GlobalConfig.xml » (éventuellement récupérable si il s'agit d'une réinstallation de salle).

La clé privée reste sur le poste maitre, la clé publique et le fichier de configuration sont placés dans un espace réseau accessible en lecture seule à tout le monde. Je le fais directement lors l'installation comme ça il crée lui même les répertoires admin et teacher.

Enfin, les postes clients de chaque salle de cours doivent être modifiés automatiquement par GPO pour aller chercher la clé publique correspondant à la salle où ils sont installés.

\\serveur\iTALC\
                |-- keys\
                |        |-- salle_A01\
                |        |           |-- admin\key
                |        |           |-- teacher\key
                |        |
                |        |-- salle_A02\
                |        |           |-- admin\key
                |        |           |-- teacher\key
                |        |
                |        |-- default\
                |                    |-- admin\key
                |                    |-- teacher\key
                |-- config\
                         |-- salle_01\GlobalConfig.xml
                         |-- salle_02\GlobalConfig.xml

Script

J'ai créé un script VBS qui analyse le nom du poste, et va modifier la clé de registre adéquate pour situer correctement le répertoire des clés publiques à utiliser par le client.

Avec ce script, je ne cherche pas à modifier l'emplacement répertoire de configuration (contenant GlobalConfig.xml) car seul le poste maitre est concerné par cette option, je le fais donc lors de sa configuration.

Nota : chez nous, les postes sont nommés en fonction des salles de cours. Par exemple la salle A01 aura des postes qui seront appelés PC-A01-001, puis PC-A01-002... Avec les 6 premiers caractères du nom du poste, je peux donc savoir dans quelle salle de cours il est situé dans l'établissement.

Fichier setting_iTALC.vbs

' From eric.bugnet.fr
' Applique un paramétrage iTALC à partir du nom du poste

' ------------------
' Récup nom ordi
' ------------------
Set WshNet = CreateObject("Wscript.Network" )
computername = WshNet.ComputerName

On Error Resume Next
Select Case left(computerName,6)
 Case "PC-A01"
   rep = "salle_A01"
 Case "PC-A02"
   rep = "salle_A02"
 Case Else
   rep = "default"
End Select

' ------------------------------------------------
' Paramétrage d'iTalc
' ------------------------------------------------
Set oShell = CreateObject("WScript.Shell")
sRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\iTALC Solutions\iTALC\Authentication"
oShell.RegWrite sRegKey & "\KeyAuthenticationEnabled", "1"
oShell.RegWrite sRegKey & "\PublicKeyBaseDir", "\\serveur\iTALC\keys\" & rep & "\", "REG_SZ"

On pourrait simplifier ce script en enlevant « PC- » aux 6 premiers caractères du nom du poste : on obtiendrait le nom de la salle, et donc son répertoire ; ça permettrait d'éviter de passer par le CASE. Mais comme j'ai des cas particuliers de postes déplacés, mal nommés... je reste comme ça.

Créer la GPO

Nom de la GPO : Paramétrage_iTALC
Configuration ordinateur > Stratégies > Paramètres Windows > Scripts (démarrage / fermeture)
Démarrage > Ajouter > Script name : parcourir et coller le .vbs dans le dossier

Tester

Lier la GPO à l'unité de test qui vous intéresse (salle de classe).
Tester sur quelques PC concernés.

Globaliser

Si le test est convainquant, liez la GPO à tous les PC des salles de cours.

Ça marche pas... tout de suite

Je me suis aperçu que la clé de registre était bien modifiée lors du premier démarrage, mais que iTALC ne fonctionnait pas encore... Il fallait attendre le second démarrage.

Je pense que le service iTALC est déjà lancé avec les paramètres initiaux avant l'application du script, et qu'il faudrait alors relancer le service iTALC pour prendre en compte la modification... mais seulement lors du tout premier démarrage et pas les autres.

Personnellement, j'ai laissé comme ça : je ne suis pas à un démarrage près !

Ensuite ?

Libre à vous d'adapter le script pour modifier d'autres paramètres, car presque tous les paramètres sont en fait inscrits dans des clés de registres...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.