Private Key Management Best Practices
When running Web3Signer, there are several best practices to be aware of for proper key management.
- Generate secure BLS keys
 - Store keys in a vault or HSM - Ideally this should be encrypted which can’t be done right now
 - Use environment authentication rather than password and token authentication where possible with vaults or HSMs
 - Only expose the validator signing API on the necessary network interface
 - Enable TLS authentication between the validator client and web3signer
 - Restrict host access to Web3Signer with 
--http-host-allowlist - Disable the key manager API
- Alternatively, restrict access to the API entirely
 
 - Configure the Postgres database with TLS authentication
 - Restrict access to the key config, limiting read access to Web3Signer
 - Run web3signer in a secure enclave e.g. https://aws.amazon.com/blogs/database/aws-nitro-enclaves-for-running-ethereum-validators-part-2