Skip to content

Commit 8ca5b27

Browse files
authored
Merge branch 'Azure:master' into master
2 parents 52dcf30 + 508b3f2 commit 8ca5b27

File tree

182 files changed

+17080
-3880
lines changed

Some content is hidden

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

182 files changed

+17080
-3880
lines changed

.script/tests/KqlvalidationsTests/CustomTables/Illumio_Auditable_Events_CL.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@
4444
{
4545
"name": "version",
4646
"type": "int"
47+
},
48+
{
49+
"name": "TenantId",
50+
"type": "String"
51+
},
52+
{
53+
"Name": "_ItemId",
54+
"Type": "String"
4755
}
4856
]
4957
}

.script/tests/KqlvalidationsTests/CustomTables/Illumio_Flow_Events_CL.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@
4545
"name": "un",
4646
"type": "string"
4747
},
48+
{
49+
"name": "sn",
50+
"type": "string"
51+
},
4852
{
4953
"name": "src_ip",
5054
"type": "string"
@@ -128,6 +132,18 @@
128132
{
129133
"name": "version",
130134
"type": "int"
131-
}
135+
},
136+
{
137+
"name": "icmp_type",
138+
"type": "int"
139+
},
140+
{
141+
"name": "TenantId",
142+
"type": "String"
143+
},
144+
{
145+
"Name": "_ItemId",
146+
"Type": "String"
147+
}
132148
]
133149
}

.script/tests/asimParsersTest/ingestASimSampleData.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,28 @@ def extract_event_vendor_product(parser_query,parser_file):
267267
print(f'Event Product field not mapped in parser. Please map it in parser query.{parser_file}')
268268
return event_vendor, event_product ,schema_name
269269

270+
def convert_data_type(schema_result, data_result):
271+
for data in data_result:
272+
for schema in schema_result:
273+
field_name = schema["name"]
274+
field_type = schema["type"]
275+
276+
if field_name in data:
277+
value = data[field_name]
278+
279+
# Handle conversion based on schema type
280+
281+
if field_type == "string":
282+
# Convert to string
283+
data[field_name] = str(value)
284+
elif field_type == "boolean":
285+
# Convert to boolean
286+
if isinstance(value, str) and value.lower() in ["true", "false"]:
287+
data[field_name] = value.lower() == "true"
288+
289+
return data_result
290+
291+
270292
#main starting point of script
271293

272294
workspace_id = "e9beceee-7d61-429f-a177-ee5e2b7f481a"
@@ -336,7 +358,11 @@ def extract_event_vendor_product(parser_query,parser_file):
336358
else:
337359
print(f"::error::An error occurred while trying to get content of Schema file located at {schemaUrl}: {response.text}")
338360
continue
339-
schema_result = convert_schema_csv_to_json('tempfile.csv')
361+
schema_result = convert_schema_csv_to_json('tempfile.csv')
362+
data_result = convert_data_type(schema_result, data_result)
363+
# conversion of datatype is needed for boolean and string values because during testing it has been observed that
364+
# boolean values are consider as string and numerical value of type string are consider
365+
# as integer which leds to non ingestion of those value in sentinel
340366
# create table
341367
request_body, url_to_call , method_to_use = create_table(json.dumps(schema_result, indent=4),table_name)
342368
response_body=hit_api(url_to_call,request_body,method_to_use)

ASIM/dev/ASimTester/ASimTester.csv

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -547,13 +547,13 @@ EventOwner,string,Optional,ProcessEvent,,,
547547
EventOwner,string,Optional,RegistryEvent,,,
548548
EventOwner,string,Optional,UserManagement,,,
549549
EventOwner,string,Optional,WebSession,,,
550-
EventProduct,string,Mandatory,Authentication,Enumerated,Service Cloud|Auth0|CloudTrail|AAD|ASA|Microsoft Defender for IoT|ISE|M365 Defender for Endpoint|Meraki|Security Events|Okta|PostgreSQL|OpenSSH|su|sudo|Vectra XDR|SentinelOne|WAF|FalconHost|Carbon Black Cloud|Cortex Data Lake|Workspace,
551-
EventProduct,string,Mandatory,AuditEvent,Enumerated,Azure|WAF|Security Events|Exchange 365|Dataminr Pulse|ISE|XDR|Meraki|FalconHost|SentinelOne|Carbon Black Cloud|BloxOne,
550+
EventProduct,string,Mandatory,Authentication,Enumerated,Service Cloud|Auth0|CloudTrail|AAD|ASA|Microsoft Defender for IoT|ISE|M365 Defender for Endpoint|Meraki|Security Events|Okta|PostgreSQL|OpenSSH|su|sudo|Vectra XDR|SentinelOne|WAF|FalconHost|Carbon Black Cloud|Cortex Data Lake|Workspace|Core,
551+
EventProduct,string,Mandatory,AuditEvent,Enumerated,Azure|WAF|Security Events|Exchange 365|Dataminr Pulse|ISE|XDR|Meraki|FalconHost|SentinelOne|Carbon Black Cloud|BloxOne|Core,
552552
EventProduct,string,Mandatory,Common,,,
553553
EventProduct,string,Mandatory,DhcpEvent,,BloxOne,
554554
EventProduct,string,Mandatory,FileEvent,Enumerated,Security Events|Sysmon for Linux|Sysmon|M365 Defender for Endpoint|Azure File Storage|SharePoint|OneDrive|SentinelOne|Carbon Black Cloud|Workspace,
555555
EventProduct,string,Mandatory,Dns,Enumerated,Umbrella|Azure Firewall|DNS Server|Sysmon|Sysmon for Linux|ZIA DNS|NIOS|Cloud DNS|Zeek|Vectra Stream|SentinelOne|FortiGate|BloxOne,
556-
EventProduct,string,Mandatory,NetworkSession,Enumerated,Fortigate|IOS|ISE|SDP|Vectra Stream|NSGFlow|Fireware|VPC|Azure Defender for IoT|Azure Firewall|M365 Defender for Endpoint|Sysmon|Sysmon for Linux|Windows Firewall|WireData|ZIA Firewall|CDL|PanOS|VMConnection|Meraki|Zeek|Firewall|ASA|Cynerio|SentinelOne|WAF|Firepower|FalconHost|Carbon Black Cloud|Cortex Data Lake,
556+
EventProduct,string,Mandatory,NetworkSession,Enumerated,Fortigate|IOS|ISE|SDP|Vectra Stream|NSGFlow|Fireware|VPC|Azure Defender for IoT|Azure Firewall|M365 Defender for Endpoint|Sysmon|Sysmon for Linux|Windows Firewall|WireData|ZIA Firewall|CDL|PanOS|VMConnection|Meraki|Zeek|Firewall|ASA|Cynerio|SentinelOne|WAF|Firepower|FalconHost|Carbon Black Cloud|Cortex Data Lake|Core,
557557
EventProduct,string,Mandatory,ProcessEvent,Enumerated,M365 Defender for Endpoint|Sysmon for Linux|Sysmon|Azure Defender for IoT|Security Events|SentinelOne|Carbon Black Cloud|Vision One,
558558
EventProduct,string,Mandatory,RegistryEvent,Enumerated,M365 Defender for Endpoint|Security Events|Sysmon|Windows Event|SentinelOne|Carbon Black Cloud|Vision One,
559559
EventProduct,string,Mandatory,WebSession,Enumerated,IIS|Squid Proxy|ZIA Proxy|Vectra Stream|PanOS|CDL|Fireware|Meraki|Web Security Gateway|Zeek|Dataminr Pulse|HTTP Server|Fortigate|WAF|ASM|NetScaler|Firepower|Cortex Data Lake|Firewall,
@@ -677,13 +677,13 @@ EventUid,string,Recommended,ProcessEvent,,,
677677
EventUid,string,Recommended,RegistryEvent,,,
678678
EventUid,string,Recommended,UserManagement,,,
679679
EventUid,string,Recommended,WebSession,,,
680-
EventVendor,string,Mandatory,Authentication,Enumerated,Salesforce|AWS|Barracuda|Cisco|Microsoft|Okta|PostgreSQL|OpenBSD|Linux|Vectra|SentinelOne|CrowdStrike|VMware|Google,
681-
EventVendor,string,Mandatory,AuditEvent,Enumerated,Microsoft|AWS|Barracuda|Cisco|Dataminr|Vectra|CrowdStrike|SentinelOne|VMware|Infoblox,
680+
EventVendor,string,Mandatory,Authentication,Enumerated,Salesforce|AWS|Barracuda|Cisco|Microsoft|Okta|PostgreSQL|OpenBSD|Linux|Vectra|SentinelOne|CrowdStrike|VMware|Google|Illumio,
681+
EventVendor,string,Mandatory,AuditEvent,Enumerated,Microsoft|AWS|Barracuda|Cisco|Dataminr|Vectra|CrowdStrike|SentinelOne|VMware|Infoblox|Illumio,
682682
EventVendor,string,Mandatory,Common,,,
683683
EventVendor,string,Mandatory,DhcpEvent,,Infoblox,
684684
EventVendor,string,Mandatory,FileEvent,Enumerated,Microsoft|SentinelOne|VMware|Google,
685685
EventVendor,string,Mandatory,Dns,Enumerated,Cisco|Corelight|GCP|Infoblox|Microsoft|Zscaler|Vectra AI|SentinelOne|Fortinet,
686-
EventVendor,string,Mandatory,NetworkSession,Enumerated,Fortinet|AppGate|Barracuda|Palo Alto|Microsoft|Zscaler|AWS|Vectra AI|WatchGuard|Cisco|Corelight|Check Point|Forcepoint|Cynerio|SentinelOne|CrowdStrike|VMware|SonicWall,
686+
EventVendor,string,Mandatory,NetworkSession,Enumerated,Fortinet|AppGate|Barracuda|Palo Alto|Microsoft|Zscaler|AWS|Vectra AI|WatchGuard|Cisco|Corelight|Check Point|Forcepoint|Cynerio|SentinelOne|CrowdStrike|VMware|SonicWall|Illumio,
687687
EventVendor,string,Mandatory,ProcessEvent,Enumerated,Microsoft|SentinelOne|VMware|TrendMicro,
688688
EventVendor,string,Mandatory,WebSession,Enumerated,Apache|Barracuda|Fortinet|Microsoft|Squid|Zscaler|Vectra AI|Palo Alto|WatchGuard|Cisco|Forcepoint|Corelight|Dataminr|Citrix|F5|SonicWall,
689689
EventVendor,string,Mandatory,UserManagement,Enumerated,Microsoft|Linux|Cisco|SentinelOne,
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
## 1.1.3
2-
* Replace the library rest-client used for connecting with Azure to excon.
3-
2+
- Replaces the `rest-client` library used for connecting to Azure with the `excon` library.
3+
44
## 1.1.1
5-
* Support China and US Government Azure sovereign clouds.
6-
5+
- Adds support for Azure US Government cloud and Microsoft Azure operated by 21Vianet in China.
6+
77
## 1.1.0
8-
* Increase timeout for read/open connections to 120 seconds.
9-
* Add error handling for when connection timeout occurs.
10-
* Upgrade the rest-client dependency minimum version to 2.1.0.
11-
* Allow setting different proxy values for api connections.
12-
* Upgrade version for ingestion api to 2023-01-01.
13-
* Rename the plugin to microsoft-sentinel-log-analytics-logstash-output-plugin.
14-
8+
- Allows setting different proxy values for API connections.
9+
- Upgrades version for logs ingestion API to 2023-01-01.
10+
- Renames the plugin to microsoft-sentinel-log-analytics-logstash-output-plugin.
11+
1512
## 1.0.0
16-
* Initial release for output plugin for logstash to Microsoft Sentinel. This is done with the Log Analytics DCR based API.
13+
- The initial release for the Logstash output plugin for Microsoft Sentinel. This plugin uses Data Collection Rules (DCRs) with Azure Monitor's Logs Ingestion API.

DataConnectors/microsoft-sentinel-log-analytics-logstash-output-plugin/README.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
Microsoft Sentinel provides a new output plugin for Logstash. Use this output plugin to send any log via Logstash to the Microsoft Sentinel/Log Analytics workspace. This is done with the Log Analytics DCR-based API.
44
You may send logs to custom or standard tables.
55

6-
Plugin version: v1.1.0
7-
Released on: 2023-07-23
6+
Plugin version: v1.1.3
7+
Released on: 2024-10-10
88

99
This plugin is currently in development and is free to use. We welcome contributions from the open source community on this project, and we request and appreciate feedback from users.
1010

@@ -22,12 +22,12 @@ Microsoft Sentinel provides Logstash output plugin to Log analytics workspace us
2222

2323
The plugin is published on [RubyGems](https://rubygems.org/gems/microsoft-sentinel-log-analytics-logstash-output-plugin). To install to an existing logstash installation, run `logstash-plugin install microsoft-sentinel-log-analytics-logstash-output-plugin`.
2424

25-
If you do not have a direct internet connection, you can install the plugin to another logstash installation, and then export and import a plugin bundle to the offline host. For more information, see [Logstash Offline Plugin Management instruction](<https://www.elastic.co/guide/en/logstash/current/offline-plugins.html>).
25+
If you do not have a direct internet connection, you can install the plugin to another logstash installation, and then export and import a plugin bundle to the offline host. For more information, see [Logstash Offline Plugin Management instruction](<https://www.elastic.co/guide/en/logstash/current/offline-plugins.html>).
2626

2727
Microsoft Sentinel's Logstash output plugin supports the following versions
2828
- 7.0 - 7.17.13
2929
- 8.0 - 8.9
30-
- 8.11 - 8.14
30+
- 8.11 - 8.15
3131

3232
Please note that when using Logstash 8, it is recommended to disable ECS in the pipeline. For more information refer to [Logstash documentation.](<https://www.elastic.co/guide/en/logstash/8.4/ecs-ls.html>)
3333

@@ -236,3 +236,23 @@ Which will produce this content in the sample file:
236236
}
237237
]
238238
```
239+
240+
241+
## Known issues
242+
243+
When using Logstash installed on a Docker image of Lite Ubuntu, the following warning may appear:
244+
245+
```
246+
java.lang.RuntimeException: getprotobyname_r failed
247+
```
248+
249+
To resolve it, use the following commands to install the *netbase* package within your Dockerfile:
250+
```bash
251+
USER root
252+
RUN apt install netbase -y
253+
```
254+
For more information, see [JNR regression in Logstash 7.17.0 (Docker)](https://github.com/elastic/logstash/issues/13703).
255+
256+
If your environment's event rate is low considering the number of allocated Logstash workers, we recommend increasing the value of *plugin_flush_interval* to 60 or more. This change will allow each worker to batch more events before uploading to the Data Collection Endpoint (DCE). You can monitor the ingestion payload using [DCR metrics](https://learn.microsoft.com/azure/azure-monitor/essentials/data-collection-monitor#dcr-metrics).
257+
For more information on *plugin_flush_interval*, see the [Optional Configuration table](https://learn.microsoft.com/azure/sentinel/connect-logstash-data-connection-rules#optional-configuration) mentioned earlier.
258+

Detections/CommonSecurityLog/MultiVendor-PossibleDGAContacts.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ description: |
44
'Identifies contacts with domains names in CommonSecurityLog that might have been generated by a Domain Generation Algorithm (DGA). DGAs can be used by malware to generate rendezvous points that are difficult to predict in advance.
55
This detection uses the Alexa Top 1 million domain names to build a model of what normal domains look like. It uses this to identify domains that may have been randomly generated by an algorithm.
66
The triThreshold is set to 500 - increase this to report on domains that are less likely to have been randomly generated, decrease it for more likely.
7-
The start time and end time look back over 6 hours of data and the dgaLengthThreshold is set to 8 - meaning domains whose length is 8 or more are reported.'
7+
The start time and end time look back over 6 hours of data and the dgaLengthThreshold is set to 8 - meaning domains whose length is 8 or more are reported.
8+
NOTE - The top1M csv zip file used in the query is dynamic and may produce different results over various time periods. It's important to cross-check the events against the entities involved in the incident.'
89
severity: Medium
910
requiredDataConnectors:
1011
- connectorId: Zscaler
@@ -118,7 +119,7 @@ entityMappings:
118119
fieldMappings:
119120
- identifier: DomainName
120121
columnName: Name
121-
version: 1.0.5
122+
version: 1.0.6
122123
kind: Scheduled
123124
metadata:
124125
source:

Detections/MultipleDataSources/AADHostLoginCorrelation.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ query: |
4141
let suspicious_signins =
4242
table(tableName)
4343
| where ResultType !in ("0", "50125", "50140")
44-
| where IPAddress !in ('127.0.0.1', '::1')
44+
| where IPAddress !in ('127.0.0.1', '::1', '')
4545
| summarize count() by IPAddress
4646
| where count_ > signin_threshold
4747
| summarize make_set(IPAddress);
@@ -115,7 +115,7 @@ entityMappings:
115115
fieldMappings:
116116
- identifier: Address
117117
columnName: IpAddress
118-
version: 1.3.1
118+
version: 1.3.2
119119
kind: Scheduled
120120
metadata:
121121
source:
@@ -125,4 +125,4 @@ metadata:
125125
support:
126126
tier: Community
127127
categories:
128-
domains: [ "Security - Others", "Identity" ]
128+
domains: [ "Security - Others", "Identity" ]

Parsers/ASimAuditEvent/Parsers/ASimAuditEvent.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Parsers:
3333
- _ASim_AuditEvent_SentinelOne
3434
- _ASim_AuditEvent_VMwareCarbonBlackCloud
3535
- _ASim_AuditEvent_InfobloxBloxOne
36+
- _ASim_AuditEvent_IllumioSaaSCore
3637
ParserParams:
3738
- Name: pack
3839
Type: bool
@@ -56,5 +57,6 @@ ParserQuery: |
5657
ASimAuditEventSentinelOne (BuiltInDisabled or ('ExcludeASimAuditEventSentinelOne' in (DisabledParsers))),
5758
ASimAuditEventCrowdStrikeFalconHost(BuiltInDisabled or ('ExcludeASimAuditEventCrowdStrikeFalconHost' in (DisabledParsers))),
5859
ASimAuditEventVMwareCarbonBlackCloud(BuiltInDisabled or ('ExcludeASimAuditEventVMwareCarbonBlackCloud' in (DisabledParsers))),
59-
ASimAuditEventInfobloxBloxOne(BuiltInDisabled or ('ExcludeASimAuditEventInfobloxBloxOne' in (DisabledParsers)))
60+
ASimAuditEventInfobloxBloxOne(BuiltInDisabled or ('ExcludeASimAuditEventInfobloxBloxOne' in (DisabledParsers))),
61+
ASimAuditEventIllumioSaaSCore(BuiltInDisabled or ('ExcludeASimAuditEventIllumioSaaSCore' in (DisabledParsers)))
6062

0 commit comments

Comments
 (0)