Skip to content

Commit ef3b198

Browse files
[qualys_gav] Initial release of the Qualys GAV (#14644)
The initial release includes asset data stream, associated dashboards and visualizations. Qualys GAV fields are mapped to their corresponding ECS fields where possible. Test samples were derived from documentation and live data samples, which were subsequently sanitized.
1 parent 37fb8e1 commit ef3b198

32 files changed

+10978
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,7 @@
362362
/packages/proofpoint_tap @elastic/security-service-integrations
363363
/packages/proxysg @elastic/integration-experience
364364
/packages/pulse_connect_secure @elastic/security-service-integrations
365+
/packages/qualys_gav @elastic/security-service-integrations
365366
/packages/qualys_vmdr @elastic/security-service-integrations
366367
/packages/qualys_was @elastic/security-service-integrations
367368
/packages/qnap_nas @elastic/integration-experience
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dependencies:
2+
ecs:
3+
reference: [email protected]
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Qualys Global AssetView (GAV)
2+
3+
## Overview
4+
5+
[Qualys GAV](https://docs.qualys.com/en/gav/latest/) helps you to accurately assess complex IT infrastructure and quickly identify and remediate risk. Using a combination of Qualys sensors — Cloud Agents, scanners and passive network sensors — GAV collects and analyzes data about assets across hybrid environments, and delivers up-to-date, comprehensive and continuous information about those assets as well as their security and compliance posture.
6+
7+
The Qualys GAV integration collect assets via REST API.
8+
9+
## Data streams
10+
11+
The Qualys GAV integration collects logs of the following type:
12+
13+
1. **Asset:** This data stream will collect details of all assets.
14+
15+
>**Note**: For the **Asset** Dashboard, ensure that the time range is aligned with the configured interval parameter to display accurate and consistent data.
16+
17+
## Requirements
18+
19+
### Agentless-enabled integration
20+
21+
Agentless integrations allow you to collect data without having to manage Elastic Agent in your cloud. They make manual agent deployment unnecessary, so you can focus on your data instead of the agent that collects it. For more information, refer to [Agentless integrations](https://www.elastic.co/guide/en/serverless/current/security-agentless-integrations.html) and the [Agentless integrations FAQ](https://www.elastic.co/guide/en/serverless/current/agentless-integration-troubleshooting.html).
22+
23+
Agentless deployments are only supported in Elastic Serverless and Elastic Cloud environments. This functionality is in beta and is subject to change. Beta features are not subject to the support SLA of official GA features.
24+
25+
### Agent-based installation
26+
27+
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.
28+
29+
## Compatibility
30+
31+
For Rest API, this module has been tested against the **2.0** API version.
32+
33+
## Setup
34+
35+
### Collect data from the Qualys GAV API:
36+
37+
- The base URL corresponds to the API Gateway URL of the respective Qualys GAV instance. For reference, see: [Qualys Platform Identification](https://www.qualys.com/platform-identification/#:~:text=apps.qualysksa.com-,API%20URLs,-Use%20API%20Gateway).
38+
- The same username and password used for logging into the Qualys instance are required for authentication when fetching logs through the integration.
39+
40+
### Enable the integration in Elastic
41+
42+
1. In Kibana navigate to **Management** > **Integrations**.
43+
2. In the search top bar, type **Qualys GAV**.
44+
3. Select the **Qualys GAV** integration and add it.
45+
4. Add all the required integration configuration parameters: URL, Username and Password.
46+
5. Save the integration.
47+
48+
## Logs reference
49+
50+
### Asset
51+
52+
This is the `Asset` dataset.
53+
54+
#### Example
55+
56+
{{event "asset"}}
57+
58+
{{fields "asset"}}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: '3.8'
2+
services:
3+
qualys_gav:
4+
image: docker.elastic.co/observability/stream:v0.18.0
5+
hostname: qualys_gav
6+
ports:
7+
- 8090
8+
volumes:
9+
- ./files:/files:ro
10+
environment:
11+
PORT: '8090'
12+
command:
13+
- http-server
14+
- --addr=:8090
15+
- --config=/files/config.yml

packages/qualys_gav/_dev/deploy/docker/files/config.yml

Lines changed: 2003 additions & 0 deletions
Large diffs are not rendered by default.

packages/qualys_gav/changelog.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# newer versions go on top
2+
- version: 0.1.0
3+
changes:
4+
- description: Initial release.
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/14644

packages/qualys_gav/data_stream/asset/_dev/test/pipeline/test-asset.log

Lines changed: 3 additions & 0 deletions
Large diffs are not rendered by default.

packages/qualys_gav/data_stream/asset/_dev/test/pipeline/test-asset.log-expected.json

Lines changed: 1502 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
fields:
2+
tags:
3+
- preserve_original_event
4+
- preserve_duplicate_custom_fields
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
input: cel
2+
service: qualys_gav
3+
vars:
4+
url: http://{{Hostname}}:{{Port}}
5+
username: xxxx
6+
password: xxxx
7+
data_stream:
8+
vars:
9+
preserve_original_event: true
10+
preserve_duplicate_custom_fields: true
11+
batch_size: 2
12+
assert:
13+
hit_count: 5

0 commit comments

Comments
 (0)