Secure Bitbucket configuration properties

Administer Bitbucket Data Center and Server

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

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 and Server 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.

Learn more about custom encryption

Last modified on Jul 15, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.