Skip to content

Commit 3f1536f

Browse files
authored
Merge branch 'main' into aws_waf_alert
2 parents e204583 + 007c106 commit 3f1536f

File tree

168 files changed

+40838
-2938
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+40838
-2938
lines changed

‎.github/CODEOWNERS‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
/packages/aws_cloudtrail_otel @elastic/obs-infraobs-integrations
9090
/packages/aws_logs @elastic/obs-ds-hosted-services
9191
/packages/aws_mq @elastic/obs-infraobs-integrations
92+
/packages/aws_securityhub @elastic/security-service-integrations
9293
/packages/aws_bedrock_agentcore @elastic/obs-infraobs-integrations
9394
/packages/aws_vpcflow_otel @elastic/obs-infraobs-integrations
9495
/packages/awsfargate @elastic/obs-infraobs-integrations

‎.github/ISSUE_TEMPLATE/integration_bug.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ body:
143143
- Cyware Intel Exchange [ti_cyware_intel_exchange]
144144
- Darktrace [darktrace]
145145
- Data Exfiltration Detection [ded]
146-
- Defend for Containers (Deprecated) [cloud_defend]
146+
- Defend for Containers (BETA) [cloud_defend]
147147
- Digital Guardian [digital_guardian]
148148
- Docker OpenTelemetry Assets [docker_otel]
149149
- Docker [docker]

‎.github/ISSUE_TEMPLATE/integration_feature_request.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ body:
143143
- Cyware Intel Exchange [ti_cyware_intel_exchange]
144144
- Darktrace [darktrace]
145145
- Data Exfiltration Detection [ded]
146-
- Defend for Containers (Deprecated) [cloud_defend]
146+
- Defend for Containers (BETA) [cloud_defend]
147147
- Digital Guardian [digital_guardian]
148148
- Docker OpenTelemetry Assets [docker_otel]
149149
- Docker [docker]

‎.github/workflows/bump-elastic-stack-version.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- uses: actions/checkout@v6
2626

2727
- name: Install Updatecli in the runner
28-
uses: updatecli/updatecli-action@9a21b6911fe58865c8346d4fde3470010f49bf31 #v2.97.0
28+
uses: updatecli/updatecli-action@b846825b298f5351abd80f94c4f9eab63a38a804 #v2.98.0
2929

3030
- name: Select diff action
3131
if: ${{ github.event_name == 'pull_request' }}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dependencies:
2+
ecs:
3+
reference: git@v9.2.0
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# AWS Security Hub Integration for Elastic
2+
3+
## Overview
4+
The AWS Security Hub integration with Elastic enables the collection of findings for monitoring and analysis. This valuable data can be leveraged within Elastic to analyze security signals from multiple sources, such as posture management, vulnerability management (Amazon Inspector), sensitive data identification (Amazon Macie), and threat detection (Amazon GuardDuty).
5+
6+
This integration utilizes the AWS Security Hub API to collect Findings in the OCSF format.
7+
8+
### Compatibility
9+
10+
The AWS Security Hub integration uses the REST API. It uses the `GetFindingsV2` to collect findings in OCSF format.
11+
12+
### How it works
13+
14+
The **finding** data stream uses the `/findingsv2` endpoint to gather all findings starting from the configured `Initial Interval`. Subsequently, it fetches the recent findings available at each specified `Interval`.
15+
16+
## What data does this integration collect?
17+
18+
The AWS Security Hub integration collects logs of the following types:
19+
20+
- `Finding`: Returns a list of findings in OCSF format. Refer to the [GetFindingsV2 API Reference](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindingsV2.html).
21+
22+
### Supported use cases
23+
24+
Integrating AWS Security Hub with Elastic SIEM provides a comprehensive view of the security state of your AWS resources. Leveraging AWS Security Hub integration helps you analyze security trends to identify and prioritize security issues across your AWS environment. It also adds support for the [Elastic Cloud Security Workflow](https://www.elastic.co/docs/solutions/security/cloud/ingest-third-party-cloud-security-data#_ingest_third_party_security_posture_and_vulnerability_data), allowing users to explore insights via the Elastic [Vulnerability Findings page](https://www.elastic.co/docs/solutions/security/cloud/findings-page-3).
25+
26+
## What do I need to use this integration?
27+
28+
### From Elastic
29+
30+
AWS Security Hub integration adds [Elastic latest transforms](https://www.elastic.co/docs/explore-analyze/transforms/transform-overview#latest-transform-overview). For more details, check the [Transform](https://www.elastic.co/docs/explore-analyze/transforms/transform-setup) setup and requirements.
31+
32+
### From AWS Security Hub
33+
34+
Enable AWS Security Hub in your environment. For more detail, refer to the link [here](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-v2-enable.html).
35+
36+
#### Collecting data from AWS Security Hub API
37+
38+
Users can authenticate using permanent security credentials, as well as temporary security credentials. They can also select `Shared Credential File`, `Credential Profile Name` to retrieve credentials. Additionally, they can use `Role ARN` to specify which AWS IAM role to assume for generating temporary credentials. An `External ID` can also be provided when assuming a role in another account.
39+
40+
The credentials must have permission to perform the **securityhub:GetFindings** action.
41+
42+
## How do I deploy this integration?
43+
44+
### Agent-based deployment
45+
46+
Elastic Agent must be installed. For more details, check the Elastic Agent [installation instructions](docs-content://reference/fleet/install-elastic-agents.md). You can install only one Elastic Agent per host.
47+
48+
Elastic Agent is required to stream data from the syslog or log file receiver and ship the data to Elastic, where the events will then be processed via the integration's ingest pipelines.
49+
50+
### Agentless deployment
51+
52+
Agentless deployments are only supported in Elastic Serverless and Elastic Cloud environments. Agentless deployments provide a means to ingest data while avoiding the orchestration, management, and maintenance needs associated with standard ingest infrastructure. Using an agentless deployment makes manual agent deployment unnecessary, allowing you to focus on your data instead of the agent that collects it.
53+
54+
For more information, refer to [Agentless integrations](https://www.elastic.co/guide/en/serverless/current/security-agentless-integrations.html) and [Agentless integrations FAQ](https://www.elastic.co/guide/en/serverless/current/agentless-integration-troubleshooting.html)
55+
56+
### Onboard / configure
57+
58+
1. In the top search bar in Kibana, search for **Integrations**.
59+
2. In the search bar, type **AWS Security Hub**.
60+
3. Select the **AWS Security Hub** integration from the search results.
61+
4. Select **Add AWS Security Hub** to add the integration.
62+
5. Enable and configure **Collect AWS Security Hub logs via API**:
63+
64+
- Configure AWS Authentication parameters and set the **AWS Region** and **Top Level Domain**. Adjust the integration configuration parameters as needed, including the **Initial Interval**, **Interval**, **Batch Size** etc. to enable data collection.
65+
66+
6. Select **Save and continue** to save the integration.
67+
68+
### Validation
69+
70+
#### Dashboards populated
71+
72+
1. In the top search bar in Kibana, search for **Dashboards**.
73+
2. In the search bar, type **AWS Security Hub**.
74+
3. Select a dashboard for the dataset you are collecting, and verify the dashboard information is populated.
75+
76+
#### Transforms healthy
77+
78+
1. In the top search bar in Kibana, search for **Transforms**.
79+
2. Select the **Data / Transforms** from the search results.
80+
3. In the search bar, type **aws_securityhub**.
81+
4. All transforms from the search results should indicate **Healthy** under the **Health** column.
82+
83+
## Troubleshooting
84+
85+
For help with Elastic ingest tools, check [Common problems](https://www.elastic.co/docs/troubleshoot/ingest/fleet/common-problems).
86+
87+
## Scaling
88+
89+
For more information on architectures that can be used for scaling this integration, check the [Ingest Architectures](https://www.elastic.co/docs/manage-data/ingest/ingest-reference-architectures) documentation.
90+
91+
## Reference
92+
93+
### ECS field reference
94+
95+
#### Finding
96+
97+
{{fields "finding"}}
98+
99+
### Example event
100+
101+
#### Finding
102+
103+
{{event "finding"}}
104+
105+
### Inputs used
106+
107+
These inputs are used in this integration:
108+
109+
- [cel](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-input-cel)
110+
111+
### API usage
112+
113+
This integration dataset uses the following APIs:
114+
115+
- `Finding`: [AWS Security Hub REST API](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindingsV2.html).
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
version: '2.3'
2+
services:
3+
aws_securityhub:
4+
image: docker.elastic.co/observability/stream:v0.20.0
5+
hostname: securityhub.xxxx.amazonaws.com
6+
ports:
7+
- 443
8+
volumes:
9+
- ./files:/files:ro
10+
environment:
11+
PORT: "443"
12+
command:
13+
- http-server
14+
- --addr=:443
15+
- --config=/files/config.yml
16+
- --tls-cert=/files/certificate.crt
17+
- --tls-key=/files/private.key
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDYzCCAksCFHjpS63J08Qx8oUw5qhhPAt4b7XqMA0GCSqGSIb3DQEBCwUAMG4x
3+
CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
4+
cm5ldCBXaWRnaXRzIFB0eSBMdGQxJzAlBgNVBAMMHnNlY3VyaXR5aHViLnh4eHgu
5+
YW1hem9uYXdzLmNvbTAeFw0yNTExMTAxNzA3MjdaFw0zNTExMDgxNzA3MjdaMG4x
6+
CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
7+
cm5ldCBXaWRnaXRzIFB0eSBMdGQxJzAlBgNVBAMMHnNlY3VyaXR5aHViLnh4eHgu
8+
YW1hem9uYXdzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOGm
9+
MbmIurgsjJxtFWDDNa0T0h2bRtVCMC+KwdZpZVwp+K1oFxizkWbsbGFA0SJpMMMZ
10+
aHoSlYfbe7T8QgcJE40o5sVRrOyPNcNbh9THvjmFKE+9SFep083A2f6YBRXssTSA
11+
PMd/hXOdD87biWUnSbgsug0LFZHQcPDz3b6ktExzpEbdMIYSlyrtFass4OWduUzX
12+
W2aiP/jBI2O4ndjmTh78oeED6A10twoaz8fNQzaaAcp9KjB+RViBwgSFekp4sNUo
13+
BiEqLalI6o9ZcbpAIV/fH0SQZy9rEBhrD0xzlqOmM3Mv/xTFkwOgc6EEFA1Tx7nb
14+
Btm0afHgCy63XKKZT+0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAFJ+95GV4zx1k
15+
Ljofy3IwkhF5oW1NsYTQIYPvOhVdTsebP/pXj98Co5QK19CL4UwSNVZmL+egm560
16+
itIqS+Dh9d1JIdrU4JzMuWI7gqA2r2XdwRdbVfR8fKvt9MXoLE6OtrEgRIhQtgPG
17+
7+B5Jarsd85CUSnCk8/Xb1jL3AhMyTtThsUhOaRPInqnodagTz9MI/xFXru7X+mJ
18+
tc5b1/Qzo5s2c0v53VSKRl2dEY1hS0FQ6zpupf/nqxK7XjHqA0bthP7EAJj5dSVh
19+
/18+nnWLm0v8/xRjlJ9Z82QRJrJV96H8bWpAcT0Hk13pi+LcF3XgfYQJSR32z4tt
20+
hPpgCP6KcQ==
21+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)