Skip to content

Commit ea8a8f3

Browse files
committed
add suitability notice
1 parent bf4a0f4 commit ea8a8f3

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,28 @@ and then decrypt it on that node. If you like, you may also paste the ciphertext
4949
into your manifest or Hiera datafiles and then manually invoke the `node_decrypt()`
5050
function as needed.
5151

52+
## Suitability
53+
54+
Please note that `node_encrypt` is ***not a security panacea***. It will encrypt
55+
your secrets in the catalog file on disk using the node's certificate, also on
56+
disk. This means that if an attacker gains root level access to your filesystem,
57+
then they can likely read both the encrypted secrets and the key used to decrypt
58+
them.
59+
60+
| ⚠️ **Warning:** |
61+
|-----------------|
62+
| *`node_encrypt` will only protect you in cases where an attacker has access to the catalog file, but not to the node's private certificate.* |
63+
64+
Some of the cases protected by `node_encrypt` might include:
65+
66+
* Filesystem backup
67+
* Using the catalog files for certain kinds of [impact analysis](https://dev.to/camptocamp-ops/automated-puppet-impact-analysis-1c1)
68+
* Making catalogs available for troubleshooting with catalog diff
69+
* Retrieving catalogs from [PuppetDB via API](https://puppet.com/docs/puppetdb/latest/api/query/v4/catalogs.html)
70+
71+
If you have more stringent security requirements, we suggest integrating with a purpose
72+
built secret server. See [docs](https://puppet.com/docs/puppet/latest/integrations_with_secret_stores.html) for more details.
73+
5274

5375
## Usage
5476

0 commit comments

Comments
 (0)