Skip to content

Commit 72447da

Browse files
authored
Merge pull request #271400 from ElazarK/WI229462-OSS-aws
RDS Defender OSS
2 parents 36ac79b + 432d6b6 commit 72447da

10 files changed

+277
-37
lines changed

articles/defender-for-cloud/TOC.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,13 @@
764764
- name: Overview
765765
displayName: PG, PostgreSQL, MySQL, MariaDB, Azure Defender, OS RDBs, OSRDB
766766
href: defender-for-databases-introduction.md
767-
- name: Enable Defender for OSS RDBs and respond to alerts
767+
- name: Enable on Azure
768+
displayName: PG, PostgreSQL, MySQL, MariaDB, Azure Defender, OS RDBs, OSRDB
769+
href: enable-defender-for-databases-azure.md
770+
- name: Enable on AWS (Preview)
771+
displayName: PG, PostgreSQL, MySQL, MariaDB, Azure Defender, OS RDBs, OSRDB
772+
href: enable-defender-for-databases-aws.md
773+
- name: Respond to Defender open-source database alerts
768774
displayName: PG, PostgreSQL, MySQL, MariaDB, open-source relational databases,
769775
Azure Defender, OS RDBs, OSRDB
770776
href: defender-for-databases-usage.md

articles/defender-for-cloud/defender-for-databases-introduction.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: What is Defender for open-source databases
33
description: Learn about the benefits and features of Microsoft Defender for open-source relational databases such as PostgreSQL, MySQL, and MariaDB
4-
ms.date: 04/02/2024
4+
ms.date: 05/01/2024
55
ms.topic: overview
66
ms.author: dacurwin
77
author: dcurwin
@@ -10,61 +10,65 @@ author: dcurwin
1010

1111
# What is Microsoft Defender for open-source relational databases
1212

13-
This plan brings threat protections for the following open-source relational databases:
14-
15-
- [Azure Database for PostgreSQL](../postgresql/index.yml)
16-
- [Azure Database for MySQL](../mysql/index.yml)
17-
- [Azure Database for MariaDB](../mariadb/index.yml)
18-
1913
Defender for Cloud detects anomalous activities indicating unusual and potentially harmful attempts to access or exploit databases. The plan makes it simple to address potential threats to databases without the need to be a security expert or manage advanced security monitoring systems.
2014

2115
## Availability
2216

2317
Check out the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/) for pricing information for Microsoft Defender for open-source relational databases.
2418

25-
Defender for open-source relational database is supported on PaaS environments and not on Azure Arc-enabled machines.
19+
Defender for open-source relational database is supported on PaaS environments for Azure and AWS and not on Azure Arc-enabled machines.
20+
21+
This plan brings threat protections for the following open-source relational databases on Azure:
2622

27-
**Protected versions of PostgreSQL include**:
23+
**Protected versions of [Azure Database for PostgreSQL](../postgresql/index.yml) include**:
2824

2925
- Single Server - General Purpose and Memory Optimized. Learn more in [PostgreSQL Single Server pricing tiers](../postgresql/concepts-pricing-tiers.md).
3026
- Flexible Server - all pricing tiers.
3127

32-
**Protected versions of MySQL include**:
28+
**Protected versions of [Azure Database for MySQL](../mysql/index.yml) include**:
3329

3430
- Single Server - General Purpose and Memory Optimized. Learn more in [MySQL pricing tiers](../mysql/concepts-pricing-tiers.md).
3531
- Flexible Server - all pricing tiers.
3632

37-
**Protected versions of MariaDB include**:
33+
**Protected versions of [Azure Database for MariaDB](../mariadb/index.yml) include**:
3834

3935
- General Purpose and Memory Optimized. Learn more in [MariaDB pricing tiers](../mariadb/concepts-pricing-tiers.md).
4036

37+
For RDS instances on AWS (Preview):
38+
39+
- Aurora PostgreSQL
40+
- Aurora MySQL
41+
- PostgreSQL
42+
- MySQL
43+
- MariaDB
44+
4145
View [cloud availability](support-matrix-cloud-environment.md#cloud-support) for Defender for open-source relational databases
4246

4347
## What are the benefits of Microsoft Defender for open-source relational databases?
4448

45-
Defender for Cloud provides security alerts on anomalous activities so that you can detect potential threats and respond to them as they occur.
49+
Defender for Cloud provides multicloud alerts on anomalous activities so that you can detect potential threats and respond to them as they occur.
4650

4751
When you enable this plan, Defender for Cloud will provide alerts when it detects anomalous database access and query patterns as well as suspicious database activities.
4852

49-
These alerts appear in Defender for Cloud's security alerts page and include:
53+
These alerts appear in Defender for Cloud's multicloud alerts page and include:
5054

5155
- details of the suspicious activity that triggered them
5256
- the associated MITRE ATT&CK tactic
5357
- recommended actions for how to investigate and mitigate the threat
5458
- options for continuing your investigations with Microsoft Sentinel
5559

56-
:::image type="content" source="media/defender-for-databases-introduction/defender-alerts.png" alt-text="Some of the security alerts you might see with your databases protected by Microsoft Defender for open-source relational databases." lightbox="./media/defender-for-databases-introduction/defender-alerts.png":::
60+
:::image type="content" source="media/defender-for-databases-introduction/defender-alerts.png" alt-text="Some of the multicloud alerts you might see with your databases protected by Microsoft Defender for open-source relational databases." lightbox="./media/defender-for-databases-introduction/defender-alerts.png":::
5761

5862
## What kind of alerts does Microsoft Defender for open-source relational databases provide?
5963

60-
Threat intelligence enriched security alerts are triggered when there are:
64+
Threat intelligence enriched multicloud alerts are triggered when there are:
6165

6266
- **Anomalous database access and query patterns** - For example, an abnormally high number of failed sign-in attempts with different credentials (a brute force attempt).
6367
- **Suspicious database activities** - For example, a legitimate user accessing an SQL Server from a breached computer which communicated with a crypto-mining C&C server.
6468
- **Brute-force attacks** – With the ability to separate simple brute force or a successful brute force.
6569

6670
> [!TIP]
67-
> View the full list of security alerts for database servers [in the alerts reference page](alerts-reference.md#alerts-for-open-source-relational-databases).
71+
> View the full list of multicloud alerts for database servers [in the alerts reference page](alerts-reference.md#alerts-for-open-source-relational-databases).
6872
6973
## Related articles
7074

articles/defender-for-cloud/defender-for-databases-usage.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,49 @@
11
---
2-
title: Microsoft Defender for open-source relational databases
2+
title: Respond to Defender open-source database alerts
33
description: Configure Microsoft Defender for open-source relational databases to detect potential security threats.
4-
ms.date: 04/02/2024
4+
ms.date: 05/01/2024
55
ms.topic: how-to
66
ms.author: dacurwin
77
author: dcurwin
88
#customer intent: As a reader, I want to learn how to configure Microsoft Defender for open-source relational databases to enhance the security of my databases.
99
---
1010

11-
# Enable Microsoft Defender for open-source relational databases and respond to alerts
11+
# Respond to Defender open-source database alerts
1212

1313
Microsoft Defender for Cloud detects anomalous activities indicating unusual and potentially harmful attempts to access or exploit databases for the following services:
1414

1515
- [Azure Database for PostgreSQL](../postgresql/index.yml)
1616
- [Azure Database for MySQL](../mysql/index.yml)
1717
- [Azure Database for MariaDB](../mariadb/index.yml)
1818

19-
To get alerts from the Microsoft Defender plan you'll first need to enable it as [shown below](#enable-enhanced-security).
19+
and for RDS instances on AWS (Preview):
2020

21-
Learn more about this Microsoft Defender plan in [Overview of Microsoft Defender for open-source relational databases](defender-for-databases-introduction.md).
21+
- Aurora PostgreSQL
22+
- Aurora MySQL
23+
- PostgreSQL
24+
- MySQL
25+
- MariaDB
2226

23-
## Enable enhanced security
27+
To get alerts from the Microsoft Defender plan you'll first need to enable Defender for open-source relational databases on your [Azure](enable-defender-for-databases-azure.md) or [AWS](enable-defender-for-databases-aws.md) account.
2428

25-
1. From [the Azure portal](https://portal.azure.com), open the configuration page of the database server you want to protect.
29+
Learn more about this Microsoft Defender plan in [Overview of Microsoft Defender for open-source relational databases](defender-for-databases-introduction.md).
2630

27-
1. From the security menu on the left, select **Microsoft Defender for Cloud**.
31+
## Prerequisites
2832

29-
1. If enhanced security isn't enabled, you'll see a button as shown in the following screenshot. Select **Enable Microsoft Defender for [Database type]** (for example, "Microsoft Defender for MySQL") and select **Save**.
33+
- You need a Microsoft Azure subscription. If you don't have an Azure subscription, you can [sign up for a free subscription](https://azure.microsoft.com/pricing/free-trial/).
3034

31-
:::image type="content" source="media/defender-for-databases-usage/enable-defender-for-mysql.png" alt-text="Enable Microsoft Defender for MySQL." lightbox="media/defender-for-databases-usage/enable-defender-for-mysql.png":::
35+
- You must [enable Microsoft Defender for Cloud](get-started.md#enable-defender-for-cloud-on-your-azure-subscription) on your Azure subscription.
3236

33-
> [!TIP]
34-
> This page in the portal will be the same regardless of the database type (PostgreSQL, MySQL, or MariaDB).
37+
- **AWS users only** - Connect your [AWS account](quickstart-onboard-aws.md).
3538

36-
## Respond to security alerts
39+
## Respond to alerts in Defender for Cloud
3740

3841
When Microsoft Defender for Cloud is enabled on your database, it detects anomalous activities and generates alerts. These alerts are available from multiple locations, including:
3942

4043
- In the Azure portal:
4144
- **Microsoft Defender for Cloud's security alerts page** - Shows alerts for all resources protected by Defender for Cloud in the subscriptions you've got permissions to view.
42-
- The resource's **Microsoft Defender for Cloud** page - Shows alerts and recommendations for one specific resource, as shown above in [Enable enhanced security](#enable-enhanced-security).
45+
- The resource's **Microsoft Defender for Cloud** page - Shows alerts and recommendations for one specific resource.
46+
4347
- In the inbox of whoever in your organization has been [designated to receive email alerts](configure-email-notifications.md).
4448

4549
> [!TIP]
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
---
2+
title: Enable Defender for open-source relational databases on AWS
3+
description: Learn how to enable Microsoft Defender for open-source relational databases to detect potential security threats on AWS environments.
4+
ms.date: 05/01/2024
5+
ms.topic: how-to
6+
ms.author: dacurwin
7+
author: dcurwin
8+
#customer intent: As a reader, I want to learn how to configure Microsoft Defender for open-source relational databases to enhance the security of my AWS databases.
9+
---
10+
11+
# Enable Defender for open-source relational databases on AWS (Preview)
12+
13+
Microsoft Defender for Cloud detects anomalous activities in your AWS environment indicating unusual and potentially harmful attempts to access or exploit databases for the following RDS instance types:
14+
15+
- Aurora PostgreSQL
16+
- Aurora MySQL
17+
- PostgreSQL
18+
- MySQL
19+
- MariaDB
20+
21+
To get alerts from the Microsoft Defender plan, you need to follow the instructions on this page to enable Defender for open-source relational databases on AWS.
22+
23+
The Defender for open-source relational databases on AWS plan also includes the ability to discover sensitive data within your account and enrich the Defender for Cloud experience with the findings. This is feature is also included with Defender CSPM.
24+
25+
Learn more about this Microsoft Defender plan in [Overview of Microsoft Defender for open-source relational databases](defender-for-databases-introduction.md).
26+
27+
## Prerequisites
28+
29+
- You need a Microsoft Azure subscription. If you don't have an Azure subscription, you can [sign up for a free subscription](https://azure.microsoft.com/pricing/free-trial/).
30+
31+
- You must [enable Microsoft Defender for Cloud](get-started.md#enable-defender-for-cloud-on-your-azure-subscription) on your Azure subscription.
32+
33+
- At least one connected [AWS account](quickstart-onboard-aws.md) with the required access and permissions.
34+
35+
- Region availability: All public AWS regions (excluding Tel Aviv, Milan, Jakarta, Spain and Bahrain).
36+
37+
## Enable Defender for open-source relational databases
38+
39+
1. Sign in to [the Azure portal](https://portal.azure.com)
40+
41+
1. Search for and select **Microsoft Defender for Cloud**.
42+
43+
1. Select **Environment settings**.
44+
45+
1. Select the relevant AWS account.
46+
47+
1. Locate the Databases plan and select **Settings**.
48+
49+
:::image type="content" source="media/enable-defender-for-databases-aws/databases-settings.png" alt-text="Screenshot of the AWS environment settings page that shows where the settings button is located." lightbox="media/enable-defender-for-databases-aws/databases-settings.png":::
50+
51+
1. Toggle open-source relation databases to **On**.
52+
53+
:::image type="content" source="media/enable-defender-for-databases-aws/toggle-open-source-on.png" alt-text="Screenshot that shows how to toggle the open-source relational databases to on." lightbox="media/enable-defender-for-databases-aws/toggle-open-source-on.png":::
54+
55+
> [!NOTE]
56+
> Toggling the open-source relational databases to on will also enable sensitive data discovery to on, which is a shared feature with Defender CSPM's sensitive data discovery for relation database service (RDS).
57+
>
58+
> :::image type="content" source="media/enable-defender-for-databases-aws/cspm-shared.png" alt-text="Screenshot that shows the settings page for Defender CSPM and the sensitive data turned on with the protected resources." lightbox="media/enable-defender-for-databases-aws/cspm-shared.png":::
59+
>
60+
> Learn more about [sensitive data discovery in AWS RDS instances](concept-data-security-posture-prepare.md#discovering-aws-rds-instances).
61+
62+
1. Select **Configure access**.
63+
64+
1. In the deployment method section, select **Download**.
65+
66+
1. Follow the update stack in AWS instructions. This process will create or update the CloudFormation template with the [required permissions](#required-permissions-for-defenderforcloud-datathreatprotectiondb-role).
67+
68+
1. Check the box confirming the CloudFormation template has been updated on AWS environment (Stack).
69+
70+
1. Select **Review and generate**.
71+
72+
1. Review the presented information and select **Update**.
73+
74+
Defender for Cloud will automatically [make changes to your parameter and option group settings](#affected-parameter-and-option-group-settings).
75+
76+
### Required permissions for DefenderForCloud-DataThreatProtectionDB Role
77+
78+
The following table shows a list of the required permissions that were given to the role that was created or updated, when you downloaded the CloudFormation template and updated the AWS Stack.
79+
80+
| Permission added | Description |
81+
|--|--|
82+
| rds:AddTagsToResource | to add tag on option group and parameter group created |
83+
| rds:DescribeDBClusterParameters | describe the parameters inside the cluster group |
84+
| rds:CreateDBParameterGroup | create database parameter group |
85+
| rds:ModifyOptionGroup | modify option inside the option group |
86+
| rds:DescribeDBLogFiles | describe the log file |
87+
| rds:DescribeDBParameterGroups | describe the database parameter group |
88+
| rds:CreateOptionGroup | create option group |
89+
| rds:ModifyDBParameterGroup | modify parameter inside the databases parameter group |
90+
| rds:DownloadDBLogFilePortion | download log file |
91+
| rds:DescribeDBInstances | describe the database |
92+
| rds:ModifyDBClusterParameterGroup | modify cluster parameter inside the cluster parameter group |
93+
| rds:ModifyDBInstance | modify databases to assign parameter group or option group if needed |
94+
| rds:ModifyDBCluster | modify cluster to assign cluster parameter group if needed |
95+
| rds:DescribeDBParameters | describe the parameters inside the database group |
96+
| rds:CreateDBClusterParameterGroup | create cluster parameter group |
97+
| rds:DescribeDBClusters | describe the cluster |
98+
| rds:DescribeDBClusterParameterGroups | describe the cluster parameter group |
99+
| rds:DescribeOptionGroups | describe the option group |
100+
101+
## Affected parameter and option group settings
102+
103+
When you enable Defender for open-source relational databases on your RDS instances, Defender for Cloud automatically enables auditing by using audit logs in order to be able to consume and analyze access patterns to your database.
104+
105+
Each relational database management system or service type has its own requirements. The following table describes the requirements for each type.
106+
107+
| Type | Parameter | Value |
108+
|--|--|--|
109+
| PostgreSQL and Aurora PostgreSQL | log_connections | 1|
110+
| PostgreSQL and Aurora PostgreSQL | log_disconnections | 1 |
111+
| Aurora MySQL instance and cluster parameter group | server_audit_logging | 1 |
112+
| Aurora MySQL instance and cluster parameter group | server_audit_events | - If it exists, expand the value to include CONNECT, QUERY, <br> - If it doesn't exist, add it with the value CONNECT, QUERY. |
113+
| Aurora MySQL instance and cluster parameter group | server_audit_excl_users | If it exists, expand it to include rdsadmin. |
114+
| Aurora MySQL instance and cluster parameter group | server_audit_incl_users | - If it exists with a value and rdsadmin as part of the include, then it won't be present in SERVER_AUDIT_EXCL_USER, and the value of include is empty. |
115+
116+
An option group is required for MySQL and MariaDB with the following options for the MARIADB_AUDIT_PLUGIN (If the option doesn’t exist, add the option. If the option exists expand the values in the option):
117+
118+
| Option name | Value |
119+
|--|--|
120+
| SERVER_AUDIT_EVENTS | If it exists, expand the value to include CONNECT <br> If it doesn't exist, add it with value CONNECT. |
121+
| SERVER_AUDIT_EXCL_USER | If it exists, expand it to include rdsadmin. |
122+
| SERVER_AUDIT_INCL_USERS | If it exists with a value and rdsadmin is part of the include, then it won't be present in SERVER_AUDIT_EXCL_USER, and the value of include is empty. |
123+
124+
> [!IMPORTANT]
125+
> You may need to reboot your instances to apply the changes.
126+
>
127+
> If you are using the default parameter group, a new parameter group will be created that includes the required parameter changes with the prefix `defenderfordatabases*`.
128+
>
129+
> If a new parameter group was created or if static parameters were updated, they won't take effect until the instance is restarted.
130+
131+
> [!NOTE]
132+
> - If a parameter group already exists it will be updated accordingly.
133+
>
134+
> - MARIADB_AUDIT_PLUGIN is supported in MariaDB 10.2 and higher, MySQL 8.0.25 and higher 8.0 versions and All MySQL 5.7 versions.
135+
>
136+
> - Changes to [MARIADB_AUDIT_PLUGIN are added to the next maintenance window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html#Appendix.MySQL.Options.AuditPlugin.Add).
137+
138+
## Related content
139+
140+
- [What's supported in Sensitive Data Discovery](concept-data-security-posture-prepare.md#whats-supported).
141+
- [Discovering sensitive data on AWS RDS instances](concept-data-security-posture-prepare.md#discovering-aws-rds-instances).
142+
143+
## Next step
144+
145+
> [!div class="nextstepaction"]
146+
> [Respond to Defender OSS alerts](defender-for-databases-usage.md)

0 commit comments

Comments
 (0)