Comments on: Virtualized Domain Controllers: 4 Myths and 12 Best Practices https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/ Hyper-V guides, how-tos, tips, and expert advice for system admins and IT professionals Fri, 19 Nov 2021 16:06:02 +0000 hourly 1 By: Eric Siron https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3857 Tue, 09 Feb 2021 20:23:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3857 In reply to Wyndon Evans.

Mine don’t. Most don’t.
There is a comment further down the page that goes over the NLA thing.

]]>
By: Wyndon Evans https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3853 Tue, 02 Feb 2021 17:36:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3853 Yet, when a Hyper-V host is rebooted that points to its own DC-VM, it doesn’t see the domain and joins a public network…

]]>
By: Eric Siron https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3684 Sun, 05 Jul 2020 20:04:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3684 In reply to Andy.

Delete it from the cluster, then use Storage Migration to move the VM files to the local disk. That’s it.

]]>
By: Eric Siron https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3678 Sun, 05 Jul 2020 19:43:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3678 In reply to Yvonne.

If someone takes an unencrypted VHDX file, it is safest to assume that they can read everything. Basically, stealing an unencrypted VHDX file is equivalent to stealing an unencrypted hard drive.
Breaking the directory file is relatively simple, although it takes time. You can search for various ways to read or extract data from an NTDS.DIT file.
That said, the only truly secret items in your domain file are the password hashes. The structure of your domain already grants read access to almost everyone. So, if you believe that an NTDS.DIT file has been stolen, you need to change all domain passwords as quickly as you can. If you have an enterprise password management tool, that could be –relatively– simple. Overall steps:

  1. Fully decommission the compromised domain controller. That will prevent its computer account from making changes in the domain.
  2. Force every computer in the domain to reset its machine password.
  3. Reset passwords on enterprise and domain admin accounts
  4. Reset non-expiring service user accounts
  5. Force all domain users to reset their passwords. This is a good time to clean up unused accounts.

To prevent reading the VHDX in the first place, you need to encrypt it. If your host has a TPM, then you can just enable BitLocker in the guest. If you ever want to move the guest to another host, you’ll need to make certain that you retain its BitLocker key somewhere other than in the domain. Personally, I consider it a good thing to have a domain controller that can only ever run on the host I put it on, but that does mean that you must be absolutely certain that there is no way to ever lose all of your domain controllers. If you want to make an encrypted VM mobile (and REALLY increase its security), then you need to set up Shielded VMs. That’s a non-trivial exercise that I have not yet written anything serious about. I did write up something on non-mobile Shielded VMs. The tech was still kind of new then and I don’t think I mentioned disk encryption.

]]>
By: Yvonne https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3677 Sun, 05 Jul 2020 17:18:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3677 Thanks for this article! I’m trying to remediate an ADRAP finding for “securing virtual machine files” for our domain controllers. Most of which are RODC’s and some writable domain controllers. If a malicious person was to steal the .vhdx files, what are they actually really able to see from those files and how easy really would it be to attach or mount that file elsewhere? Thanks!

]]>
By: Andy https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3667 Sun, 07 Jun 2020 19:55:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3667 Hi Eric, thanks for the great article. I already have one DC on the CSV. How do I make it local (non-HA) as you suggested? Do I just have to remove it from the cluster and that’s it. Do I have to change the location of the vhdx file to point to the Hyper- V host?

]]>
By: Eric Siron https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3542 Tue, 03 Mar 2020 14:11:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3542 In reply to Harald Bilke.

I don’t see a benefit and don’t like to have DCs dependent on a cluster, but it would work.

]]>
By: Harald Bilke https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3533 Mon, 02 Mar 2020 09:01:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3533 In reply to Eric Siron.

Hmm, what about making the DCs HA (“cluster-aware”), setting them to start at once and set them to a / one “Preferred Owner” only?

]]>
By: Koen De Vreeze https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3480 Thu, 13 Feb 2020 10:44:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3480 In reply to Eric Siron.

Thanks. I tried this, but the VM was turned off instead of shut down (possibly a problem with Win2012r2 AD running on Hyper-V Win2019). I’ll try with a PreUpdateScript. I’m running the second AD VM in the cluster so that I’m sure this one is always up during cluster aware updating.

]]>
By: Eric Siron https://www.altaro.com/hyper-v/virtualized-domain-controllers-4-myths-12-best-practices/#comment-3474 Wed, 12 Feb 2020 13:51:00 +0000 http://www.altaro.com/hyper-v/?p=8470#comment-3474 In reply to Koen De Vreeze.

If I remember my testing, CAU will not shut down non-clustered VMs, but the host will when it reboots. Set the DCs’ automatic stop action to stop and their automatic start action to always start. I would also set up a nanny script at the end of the CAU run to make certain that they’re online, as there seems to be a bug in the automatic start code.

]]>