Auditing a Self-built Database on ECS

Database audit is deployed in bypass mode. The database audit agent is deployed on the database or application server to obtain access traffic, upload traffic data to the audit system, receive audit system configuration commands, and report database monitoring results, implementing security audit on self-built databases on ECS and BMS.

Figure 1 shows the architecture used for auditing a self-built database on ECS.
Figure 1 Auditing self-built databases on ECS and BMS

Scenario

Assume you have created a database on HUAWEI CLOUD Elastic Cloud Server (ECS). Table 1 describes its details. You need to locate and track internal violations and improper operations in the database to meet compliance requirements. This section describes how to install an agent on the database, enable the database audit function, and check audit results.

Table 1 ECS database information

Database Type

MySQL

Database Version

5.7

IP Address

192.168.1.5

Port

3306

OS

LINUX64

Limitations and Constraints

  • Disable SSL for a database before auditing it.
  • The database audit instance and the database to be audited must be in the same region.
  • For connection purposes, ensure the VPC of the database audit instance is the same as that of the agent node.

    For details about how to choose the node, see How Do I Determine Where to Install an Agent?

Step 1: Purchase Database Audit

Configure and purchase the database audit service. For details, see Purchasing Database Audit.

For connection purposes, ensure the VPC of the database audit instance is the same as that of the agent node.

For details about how to choose the node, see How Do I Determine Where to Install an Agent?

Step 2: Add a Database and Enable Audit

After purchasing database audit, add the example database to the database audit instance and enable the database audit function for the database.

  1. Log in to the management console.
  2. Go to the database addition page.

    Figure 2 Accessing the database addition page

  3. In the displayed dialog box, set database parameters described in Table 1, as shown in Figure 3.

    Figure 3 Add Database dialog box

  4. Click OK. The database is added to the database list and its audit status is Disabled.
  5. Locate the row that contains the database and click Enable in the Operation column to enable audit.

Step 3: Add an Agent

  1. In the Agent column of the database, click Add, as shown in Figure 4.

    Figure 4 Adding an agent

  2. In the displayed dialog box, select an addition mode.

    Figure 5 Adding an agent to a database

  3. Click OK.

Step 4: Add a Security Group Rule

Configure TCP (port 8000) and UDP (ports 7000 to 7100) in the security group inbound rule of the database audit instance to allow the agent to communicate with the audit instance.
  • If the inbound rules of the security group have been configured for the installing node, go to Step 5: Install an Agent.
  • If no inbound rule has been configured, perform the following operations.

    You can configure security group rules before or after installing an agent.

  1. Obtain the IP address of the agent node.
  2. Click Add Security Group.
  3. In the displayed dialog box, record the security group name (for example, default) of the database audit instance, as shown in Figure 6.

    Figure 6 Adding a security group rule

  4. Click Go to VPC.
  5. Enter the security group name default in the search box in the upper right corner of the list, and click or press Enter. The group information is displayed in the list.
  6. Click the group name default.
  7. On the Inbound Rules tab, click Add Rule. See Figure 7.

    Figure 7 Adding rules

  8. In the Add Inbound Rule dialog box, add TCP (port number 8000) and UDP protocols (port number from 7000 to 7100) for the installing node IP address in Figure 8.

    Figure 8 Add Inbound Rule dialog box (ECS)

Step 5: Install an Agent

Download the agent package and install it on the required node. A database can be audited only after it is connected to a database audit instance.

Each agent has a unique ID, which is used as the key for connecting to a database audit instance. If you delete an agent and add it back, you need to download and install the agent again.

  1. Log in to the DBSS console.
  2. In the navigation tree on the left, choose Database Audit > Databases.
  3. Select an instance in the Instance drop-down list.
  4. Click next to the database to view details of its agent. In the Operation column of the agent, click Download Agent, as shown in Figure 9.

    The agent installation package will be downloaded to your local PC.
    Figure 9 Downloading an agent

  5. Use a cross-platform transmission tool (for example, WinSCP) to upload the downloaded agent installation package xxx.tar to the node specified by Installing Node IP Address in Figure 9.
  6. Log in to the node as user root by using a cross-platform remote access tool (for example, PuTTY) via SSH.
  7. Run the following command to access the directory where the agent installation package xxx.tar is stored:
  8. cd Agent_installation_package_directory
  9. Run the following command to decompress the installation package xxx.tar:
  10. tar -xvf xxx.tar
  11. Run the following command to go to the directory in which the install.sh script is stored:
  12. cd install.sh_script_directory
  13. Run the following command to install the agent:
  14. sh install.sh
  15. If the following information is displayed, the agent has been installed successfully:

    1
    2
    3
    4
    5
    start agent
    starting audit agent
    audit agent started
    start success
    install dbss audit agent done!
    

Step 6: Verify the Communication Between the Agent and the Database Audit Instance

Check to ensure the communication between the agent and the database audit instance is normal.

  1. Run an SQL statement or perform an operation on the database (for example, Select 1;) on the node where the agent is installed.
  2. Go to the SQL statement list, as shown in Figure 10.

    Figure 10 Accessing the SQL statement list

  3. The SQL statement list displays the record of database login, as shown in Figure 11.

    If no SQL statement is displayed, check your network connection. For details, see What Should I Do If the Communication Between the Agent and Database Audit Instance Is Abnormal?

    Figure 11 Viewing SQL statements

Step 7: View Audit Results

You can check audit results on the Dashboard page, or generate, preview, or download reports.

  1. Check overview information.

    Go to the Dashboard page, as shown in Figure 12.

    The Dashboard page displays the audit duration, total number of SQL statements and risks, statements and risks today, and today's sessions of an instance.

    You can click the Statements tab to view SQL statement information or the Sessions tab to view session distribution.
    Figure 12 Accessing the dashboard

  2. Generate, download, or preview reports.

    1. Go to the report management page, as shown in Figure 13.
      Figure 13 Accessing the report management page
    2. In the row containing the desired report template, click Generate Report in the Operation column.
    3. In the displayed dialog box, click to set the start time and end time of the report, and select the database for which you want to generate a report.
    4. Click OK.

      The Reports page is displayed. You can view the report status on this page. After a report is generated, you can preview or download it, as shown in Figure 14.

      To preview a report online, use Google Chrome or Mozilla FireFox.

      Figure 14 Previewing or downloading an audit report