Metsys Blog

Troubleshooting : Double-Saut

Cliquez pour évaluer cet article !
0 avis

Ce un nouvel article concerne un soucis que rencontré au cours de l’implémentation d’un RunBook sur System Center Orchestrator.

Ce problème concerne le « 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

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

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.

Notez cet article

Vous avez aimé cet article ?

Rendez-le plus visible auprès des internautes en lui mettant une bonne note.

Cliquez pour évaluer cet article !
0 avis

Articles pouvant vous intéresser