Skip to content

Commit 41516ea

Browse files
authored
Merge pull request Azure#13160 from jlheard/user/jlheard/qualys-vm-host-logs-optimization
- Added rate limit of 1 QPS - Made truncation_limit query parameter configurable - Updated API versions for createSolutionV3.ps1 to use the latest and table versions of the ARM APIs. - Fixing the Truffle Hog secrets scanning tool -reduced git checkout fetch-depth from 50 to 10 to check less history and use less disk space which was being exhausted on the worker
2 parents 8190796 + ca83597 commit 41516ea

File tree

11 files changed

+173
-41
lines changed

11 files changed

+173
-41
lines changed

.github/workflows/ScanSecrets.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
- name: Checkout code
1111
uses: actions/checkout@v4
1212
with:
13-
fetch-depth: 50
13+
fetch-depth: 10
1414
- name: Secret Scanning
1515
uses: trufflesecurity/trufflehog@main
1616
with:
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
path_ofthe_file_toskip_from_scanning
2-

Solutions/QualysVM/Data Connectors/QualysVMHostLogs_ccp/QualysVMHostLogs_ConnectorDefinition.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,48 @@
120120
"description": "Ensure the API Server URL starts with https:// and paste the whole API Server URL without / at the ending"
121121
}
122122
},
123+
{
124+
"type": "Markdown",
125+
"parameters": {
126+
"content": "#### 3. Truncation Limit \n Configure the maximum number of host records to retrieve per API call (20-5000 range). Higher values may improve performance but could impact API response times."
127+
}
128+
},
129+
{
130+
"type": "Dropdown",
131+
"parameters": {
132+
"label": "Truncation Limit",
133+
"name": "truncationLimit",
134+
"options": [
135+
{
136+
"key": "1000",
137+
"text": "1000 - API default value"
138+
},
139+
{
140+
"key": "20",
141+
"text": "20 - Minimal load, slower collection"
142+
},
143+
{
144+
"key": "100",
145+
"text": "100 - Low load"
146+
},
147+
{
148+
"key": "500",
149+
"text": "500 - Moderate load"
150+
},
151+
{
152+
"key": "2500",
153+
"text": "2500 - High load, faster collection"
154+
},
155+
{
156+
"key": "5000",
157+
"text": "5000 - Maximum load, fastest collection"
158+
}
159+
],
160+
"placeholder": "Select truncation limit",
161+
"isMultiSelect": false,
162+
"required": true
163+
}
164+
},
123165
{
124166
"type": "ConnectionToggleButton",
125167
"parameters": {

Solutions/QualysVM/Data Connectors/QualysVMHostLogs_ccp/QualysVMHostLogs_PollingConfig.json

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,44 +6,45 @@
66
"kind": "RestApiPoller",
77
"properties": {
88
"connectorDefinitionName": "QualysVMLogsCCPDefinition",
9-
"dataType": "QualysHostDetectionV3_CL",
9+
"dataType": "QualysHostDetectionV3_CL",
1010
"auth": {
11-
"type": "Basic",
12-
"userName": "[[parameters('username')]",
13-
"password": "[[parameters('password')]"
11+
"type": "Basic",
12+
"userName": "[[parameters('username')]",
13+
"password": "[[parameters('password')]"
1414
},
1515
"request": {
16-
"apiEndpoint": "{{apiServerUrl}}/api/3.0/fo/asset/host/vm/detection/",
16+
"apiEndpoint": "{{apiServerUrl}}/api/3.0/fo/asset/host/vm/detection/",
1717
"httpMethod": "GET",
1818
"QueryWindowInMin": 10,
19+
"rateLimitQPS": 1,
1920
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
2021
"headers": {
2122
"X-Requested-With": "XMLHttpRequest",
2223
"User-Agent": "Scuba"
2324
},
2425
"queryParameters": {
25-
"action": "list",
26-
"truncation_limit": 1,
26+
"action": "list",
27+
"truncation_limit": "[[parameters('truncationLimit')[0]]",
2728
"status": "New,Fixed,Active,Re-Opened",
2829
"vm_processed_before": "{_QueryWindowEndTime}",
2930
"vm_processed_after": "{_QueryWindowStartTime}"
30-
}
31+
}
3132
},
3233
"response": {
3334
"eventsJsonPaths": [
3435
"$.HOST_LIST_VM_DETECTION_OUTPUT.RESPONSE.HOST_LIST.HOST"
3536
],
3637
"format": "xml"
3738
},
38-
"dcrConfig": {
39+
"dcrConfig": {
3940
"streamName": "Custom-QualysVM",
4041
"dataCollectionEndpoint": "{{dataCollectionEndpoint}}",
4142
"dataCollectionRuleImmutableId": "{{dataCollectionRuleImmutableId}}"
4243
},
4344
"paging": {
4445
"pagingType": "LinkHeader",
4546
"linkHeaderTokenJsonPath": "$.HOST_LIST_VM_DETECTION_OUTPUT.RESPONSE.WARNING.URL.#cdata-section"
46-
}
47+
}
4748
}
4849
}
4950
]
54.3 KB
Binary file not shown.

Solutions/QualysVM/Package/createUiDefinition.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"name": "dataconnectors1-text",
6161
"type": "Microsoft.Common.TextBlock",
6262
"options": {
63-
"text": "This Solution installs the data connector for QualysVM. You can get QualysVM data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view."
63+
"text": "This Solution installs the data connector for Qualys Vulnerability Management (via Codeless Connector Framework). You can get Qualys Vulnerability Management (via Codeless Connector Framework) data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view."
6464
}
6565
},
6666
{

0 commit comments

Comments
 (0)