1. Support Center
  2. Documentation
  3. Enterprise Edition
  4. Getting started
  5. Setting up the external DB

Setting up the external database

Note: This process is only relevant if you plan to use an external database rather than the embedded one provided with Burp Suite Enterprise Edition. If this is your first time setting up Burp Suite Enterprise Edition, remember you can always start with the bundled database and migrate to an external database later.

If using an external database, you will need to create a database schema for Burp Suite Enterprise Edition to use. Please follow the instructions below for your database type.

The set-up script will create two users, called burp_enterprise and burp_agent.

You should replace the placeholder passwords specified in the script with your own strong passwords.

Note

Keep a record of the connection details for your external database - you will need to provide them later during either the installation or migration process.

Please be aware that if you use the wizard to set up an on-premise installation of Burp Suite Enterprise Edition, when prompted to provide your JDBC URL, you do not need to include the jdbc:<subprotocol>:// prefix as this will be derived automatically based on the database type that you selected. During a cloud deployment, however, you will still need to provide the full JDBC URL as specified below.

PostgreSQL

Setup script: CREATE DATABASE burpenterprise;
CREATE USER burp_enterprise PASSWORD '********';
CREATE USER burp_agent PASSWORD '********';
GRANT ALL ON DATABASE burpenterprise TO burp_enterprise;
JDBC URL format: jdbc:postgresql://{Server address}:5432/burpenterprise

Microsoft SQL Server

Setup script: sp_configure 'contained database authentication', 1;
RECONFIGURE;
create database burpenterprise containment=PARTIAL;
use burpenterprise;
create user burp_enterprise with password='********';
create user burp_agent with password='********';
alter role db_owner add member burp_enterprise;
JDBC URL format: jdbc:sqlserver://[serverName]:1433;databaseName=burpenterprise

To support password-based logins, you need to ensure that the "Windows Authentication and SQL Server Authentication" option is enabled for the installation. This option is sometimes referred to as "Mixed Mode Authentication".

Oracle

Setup script: CREATE TABLESPACE burpenterprise_tabspace DATAFILE 'burpenterprise_tabspace.dat' SIZE 100M
  AUTOEXTEND ON;
CREATE USER burp_enterprise DEFAULT TABLESPACE burpenterprise_tabspace QUOTA UNLIMITED ON
  burpenterprise_tabspace IDENTIFIED BY ********;
GRANT CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION, CREATE TABLE, CREATE TRIGGER,
  CREATE SYNONYM, CREATE PUBLIC SYNONYM, DROP PUBLIC SYNONYM TO burp_enterprise;
CREATE USER burp_agent IDENTIFIED BY ********;
GRANT CREATE SESSION to burp_agent;
JDBC URL format: jdbc:oracle:thin:@//[serverName]:1521/[instanceId]

MariaDB / MySQL

Setup script: CREATE DATABASE burpenterprise;
CREATE USER 'burp_enterprise'@'%' IDENTIFIED BY '********';
CREATE USER 'burp_agent'@'%' IDENTIFIED BY '********';
GRANT ALL PRIVILEGES ON burpenterprise.* TO 'burp_enterprise'@'%' WITH GRANT OPTION;
JDBC URL format: jdbc:mysql://{server address}:3306/burpenterprise

Note for MySQL users

If binary logging is enabled for your MySQL database, users cannot create stored functions unless they have SUPER privileges. As a result, Burp Suite Enterprise Edition may be unable to create the functions it needs to set up your database. Although you might not have explicitly enabled binary logging, if you're using a cloud service, such as an RDS instance on AWS, it is often enabled by default. In this case, you may encounter the following error when trying to install Burp Suite Enterprise Edition:

liquibase.exception.MigrationFailedException: Migration failed for change set true::in_progress_scan_by_agent_mysql::PortSwigger:
Reason: liquibase.exception.DatabaseException: (conn=21) You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) [Failed SQL: (1419) CREATE FUNCTION in_progress_scans_for_agent(machine_id VARCHAR(64))

To prevent this error, you just need to set the global system variable log_bin_trust_function_creators = 1. If you're using a cloud service, you may need to consult your service provider's documentation for details on how to do this.