Cómo activar y configurar BitLocker a través de PowerShell en Windows
BitLocker es una herramienta incluida en los sistemas operativos de Microsoft Windows desde la versión de Windows Vista para los ordenadores de sobremesa y desde la versión 2008 para los servidores, que permite cifrar los datos de unidades de disco internas de arranque y de datos y unidades externas y memorias flash USB. Hoy os vamos a enseñar cómo activar y configurar BitLocker a través de PowerShell en Windows.
Existen varias formas de activar BitLocker en una unidad de disco:
- Panel de control
- Centro de actividades
- Explorador de archivos
- Línea de comandos
- PowerShell
Para entender mejor de este artículo es recomendable haber leído previamente los dos anteriores sobre BitLocker “Proteger los datos de nuestros discos con Bitlocker en Windows 10” y “Usando la línea de comandos para activar y configurar BitLocker“.
PowerShell es una consola de comandos similar a la consola de comandos de MS-DOS pero mucho más potente, es un entorno de programación integrado que nos permite escribir programas para gestionar y automatizar tareas en la administración de sistemas y en cualquier ordenador que soporte el sistema operativo Microsoft Windows. Además de la funcionalidad de una línea de comandos como la de MS-DOS, tiene la posibilidad de trabajar con objetos, programas y scripts de gran potencia que sustituyen a los antiguos ficheros de proceso por lotes, ficheros .bat. Soporta todas las funcionalidades de la consola de comandos de MS-DOS más sus propios comandos internos llamados cmdlets o command-lets.
PowerShell se presentó por parte de Microsoft en el año 2006 y apareció por primera vez junto al sistema operativo Microsoft Windows Vista; desde entonces viene integrado en todos los sistemas operativos de Microsoft tanto de escritorio como servidores. Microsoft tiene previsto que tanto la consola de comandos de MS-DOS como los ficheros .bat sean sustituidos por esta herramienta.
Tiene dos ejecutables o versiones tanto para 32-bits como para 64-bits: powershell.exe y powershell_ise.exe. Powershell.exe abre una consola de comandos similar a la consola de comandos de MS-DOS pero con toda la potencia de los cmdlets de PowerShell. Para abrir la consola de PowerShell pulsamos la tecla Windows + R, escribimos powershell y pulsamos la tecla de entrada o pinchando en buscar y escribiendo powershell; prestar atención a que versión de PowerShell escogemos.
Powershell_ise.exe es un entorno de programación muy potente que integra una consola de comandos, un panel para escribir scripts y un panel con los cmdlets de PowerShell. Lo ejecutamos de forma similar a su consola: Windows + R, escribimos powershell_ise.exe o mediante la tecla buscar. Es importante que ejecutemos powershell_ise.exe con privilegios de administrador para que podamos ejecutar los siguientes cmdlets que requieren privilegios de administrador.
En este artículo nos vamos a centrar en el entorno integrado de PowerShell por las facilidades que nos ofrece para ver los cmdlets de PowerShell que nos permiten activar y gestionar BitLocker en unidades de disco y sus parámetros, esto nos ahorra escribir los comandos y sus parámetros.
Las tareas para utilizar PowerShell para activar BitLocker en una unidad de disco son similares conceptualmente a las realizadas con la utilidad de la línea de comandos manage-bde.exe, aunque con la potencia de los objetos y la capacidad para generar scripts de PowerShell. Vamos a detallar dichas tareas y ver cómo se realizan desde PowerShell.
Ver el estado de activación de BitLocker en una unidad de disco.
- Añadir Protectores al cifrado de BitLocker.
- Activando BitLocker en un disco.
- Bloquear, desbloquear y autodesbloquear un disco cifrado.
- Desactivar BitLocker en un disco.
- Activar BitLocker en un disco de arranque.
Ver el estado de activación de BitLocker en una unidad de disco
El cmdlet que nos permite ver el estado de activación de un disco es Get-BitLockerVolume. En el panel de complementos de comandos escribimos get-bit y nos aparece dicho comando junto con los parámetros que admite, en este caso el parámetro MountPoint que se refiere a la unidad de disco que queremos examinar.
En la parte inferior nos aparecen varios botones: El botón Insertar nos escribe el comando con los parámetros en la consola de PowerShell pero sin ejecutarlo, el botón Ejecutar hace lo mismo y además ejecuta el comando y el botón copiar, copia el comando y sus parámetros en el portapapeles para pegarlo en otro lugar.
Pulsando la tecla ENTER vemos el resultado de la ejecución de dicho comando.
Podemos ampliar la información añadiendo al final de la línea de comando el re direccionamiento “|fl”.
Vemos que el disco F: tiene un protector de contraseña y está sin cifrar y desbloqueado.
Añadir Protectores al cifrado de BitLocker
Existen varios Protectores para asegurar el cifrado de nuestro disco, nos vamos a centrar en los más importantes que son: contraseña, clave de recuperación, contraseña de recuperación y clave de arranque.
El cmdlet es Add-BitLockerKeyProtector. Escribimos dicho comandos en el panel de comandos.
Añadiendo un protector de contraseña a un disco:
Pinchamos en la pestaña “PasswordProtector” y rellenamos los parámetros “MountPoint” y la casilla “PasswordProtector” que además son obligatorios al llevar un asterisco. Si activamos la casilla “Confirm” nos pide confirmación para realizar la tarea.
Pinchamos en el botón Ejecutar y el comando se copia a la consola de PowerShell y se ejecuta. PowerShell nos pide que introduzcamos y confirmemos la contraseña para proteger el cifrado del disco.
Con el siguiente cmdlet vemos el estado de protección del disco.
Get-BitLockerVolume -MountPoint f: |fl
Añadiendo una clave de recuperación como protector del disco:
Con el mismo cmdlet del caso anterior, pinchamos en la pestaña “RecoveryKeyProtector”, en este caso los parámetros obligatorios son:
- MountPoint, (unidad de disco sobre la que crear una clave de recuperación).
- RecoveryKeyPath, (ruta donde guardará el fichero que contendrá la clave de recuperación, no podemos utilizar un disco donde esté activado BitLocker como destino).
- RecoveryKeyProtector, (activar la casilla).
PS C:\>Add-BitLockerKeyProtector -MountPoint f: -RecoveryKeyPath g:\ -RecoveryKeyProtector
El comando Get-BitLockerVolume nos muestra cómo se han añadido los tres protectores.
Añadiendo una contraseña de recuperación como protector al disco:
Pinchamos en la pestaña “RecoveryPasswordProtector” y rellenamos los parámetros obligatorios. Podemos rellenar el parámetro “RecoveryPassword” con una cadena de 48 dígitos o dejarlo vacío, en cuyo caso PowerShell generará una contraseña aleatoria de 48 dígitos y la mostrará por pantalla.
El resultado de la ejecución se muestra por pantalla.
Añadiendo una clave de arranque como protector del disco:
Una clave de arranque es una clave especial que genera PowerShell para poder usarla como contraseña para el desbloqueo de un disco de arranque. Este parámetro genera un fichero que se ha de copiar en una unidad de memoria flash USB que se utilizará para el cifrado y posterior arranque y desbloqueo de un disco que contiene el sistema operativo para arrancar un ordenador, normalmente el disco C:, no podemos utilizar un disco donde esté activado BitLocker como destino del fichero.
La ejecución de dicho cmdlet nos muestra que se ha añadido un protector de tipo clave de arranque a un fichero como clave externa.
Activando BitLocker en un disco
Una vez añadidos los protectores de cifrado al disco, (los mínimos a utilizar son la contraseña y la clave recuperación, por seguridad), utilizamos el cmdlet “Enable-BitLocker”, este cmdlet activa BitLocker en el disco indicado con los protectores configurados previamente. Al igual que la utilidad manage-bde, el cmdlet nos permite añadir protectores al mismo tiempo que se realiza la activación.
PS C:\> Enable-BitLocker -MountPoint F: -PasswordProtector
Este comando comienza el cifrado del disco y nos muestra un cuadro con el progreso de la tarea, podemos forzar que se muestre dicho cuadro de dialogo ejecutando “fvenotify.exe” desde la consola de PowerShell.
Bloquear, desbloquear y autodesbloquear un disco cifrado
Un disco cifrado se ha de desbloquear para poder usarlo, los siguientes cmdlets se utilizan para realizar está función.
Lock-BitLocker, Unlock-BitLocker, Enable-BitLockerAutoUnlock y Disable-BitLockerAutoUnlock
Excepto Unlock-BitLocker, los cmdlets son muy sencillos de utilizar ya que sólo nos pide el “MountPoint”, es decir la unidad de disco y si queremos forzar la tarea aunque el dispositivo este siendo usado por algún proceso.
Vamos a ver en detalle los parámetros del cmdlet Unlock-BiLocker. Unlock-BitLocker nos permite desbloquear un disco usando uno de los siguientes protectores: Contraseña, clave de recuperación y contraseña de recuperación, (no veremos las opciones de directorio activo).
Para desbloquear un disco usando el protector de contraseña pinchamos en la pestaña del parámetro “OnlyPasswordParameterSet”.
El parámetro contraseña no podemos escribirlo por teclado como en los anteriores casos, tenemos que introducirlo mediante una cadena especial de PowerShell que se llama cadena segura, para convertir una contraseña de texto plano en contraseña segura tenemos que definir una variable a la que podemos llamar como queramos y asignarle el cmdlet “ConvertTo-SecureString” como vemos en la siguiente línea.
PS C:\> $VarPass =ConvertTo-SecureString "123456.abC" -AsPlainText -Force
123456.abC es la contraseña que usamos al añadir el protector de contraseña al disco; debe ser una contraseña con 8 caracteres mínimo, mayúsculas, minúsculas, números y caracteres especiales.
Para desbloquear un disco usando la clave de recuperación de contraseña es preciso indicar el parámetro “MountPoint” y la ruta y el nombre del fichero que contiene la clave de recuperación de contraseña.
Para desbloquear un disco usando una contraseña de recuperación, tenemos que utilizar la contraseña que se generó automáticamente como resultado de la ejecución del cmdlet Add-BitLockerKeyProtector y que debimos guardar en un lugar seguro:
Desactivar BitLocker en un disco
Para desactivar y descifrar una unidad de disco donde BitLocker ha sido activado usamos el cmdlet “Disable-BitLocker”.
Usando el cmdlet “Get-BitLockerVolume” podemos ver que el disco se está descifrando.
De nuevo, si no aparece el cuadro indicando el progreso, podemos forzarlo ejecutando “fvenotify.exe” desde la consola de comandos de PowerShell.
Activar BitLocker en un disco de arranque
Como ya vimos en el artículo “Proteger los datos de nuestros discos con Bitlocker en Windows 10“, el cifrado de unidades de arranque tiene ciertas peculiaridades; en este caso nos vamos a centrar en el caso de que nuestra máquina necesite una memoria flash USB donde almacenar una clave para desbloquear el disco que contiene el sistema operativo en el arranque.
En primer lugar habrá que generar una clave de arranque con el cmdlet
PS C:\> Add-BitLockerKeyProtector -MountPoint f: -StartupKeyPath g:\ -StartupKeyProtector
En segundo lugar habrá que copiar el fichero con la clave de arranque generada a una memoria flash USB que será la que se utilice para desbloquear la unidad que contiene el sistema operativo del ordenador durante el arranque.
En tercer lugar activaremos BitLocker en la unidad de disco de arranque y tras el reinicio comenzará el cifrado, es importante no extraer la memoria flash USB que contiene la clave de arranque durante todo el proceso y hasta que finalice el cifrado.
PS C:\> Enable-BitLocker -MountPoint F: -PasswordProtector
Será necesario que está memoria flash USB esté conectada al ordenador siempre que vayamos a arrancarlo.
Hasta aquí hemos llegado con este manual de BitLocker con PowerShell.
Via: www.redeszone.net