Why Encryption at Rest for Cloud VMs Isn’t Enough (Especially on Azure)

Deploying virtual machines (VMs) in the cloud has become standard practice for businesses and developers. But as organizations migrate sensitive workloads to platforms like Microsoft Azure, a critical question arises: Are your VMs really secure—especially when they’re "at rest"?

Let’s break down what encryption at rest really means in cloud environments, why the default protections like those in Azure are often insufficient, and what you can do to achieve true data sovereignty and confidentiality.


💾 What Does “Encryption at Rest” Mean in the Cloud?

In cloud platforms, "encryption at rest" typically refers to data that is stored in physical or virtual storage systems:

  • OS and data disks of virtual machines

  • Temporary storage and swap files

  • Backups and snapshots

  • Logs and diagnostic data

Cloud providers like Azure automatically encrypt this data using technologies like Azure Storage Service Encryption (SSE) and Azure Disk Encryption (ADE). These encrypt data using strong algorithms (AES-256), usually managed through the provider’s key management system.


🔑 So, What’s the Problem?

Although Azure advertises that your data is encrypted, the provider controls the keys by default. Here’s why that matters:

1. Cloud Provider Has Access

Microsoft—or any major cloud provider—can decrypt your data. This allows them to comply with law enforcement or government requests without your knowledge.

2. Key Control is Centralized

Unless you explicitly bring your own encryption keys (BYOK) or use customer-managed keys (CMK), you're relying entirely on Azure’s key management infrastructure, which is still hosted and controlled by Microsoft.

3. Insider and Admin Threats

Cloud administrators (at Microsoft or other vendors) with elevated privileges may technically have access to the infrastructure and, potentially, the decrypted data—even if audit mechanisms are in place.

4. Snapshots and Backups Are Vulnerable

VM snapshots and backups are also encrypted—but if the keys are managed by Azure, these artifacts can still be decrypted without your consent or knowledge.

 

🛠️ What Can You Do to Secure Your Cloud VMs?

Here are steps you can take to actually own your encryption and improve privacy for cloud-based VMs:

✅ 1. Use Customer-Managed Keys (CMK) or BYOK

Instead of letting Azure generate and store the keys, create your own encryption keys using Azure Key Vault (or an external HSM) and manage access tightly. You can also store keys off-cloud.

✅ 2. Use Full Disk Encryption (FDE) Inside the VM

Use tools like LUKS, BitLocker, or VeraCrypt inside your VM. This way, even if the cloud provider snapshots your VM disks, they cannot read the contents without your passphrase.
Tip: To automate boots in encrypted Linux VMs, use clevis + TPM or cloud init scripts with encrypted passphrases—but this adds complexity and trade-offs.

✅ 3. Encrypt /boot Partition and Use Secure Boot + TPM

This prevents attackers or cloud admins from modifying the bootloader (e.g., GRUB) to dump your keys or bypass encryption.

✅ 4. Disable VM Agent or Restrict Capabilities

Azure’s VM Agent can install extensions and communicate with the host. If you don’t need it, disable it or monitor it closely for unexpected activity.

✅ 5. Limit Snapshots and Backups

If you encrypt inside the VM, snapshots will be encrypted blobs. But if not, anyone with access to the snapshot can potentially mount and extract data. Use encrypted backups, and secure the keys externally.

 

🚨 Don’t Trust Blindly—Trust Minimally

Relying solely on the cloud provider for encryption at rest means you’re trusting a third party with:

  • Your full disk contents

  • Your encryption keys

  • Your logs and diagnostic data

  • And possibly even your metadata

If privacy and security are important to your organization (e.g., in finance, healthcare, legal, activism), this trust model is flawed.

 

🔒 Recommended Tools and Approaches

Tool/Method Purpose Control Level
LUKS2 + TPM Full disk encryption (Linux) High
BitLocker + PIN/TPM Full disk encryption (Windows) Medium–High
Azure Key Vault + CMK Key management Medium
Bring Your Own Key (BYOK) External key control High
Qubes OS as guest Secure VM OS with compartmentalization Very High