Locking all the bits with BitLocker

So you want data at rest encryption. Bitlocker by default uses this nasty numeric password as a recovery option. However, you can actually lock this down pretty well after removing this giant security risk of a password and here's how.

Requirements:


  • Enable Enhanced Pins
    • I'm going to save some effort and defer to the many articles on the internet for this.
    • You can find a decent article here. Or you can use some google fu to find similar ones.
  • Learn about manage-bde and the other powershell commandletts here.

Enable TPM and PIN and Startup Key (flash drive)

  • Add-BitLockerKeyProtector c: -TpmAndPinAndStartupKeyProtector
    • This will make bitlocker require a TPM AND USB flash drive AND a password on boot. It's the most secure option but a bit annoying.
  • You will be presented with a couple prompts. One for the path to the flash drive and one for the password
  • Enter the path to the flash drive
  • Enter your strong password

Enable TPM and Startup Key (flash drive)

  • Add-BitLockerKeyProtector c: -TpmAndStartupKeyProtector
    • This will make bitlocker require a TPM AND USB flash drive on boot.
  • Enter the path to the flash drive

     Remove the insecure all numeric recovery key

    • manage-bde -protectors -delete C: -type RecoveryPassword

    • WARNING: Buy a couple small name brand USB flash drives and copy the key to each of them. If your flash drive dies, you won't be able to boot your PC. Make sure you test booting with each of them.

    Backup your key

    • In your folder options, show system files.
    • Copy the BLOB from your flash drive and store it in a secure location (like keepass)

    Verify

    Some commands to show the status of bitlocker and your drives
    • manage-bde c: -status
    • Get-BitlockerVolume c: | ft -AutoSize -Wrap
    • Get-BitLockerVolume c: | select -ExpandProperty "keyprotector"

    Comments

    Popular posts from this blog

    pfSense DHCP: Dynamic DNS Updates to a Windows DNS server over a Site-to-Site VPN.

    Setting up DNS over HTTPS using cloudflared

    Python Flask: Web apps in seconds