Troubleshooting : Double-Saut

Troubleshooting : Double-Saut

Bonjour à tous les lecteurs,
Voici un nouvel article concernant un soucis que j’ai rencontré au cours de l’implémentation d’un RunBook sur System Center Orchestrator. En effet, j’ai rencontré ce qu’on nomme joliment un problème de « double-saut » ou « double-hop » pour les anglophones. Derrière ce nom peu explicite ce cache un problème de transmission des identifiants.

Symptômes

  1. En étant connecté à la Machine A j’ai ouvert une « Remote session » en PowerShell sur la Machine B.
  2. Depuis la Machine B j’ai voulu exécuter un script qui utilisait des ressources sur la Machine C.
  3. L’accès aux ressources de la Machine C est refusé.

Après analyse, il s’est avéré que les identifiants utilisés sur la machine B n’étaient pas transmis à la machine C.

Dans les faits, depuis Orchestrator dans mon RunBook j’ai fait un appel d’un script situé sur une machine distantes. Lorsque ce script s’exécutait les appels aux ressources distante renvoyaient un accès refusé. Afin de résoudre ce soucis il a fallu activer la délégation d’identifiants via CredSSP.

Solution

Sur la Machine C :

Il a fallu activer le WSManCredSSP avec le rôle serveur, afin d’autoriser le client à lui envoyer les identifiants dynamiquement avec la commande PowerShell suivante :

Enable-WSManCredSSP -Role Server -force

Pour vérifier, exécutez la commande :

Get-WSManCredSSP
Double-Saut
Résulta attendu

Sur la Machine B :

Il faut activer le rôle client en indiquant le domaine afin de communiquer les identifiants à la Machine C. De plus la création d’une clé registre est nécessaire :

Enable-WSManCredSSP -Role client -DelegateComputer *.Domaine.com
$allowed = @('WSMAN/*.Domaine.com') 
$key = 'hklm:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation'
if (!(Test-Path $key))
 {
    md $key
 }
New-ItemProperty -Path $key -Name AllowFreshCredentials -Value 1 -PropertyType Dword -Force           
$key = Join-Path $key 'AllowFreshCredentials'
if (!(Test-Path $key))
 {
    md $key
 }
$i = 1
$allowed |%
{
    New-ItemProperty -Path $key -Name $i -Value $_ -PropertyType String -Force
    $i++
}

Pour vérifier, exécutez la commande :

Get-WSManCredSSP
Double-Saut
Résulta attendu

Voila maintenant il vous est possible d’avoir accès aux ressources de la Machine C depuis la Machine A en passant par la Machine B.

A propos de l'auteur

Administrateur Système et geek dans l'âme, l'informatique j'adore ça !!

Laisser un commentaire

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