During a security assessment, a penetration tester discovers that Vault's seal configuration uses a single master key stored in a file on the server. The attacker gains root access to the server and retrieves the unseal key. What is the best mitigation to prevent this scenario?
Trap 1: Restrict network access to the Vault server with a firewall
A firewall limits network reachability but does nothing once an attacker has root on the host, since the unseal key file remains readable locally. It is tempting because network segmentation is a genuine hardening control, and would be correct against remote attackers lacking server access.
Trap 2: Use Shamir's secret sharing to split the key across multiple files
Shamir's secret sharing splits the unseal key into shares, but storing all shares on the same server lets root read every one. It is tempting because Shamir is Vault's default unseal mechanism, and would be correct if each share were held by a separate operator off-host.
Trap 3: Encrypt the unseal key file with a strong password
Password-encrypting the key file still leaves the decryption material on the compromised host, so root access defeats it. It is tempting because encryption at rest is a real control, and would be correct against theft of the disk or backup rather than a live root compromise.
- A
Restrict network access to the Vault server with a firewall
Why it fails: A firewall limits network reachability but does nothing once an attacker has root on the host, since the unseal key file remains readable locally. It is tempting because network segmentation is a genuine hardening control, and would be correct against remote attackers lacking server access.
- B
Use a cloud auto-unseal mechanism such as AWS KMS
Cloud auto-unseal delegates the unseal key to an external KMS, so the root key never resides on the Vault server's filesystem. Root access alone then cannot retrieve it; the attacker would also need KMS credentials and permissions. This directly satisfies the stem's constraint of preventing unseal-key theft via server compromise.
- C
Use Shamir's secret sharing to split the key across multiple files
Why it fails: Shamir's secret sharing splits the unseal key into shares, but storing all shares on the same server lets root read every one. It is tempting because Shamir is Vault's default unseal mechanism, and would be correct if each share were held by a separate operator off-host.
- D
Encrypt the unseal key file with a strong password
Why it fails: Password-encrypting the key file still leaves the decryption material on the compromised host, so root access defeats it. It is tempting because encryption at rest is a real control, and would be correct against theft of the disk or backup rather than a live root compromise.