none
[RESOLU] Script d'activation Bitlocker à distance RRS feed

  • Question

  • Bonjour à tous,

    Je suis en train de tester l'activation de Bitlocker à distance sur une machine portable. Sauf erreur de ma part, ce n'est pas possible via GPO, j'ai bien vu qu'il était possible de configurer Bitlocker, mais pas de l'activer, d'où les multiples scripts que l'on trouve sur le web...

    Nous avons donc concocté le notre, qui grâce aux commandes "manage-bde ..." permet d'activer Bitlocker sur les partitions C puis D, et d'enregistrer la clé de déchiffrement dans l'AD. Ce script fonctionne parfaitement, lorsqu'on l'exécute depuis une session sur une machine. (voir script ci-bas)

    Problème, si on tente d'exécuter ce script au démarrage de la machine via GPO (startup script), celui-ci s'exécute avec l'utilisateur SYSTEM, et rencontre une erreur:

    Impossible d'activer Bitlocker : Impossible d'obtenir la clé de chiffrement Bitlocker. Vérifiez que le module de plateforme sécurisée (TPM) est activé et que la propriété en a été acquise. Si cet ordinateur n'a pas de module de chiffrement sécurisé, vrifiez que le lecteur USB est inséré et disponible. C: n'a pas été chiffré.

    Voilà deux jours que je cherche comment lancer un script autrement qu'avec l'utilisateur SYSTEM sur une machine distante.
    j'ai tenté via Powershell en créant un objet "Creds" via un compte admin du domaine et un mot de passe crypté en .txt, mais ça ne fonctionne pas;

    ConvertirTo-SecureString : Clé non valide pour l'utilisation dans l'état spécifié ....

    Auriez-vous une idée? Retour d'expérience?

    Merci d'avance!

    --

    Le script Powershell qui lance le batch en tant qu'admin du domaine:

    #Spécifier l'identifiant qui lançera le batch
    #Le mot de passe stocké est crypté en .txt
    $User = "user_admin_du_domaine"
    $Pwd = "path_to_password_crypte_.txt"
    
    #Construire l'objet credentials powershell pour lancer le batch
    $Creds=New-Object -TypeName System.Management.Automation.PSCredential `
     -ArgumentList $User, (Get-Content $Pwd | ConvertTo-SecureString)
    
    #Démarrer le batch de cryptage avec les identifiants spécifiés
    start-process -FilePath "path_to_bitlocker_activation_script.bat" -Credential $Creds

    Le batch pour activer bitlocker:

    @echo OFF
    
    rem Double check si bitlocker active
    for /f "tokens=5 delims= " %%a IN ('manage-bde -status c: ^| FIND "Version"') DO SET ENCRYPTION-C=%%a
    for /f "tokens=4 delims=, " %%c IN ('manage-bde -status c: ^| FIND "Pourcentage"') DO SET POURCENTAGE-C=%%c
    
    rem securite avant execution
    	IF EXIST "C:\Windows\Bitlocker\log_bitlocker_C.txt" GOTO :cryptageD 
    	IF NOT "%ENCRYPTION-C%" == "Aucun" GOTO :cryptageD
    	
    
    :cryptageC
    
    rem creation des clefs de cryptage
    	manage-bde -protectors -add c: -RecoveryPassword
    	ping 127.0.0.1 > nul
    
    rem check si clef bien crée
    	IF %errorlevel% neq 0 GOTO :end
    
    rem si clé bien créée, cryptage
    	manage-bde -on C:
    	ping 127.0.0.1 > nul
    
    rem redemarrage
    	IF EXIST "C:\Windows\Bitlocker\log_bitlocker_C.txt" GOTO :cryptageD 
    	mkdir C:\Windows\Bitlocker
    	ECHO Cryptage du disque C demarre a %time% le %date% >> C:\Windows\Bitlocker\log_bitlocker_C.txt
    	shutdown -r -t 15 -c "Votre PC va redemarrer dans 15 secondes pour activer BITLOCKER"
    	GOTO :end 
    	
    :cryptageD
    
    for /f "tokens=5 delims= " %%b IN ('manage-bde -status d: ^| FIND "Version"') DO SET ENCRYPTION-D=%%b
    
    rem securite avant execution
    	IF NOT "%ENCRYPTION-D%" == "Aucun" GOTO :ends
    	IF NOT "%POURCENTAGE-C%" == "100" GOTO :end
    	IF EXIST "C:\Windows\Bitlocker\log_bitlocker_D.txt" GOTO :end 
    
    	ECHO Cryptage du disque D demarre a %time% le %date% >> C:\Windows\Bitlocker\log_bitlocker_D.txt
    
    rem creation des clefs de cryptage
    	manage-bde -protectors -add d: -RecoveryPassword
    	ping 127.0.0.1 > nul
    
    rem check si clef bien crée
    	IF %errorlevel% neq 0 GOTO :end 
    
    rem si clé bien créée, cryptage	
    	manage-bde -on D: 	
    	Manage-bde -AutoUnlock -Enable D: 
    
    :end


    Cordialement, Arnaud Rire



    mercredi 5 décembre 2018 15:27

Réponses

  • Bonjour à tous,

    Pour info, problème résolu en exécutant le batch d'activation de bitlocker avec psexec, en fournissant des identifiants d'un utilisateur spécifique admin du domaine (bon ok, sécurité pas terrible, mais on a joué avec les autorisations d'accès aux fichiers de la gpo qui exécute le batch)

    Tout fonctionne désormais.

    Suivant le batch donc, le PC enregistre sa clé de décryptage dans l'AD, écrit un log dans le C:\ de la machine, puis crypte la partition système après redémarrage. La partition D commencera son cryptage uniquement lorsque la C le sera à 100%.

    (Si on attend pas les 100%, la commande "autounlock" ne passe pas, et il faut renseigner la clé de décryptage une première fois après avoir crypté la partition de données, pas pratique!...)

    A+


    Cordialement, Arnaud Rire


    jeudi 6 décembre 2018 17:03

Toutes les réponses

  • Bonjour, je me permets une petite question avant de parler de la partie script.

    Est-ce que le TPM est bien initialiser sur la machine (tpm.msc)?

    Sinon peux-tu vérifier tous les pré-requis sur le lien ci-dessous:

    http://www.metsys.fr/blog/deploiement-bitlocker-retours-dexperiences/

    N'hésite pas à revenir vers moi.

    Cordialement.

    mercredi 5 décembre 2018 15:49
  • Bonjour,

    TPM est bien initialisé sur nos machines de test :

    J'avais déjà bien lu cet article, ainsi que d'autres :)

    Les prérequis sont bien respectés...

    Petite question en revanche à propos de la commande bdeHdCfg.exe -target default -quiet, effectivement nous ne l'avions pas utilisée, mais à quoi sert-elle précisément? Et nous avions pu crypter pendant nos tests un PC sans l'exécuter.

    EDIT: donc visiblement cette commande permet de "préparer le disque au chiffrement bitlocker", sur tous nos postes, nous avons déjà deux partitions, une système et une données, donc c'est OK.

    Merci

    Arnaud


    Cordialement, Arnaud Rire


    jeudi 6 décembre 2018 07:39
  • Bonjour, il me semble que cette commande n'est pas nécessaire.

    Ci-dessous un script que j'ai utilisé et qui pourrais t'aider.

    #Creating the recovery key
    Start-Process 'manage-bde.exe' -ArgumentList " -protectors -add $env:SystemDrive -recoverypassword" -Verb runas -Wait

    #Adding TPM key
    Start-Process 'manage-bde.exe' -ArgumentList " -protectors -add $env:SystemDrive  -tpm" -Verb runas -Wait
    sleep -Seconds 15 #This is to give sufficient time for the protectors to fully take effect.

    #Getting Recovery Key GUID
    $RecoveryKeyGUID = (Get-BitLockerVolume -MountPoint $env:SystemDrive).keyprotector | where {$_.Keyprotectortype -eq 'RecoveryPassword'} | Select-Object -ExpandProperty KeyProtectorID

    #Backing up the Recovery to AD.
    manage-bde.exe  -protectors $env:SystemDrive -adbackup -id $RecoveryKeyGUID

    #Enabling Encryption of OS Drive
    Start-Process 'manage-bde.exe' -ArgumentList " -on $env:SystemDrive -SkipHardwareTest -em aes128 -UsedSpaceOnly" -Verb runas -Wait

    #Restarting the computer, to begin the encryption process
    #Restart-Computer

    Cordialement.

    jeudi 6 décembre 2018 07:49
  • Bonjour,

    J'ai jeté un oeil à ce topic et c'est pourtant bien les commandes que nous exécutons, et nous arrivons à l'erreur citée plus haut

    Arnaud


    Cordialement, Arnaud Rire

    jeudi 6 décembre 2018 10:09
  • Bonjour à tous,

    Pour info, problème résolu en exécutant le batch d'activation de bitlocker avec psexec, en fournissant des identifiants d'un utilisateur spécifique admin du domaine (bon ok, sécurité pas terrible, mais on a joué avec les autorisations d'accès aux fichiers de la gpo qui exécute le batch)

    Tout fonctionne désormais.

    Suivant le batch donc, le PC enregistre sa clé de décryptage dans l'AD, écrit un log dans le C:\ de la machine, puis crypte la partition système après redémarrage. La partition D commencera son cryptage uniquement lorsque la C le sera à 100%.

    (Si on attend pas les 100%, la commande "autounlock" ne passe pas, et il faut renseigner la clé de décryptage une première fois après avoir crypté la partition de données, pas pratique!...)

    A+


    Cordialement, Arnaud Rire


    jeudi 6 décembre 2018 17:03
  • Bonsoir, content que ça fonctionne.

    Mais attention, ce n'est pas un comportement normal surtout avec PSEXEC qui est pour moi un problème de sécurité et l'utilisation du compte admin de domaine.

    Au final les PC ne sont pas admin de la machine donc ça ne peut pas marcher à distance, il faudra utiliser des outils tiers comme MBAM.

    N'hésitez pas à indiquer que votre problème est résolu.

    Cordialement.

    jeudi 6 décembre 2018 18:06
  • Bonsoir, content que ça fonctionne.

    Mais attention, ce n'est pas un comportement normal surtout avec PSEXEC qui est pour moi un problème de sécurité et l'utilisation du compte admin de domaine.

    Au final les PC ne sont pas admin de la machine donc ça ne peut pas marcher à distance, il faudra utiliser des outils tiers comme MBAM.

    N'hésitez pas à indiquer que votre problème est résolu.

    Cordialement.

    Bonjour,

    Apparemment il n'y a pas d'autres solutions quand il s'agit d'activer Bitlocker à distance, via GPO! La seule "faille" du process, c'est qu'un mot de passe d'un compte admin du domaine figure dans le psexec, mais qu'on supprime lorsque le script est terminé.

    Je vais tout de même regarder pour MBAM!

    Arnaud


    Cordialement, Arnaud Rire

    vendredi 7 décembre 2018 16:10
  • Bonjour Arnaud,

    Pour MBAM, il faut tenir compte de la date du fin du support prévu en Juillet 2019:

    Microsoft BitLocker Administration and Monitoring 2.5 Service Pack 1

    merci de ne pas oublier de marquer les réponses qui vous ont aidé à résoudre votre problème.


    Please don't forget to mark the correct answer, to help others who have the same issue. Thameur BOURBITA MCSE | MCSA My Blog : http://bourbitathameur.blogspot.fr/

    vendredi 7 décembre 2018 16:36
    Modérateur