I have been working with DigitalOcean for a while now and while I do like that they make it easy to start up with a fully functioning virtual machine ready to go. It makes me cringe a little though that I have to trust that nothing was tampered to work with their systems. If they did an install with you in the beginning that was mirroring an authenticated iso from the open source community, I wouldn't mind as much but this grey area leaves me unsettled.
I know they have their incentives to do well and that's fine in the terms of a base system. I'll even give them the credit they deserve for writing some of the best security guides I've ever read.
But, as I take steps down the computer security rabbit hole I find myself understanding more and more that the only way to truly have good security, is to trust no one.
While I can and always will follow best practices to harden the systems they are handing me to work with to make them as restrictive as possible, I am tempted to put the actual services in internal VMs that I know are running on operating systems that have been hardened to the best of my abilities in order to create an isolated sandbox where the processing can actually happen.
My question is, will using a textbook hardened and verified operating system in a VM inside an OS that cannot be defined as a "trust no one" system provide additional levels of security to make it possible to be a "trust no one" system again? Or is a VM not able to be any more secure than its host?
With the security concerns that still come with services like docker I am definitely still going to use VMs for instant rebuilds and isolation of mishaps but I would love to hear what everyone has to say about this now that VPS's are so cheap and easy to use.