Secure Bitbucket configuration properties
Deprecation notice
In Bitbucket 8.11, we've added a new property encrypted-property.cipher.classname
that replaces the existing jdbc.password.decrypter.classname
property. This new property allows you to encrypt all properties available in the bitbucket.properties
file.
We will be removing the jdbc.password.decrypter.classname
property in Bitbucket 9.0 and recommend switching to the new property.
To add extra security to your Bitbucket Data Center instance, you can encrypt the configuration properties that are stored in the bitbucket.properties
file. Different encryption methods are available for both basic and advanced users. Additionally, you can create your own encryption mechanism.
The solutions outlined below provide a level of protection for encrypting database values, but do not offer complete security.
The configuration files will still contain the necessary data to decrypt the values, which means that an attacker with access to these files could potentially decrypt the property values.
These approaches are intended to provide an additional layer of protection against accidental exposure of sensitive data but should not be relied upon as a comprehensive security solution.
We recommend that you secure the server where Bitbucket and the database reside.
Base64 encoding
We don't recommend Base64 encoding in production for securing secrets because it doesn't provide encryption, and therefore can't guarantee sufficient data protection.
Learn more about Base64 encoding
AES encryption
This method allows you to choose an algorithm to encrypt sensitive information. It provides more security as you don't have to store encrypted information anywhere in the configuration file, which makes it difficult for unauthorized parties to find and decrypt it.
Learn more about AES encryption
AWS Secrets Manager
AWS Secrets Manager provides a high-level secure storage option for your database credentials. This service retrieves credentials through a runtime call, eliminating hard-coded credentials, such as keys and tokens, altogether.
Learn more about AWS Secrets Manager for encryption
Custom encryption
If you have special requirements for encryption, you can create your own encryption mechanism based on our examples.