Skip to content

Commit 7ad2eae

Browse files
authored
Merge branch 'main' into DOCS-780
2 parents 36bb75f + 5011335 commit 7ad2eae

File tree

42 files changed

+698
-138
lines changed

Some content is hidden

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

42 files changed

+698
-138
lines changed

blog-service/2024/12-31.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -425,10 +425,6 @@ We're excited to announce that when you create a role, you can select **Index Ac
425425

426426
This feature was [previously only available to participants in our beta program](/release-notes-service/2023/12/31/#october-27-2023-manage-account). It is now available for general use.
427427

428-
:::note
429-
These changes are rolling out across deployments incrementally and will be available on all deployments by March 14, 2025.
430-
:::
431-
432428
[Learn more](/docs/manage/users-roles/roles/create-manage-roles/#create-a-role).
433429

434430
### October 14, 2024 (Collection)

cid-redirects.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2674,6 +2674,7 @@
26742674
"/cid/20158": "/docs/integrations/amazon-aws/aws-ground-station",
26752675
"/cid/20159": "/docs/integrations/amazon-aws/aws-healthlake",
26762676
"/cid/20160": "/docs/integrations/amazon-aws/amazon-bedrock",
2677+
"/cid/20161": "/docs/integrations/microsoft-azure/azure-virtual-machine",
26772678
"/cid/8394": "/docs/search/search-query-language/search-operators/dedup",
26782679
"/cid/85858": "/docs/observability/kubernetes/quickstart",
26792680
"/cid/8595": "/docs/manage/security/set-password-policy",

docs/alerts/scheduled-searches/generate-cse-signals.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ For a more detailed description of the options you can configure for a scheduled
1515

1616
## Requirements for the search query
1717

18+
When you [create a scheduled search](/docs/alerts/scheduled-searches/schedule-search/) to generate signals in Cloud SIEM, you start by creating a search query.
19+
1820
This section describes the requirements for your scheduled search, which include a minimum set of fields to be returned, and renaming message fields as necessary to match attribute names in the selected Cloud SIEM record type schema.  
1921

2022
### Required fields
@@ -42,7 +44,6 @@ enable signal generation:
4244
If the `stage` field contains a Tactic that isn't in the MITRE ATT&CK framework, a signal will not be generated, but a record will be. 
4345
:::
4446
* At least one entity field:
45-
4647
* `device_ip`
4748
* `device_mac`
4849
* `device_natIp`
@@ -56,16 +57,35 @@ enable signal generation:
5657
* `srcDevice_ip`
5758
* `srcDevice_mac`
5859
* `srcDevice_natIp`
59-
* `user_username`  
60+
* `user_username`
6061

6162
### Renaming message fields
6263

6364
When you configure a Scheduled Search to create Cloud SIEM signals, you are prompted to select a [Cloud SIEM record type](/docs/cse/schema/cse-record-types/). The fields returned by your search must match an attribute in the record type you select. A field whose name does not match a Cloud SIEM attribute will not be populated in the record created from the Schedule Search results. For more about Cloud SIEM attribute names, see [Attributes You Can Map to Records](/docs/cse/schema/attributes-map-to-records/).
6465

66+
### Example
67+
68+
Let's suppose that `user_username` is the entity field we want to use, and its value needs to be mapped to `actor.email`. Then you need to add the following line to the query: `actor.email as user_username`.
69+
70+
And because the final output of this query is an aggregate, and Cloud SIEM signals expect `normalizedfield`, `stage`, and `entity`, we need need to add those in the `count` expression.
71+
72+
This is how the final query might look:
73+
74+
```txt
75+
((_index=sec_record_* objectType=*)
76+
AND _sourcename = "Google Apps Audit Event")
77+
AND _sourcecategory = "GoogleWorkspace/Groups"
78+
| 5 as normalizedseverity
79+
| "Initial Access" as stage
80+
| json auto
81+
| actor.email as user_username
82+
| count by events.name, events.type, actor.email, event.parameters.user_email, event.parameters.group_email, user_username, stage, normalizedseverity
83+
```
84+
6585
## Scheduling the search
6686

6787
1. After creating and saving your search, click the save icon.<br/><img src={useBaseUrl('img/alerts/save-as.png')} alt="Save the search" style={{border: '1px solid gray'}} width="800"/>
68-
1. The **Save Item** popup appears.<br/><img src={useBaseUrl('img/alerts/save-item.png')} alt="Save as scheduled search" width="500"/>
88+
1. The **Save Item** popup appears.<br/><img src={useBaseUrl('img/alerts/save-item.png')} alt="Save as scheduled search" style={{border: '1px solid gray'}} width="500"/>
6989
:::note
7090
The name of your scheduled search will appear as the signal name in Cloud SIEM.
7191
:::

docs/contributing/remove-doc.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
id: remove-doc
3-
title: Remove a Doc
4-
description: Learn how to properly remove a Sumo Logic doc.
3+
title: Move or Remove a Doc
4+
description: Learn how to properly move or remove a Sumo Logic doc.
55
---
66

77
import useBaseUrl from '@docusaurus/useBaseUrl';
88

9-
When you delete a doc, its URL is also deleted. Visiting the old URL will return a `404 - Page Not Found` error, which negatively impacts customer experience and can damage our SEO.
9+
When you move a doc or remove it altogether, that deletes its URL. Visiting the old URL will return a `404 - Page Not Found` error, which negatively impacts customer experience and can damage our SEO.
1010

1111
To prevent this, create a 301 redirect. Follow these steps to ensure a smooth transition and maintain the health of our docs site.
1212

@@ -31,11 +31,12 @@ As an example, let's say there are two docs called **Nginx App** and **Nginx (Le
3131
Ensure any internal links pointing to the deleted doc are updated to the new URL.
3232

3333
1. In your GitHub authoring tool, run a search for the URL you're removing. For example, if the legacy URL appears in other documents, replace all instances with the new URL.<br/><img src={useBaseUrl('img/contributing/old-url.png')} alt="Screenshot of a 'Find All' search for the URL to be removed" />
34-
1. Check with a Sumo Logic subject matter expert to confirm that you can replace all with the new URL.
35-
36-
:::warning
37-
Never do a "Find All > Replace All", as this can break unrelated items like image paths. Replace each URL on a one-by-one basis.
38-
:::
34+
:::warning
35+
Never do a Find All > Replace All, as this can break unrelated items like image paths. Replace each URL on a one-by-one basis.
36+
:::
37+
1. If applicable:
38+
* Remove from its parent index.md hub page.
39+
* Remove from [Product List](/docs/integrations/product-list/).
3940

4041
## Step 3: Delete the doc file
4142

docs/cse/rules/cse-rules-syntax.md

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ The following expression returns "10.10.1.0":
626626

627627
### hasThreatMatch
628628

629-
The `hasThreatMatch` Cloud SIEM rules function matches incoming records in Cloud SIEM to [threat intelligence indicators](/docs/security/threat-intelligence/threat-indicators-in-cloud-siem/#hasthreatmatch-cloud-siem-rules-language-function). It can also match values in [custom threat intelligence sources in Cloud SIEM](/docs/cse/administration/create-custom-threat-intel-source/).
629+
Use the `hasThreatMatch` Cloud SIEM rules function to match incoming records in Cloud SIEM to [threat intelligence sources](/docs/security/threat-intelligence/about-threat-intelligence/). The function uses all sources in the **Threat Intelligence** tab, unless you specify a specific source. `hasThreatMatch` can also match values in [custom threat intelligence sources in Cloud SIEM](/docs/cse/administration/create-custom-threat-intel-source/).
630630

631631
When an entity is processed by a rule using the `hasThreatMatch` function and is a match, the entity is associated with a known indicator that has a threat type attribute. The entity can be associated with either `threatType` (in normalized JSON format and CSV format), or `indicator_types` (in STIX format).
632632

@@ -635,46 +635,31 @@ When an entity is processed by a rule using the `hasThreatMatch` function and is
635635
`hasThreatMatch([<fields>], <filters>, <indicators>)`
636636

637637
Parameters:
638-
* `<fields>` is a list of comma-separated [field names](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/schema/full_schema.md). At least one field name is required.
639-
* `<filters>` is a logical expression using [indicator attributes](/docs/security/threat-intelligence/upload-formats/#normalized-json-format). Allowed in the filtering are parentheses `()`; `OR` and `AND` boolean operators; and comparison operators `=`, `<`, `>`, `=<`, `=>`, `!=`. <br/>You can filter on the following indicator attributes:
640-
* `actors`
641-
* `confidence`
642-
* `id`
643-
* `indicator`
644-
* `killChain`
645-
* `source`
646-
* `threatType`
647-
* `type`
648-
* `validFrom`
649-
* `validUntil`
650-
* `<indicators>` is an optional case insensitive option that describes how indicators should be matched with regard to their validity. Accepted values are:
638+
* **`<fields>`**. A list of comma-separated [field names](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/schema/full_schema.md). At least one field name is required.
639+
* **`<filters>`**. A logical expression using [indicator attributes](/docs/security/threat-intelligence/upload-formats/#normalized-json-format). Allowed in the filtering are parentheses `()`; `OR` and `AND` boolean operators; and comparison operators `=`, `<`, `>`, `=<`, `=>`, `!=`. <br/>You can filter on the following indicator attributes:
640+
* `actors`. An identified threat actor such as an individual, organization, or group.
641+
* `confidence` Confidence that the data represents a valid threat, where 100 is highest. Malicious confidence scores from different sources are normalized and mapped to a 0-100 numerical value.
642+
* `id`. ID of the indicator.
643+
* `indicator`. Value of the indicator, such as an IP address, file name, email address, etc.
644+
* `killChain`. The various phases an attacker may undertake to achieve their objectives (for example, `reconnaissance`, `weaponization`, `delivery`, `exploitation`, `installation`, `command-and-control`, `actions-on-objectives`).
645+
* `source`. The source in the Sumo Logic datastore displayed in the **Threat Intelligence** tab.
646+
* `threatType`. The threat type of the indicator (for example, `anomalous-activity`, `anonymization`, `benign`, `compromised`, `malicious-activity`, `attribution`, `unknown`).
647+
* `type`. The indicator type (for example, `ipv4-addr`, `domain-name`, `'file:hashes`, etc.)
648+
* `validFrom`. Beginning time this indicator is valid.
649+
* `validUntil`. Ending time this indicator is valid.
650+
* **`<indicators>`**. An optional case insensitive option that describes how indicators should be matched with regard to their validity. Accepted values are:
651651
* `active_indicators`. Match active indicators only (default).
652652
* `expired_indicators`. Match expired indicators only.
653653
* `all_indicators`. Match all indicators.
654654

655-
**Examples**
656-
657-
* `hasThreatMatch([srcDevice_ip])`
658-
* `hasThreatMatch([srcDevice_ip, dstDevice_ip])`
659-
* `hasThreatMatch([srcDevice_ip], type="ipv4-addr")`
660-
* `hasThreatMatch([srcDevice_ip], confidence > 50)`
661-
* `hasThreatMatch([srcDevice_ip], confidence > 50 AND source="TAXII2Source")`
662-
* `hasThreatMatch([srcDevice_ip], source="s1" OR (source="s2" confidence > 50))`
663-
* `hasThreatMatch([srcDevice_ip], expired_indicators)`
664-
* `hasThreatMatch([srcDevice_ip], confidence > 50, all_indicators)`
665-
666655
#### Best practice
667656

668657
As a best practice, always include filtering to narrow your match to just the types desired (that is, `type=`). This will ensure that your match expressions are not overly broad.
669658

670-
For example:
671-
* `hasThreatMatch([dstDevice_ip], confidence > 1 AND (type="ipv4-addr" OR type="ipv6-addr"))`
672-
* `hasThreatMatch([file_hash_imphash, file_hash_md5, file_hash_pehash, file_hash_ssdeep, file_hash_sha1, file_hash_sha256], confidence > 1 AND type="file:hashes")`
673-
* `hasThreatMatch([http_url], confidence > 1 AND type="url")`
674-
* `hasThreatMatch([dstDevice_ip, srcDevice_ip], (confidence >1 AND confidence <50) AND (type='ipv4-addr' OR type='ipv6-addr'))`
675-
676659
Following are the standard indicator types you can filter on:
677-
* `file:hashes`. File hash. (If you want to add the hash algorithm, enter `file:hashes.<HASH-TYPE>`. For example, `[file:hashes.MD5 = '5d41402abc4b2a76b9719d911017c592']` or `[file:hashes.'SHA-256' = '50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c']`.)
660+
* `domain-name`. Domain.
661+
* `email-addr`. Email.
662+
* `file:hashes`. File hash.
678663
* `file`. File name.
679664
* `ipv4-addr`. IPv4 IP address.
680665
* `ipv6-addr`. IPv6 IP address.
@@ -685,6 +670,28 @@ Following are the standard indicator types you can filter on:
685670

686671
For more information about indicator types, see [Upload Formats for Threat Intelligence Indicators](/docs/security/threat-intelligence/upload-formats).
687672

673+
**Examples**
674+
675+
:::tip
676+
For standard rules that use the `hasThreatMatch` function, refer to the [Rules page in the Cloud SIEM Content Catalog](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/rules/README.md) and search for rules with "Threat Intel" in the name. To see examples of how these rules use `hasThreatMatch`, open and view the rules in Cloud SIEM.
677+
:::
678+
679+
* `hasThreatMatch([srcDevice_ip], confidence > 1 AND (type='ipv4-addr' OR type='ipv6-addr'))`
680+
* `hasThreatMatch([device_ip], source="unit_42" AND confidence > 50) AND accountId="testing"`
681+
* `hasThreatMatch([device_hostname], confidence > 1 AND (type='domain-name' OR type='url'))`
682+
* `hasThreatMatch([dstDevice_hostname], confidence > 1 AND (type='domain-name' OR type='url'))`
683+
* `hasThreatMatch([file_hash_md5], confidence > 1 AND type='file:hashes.MD5')`
684+
* `hasThreatMatch([file_hash_sha1], confidence > 1 AND type="file:hashes.'SHA-1'")`
685+
* `hasThreatMatch([file_hash_sha256], confidence > 1 AND type="file:hashes.'SHA-256'")`
686+
* `hasThreatMatch([file_hash_ssdeep], confidence > 1 AND type='file:hashes.ssdeep')`
687+
* `hasThreatMatch([http_url_rootDomain], confidence > 1 AND (type='domain-name' OR type='url'))`
688+
* `hasThreatMatch([user_email,targetUser_email], confidence > 1 AND source = "s_global_feed_1")`
689+
690+
You can exclude matches from allowlists such as [standard match lists](/docs/cse/match-lists-suppressed-lists/standard-match-lists/#standard-match-lists). For example:
691+
```text
692+
hasThreatMatch([dstDevice_ip], confidence > 74 AND (type='ipv4-addr' OR type='ipv6-addr')) AND NOT (array_contains(listMatches, 'business_asns') OR array_contains(listMatches, 'business_domains') OR array_contains(listMatches, 'business_hostnames') OR array_contains(listMatches, 'business_ips') OR array_contains(listMatches, 'sandbox_ips') OR array_contains(listMatches, 'verified_domains') OR array_contains(listMatches, 'verified_hostnames') OR array_contains(listMatches, 'verified_ips'))
693+
```
694+
688695
### haversine
689696

690697
Returns the distance between latitude and longitude values of two coordinates in kilometers.

docs/cse/sensors/network-sensor-end-of-life.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ If you have any questions, please don't hesitate to reach out to your Sumo Logic
2424
| :-- | :-- | :-- |
2525
| End-of-life announcement | The date this feature is announced as end-of-life. | November 8, 2024 |
2626
| End of software release | The last date that Sumo Logic may release any final software maintenance releases or bug fixes. After this date, Sumo Logic will no longer develop, repair, maintain, or test product software. | November 8, 2024 |
27-
| Last date of support | The last date to receive applicable support for the feature as entitled by active support contracts or by applicable warrant terms and conditIons. After this date, all support services for this feature are unavailable and the feature becomes obsolete. | April 30, 2025 |
27+
| Last date of support | The last date to receive applicable support for the feature as entitled by active support contracts or by applicable warrant terms and conditIons. After this date, all support services for this feature are unavailable and the feature becomes obsolete. | TBD |
2828

docs/integrations/amazon-aws/amazon-ec2-auto-scaling.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ When you create an AWS Source, you'll need to identify the Hosted Collector you
121121
* ![green check circle.png](/img/reuse/green-check-circle.png) A green circle with a check mark is shown when the field exists and is enabled in the Fields table schema.
122122
* ![orange exclamation point.png](/img/reuse/orange-exclamation-point.png) An orange triangle with an exclamation point is shown when the field doesn't exist, or is disabled, in the Fields table schema. In this case, an option to automatically add or enable the nonexistent fields to the Fields table schema is provided. If a field is sent to Sumo Logic that does not exist in the Fields schema or is disabled it is ignored, known as dropped.
123123
:::note
124-
Namespace for Amazon EC2 Auto-scaling Service is AWS/AutoScaling.
124+
Namespace for Amazon EC2 Auto Scaling Service is AWS/AutoScaling.
125125
:::
126126

127127
## Field in field schema
@@ -132,7 +132,7 @@ Namespace for Amazon EC2 Auto-scaling Service is AWS/AutoScaling.
132132

133133
## Field Extraction Rule(s)
134134

135-
Create a Field Extraction Rule (FER) for Amazon EC2 Auto-scaling access logs and Cloudtrail logs. Learn how to create a Field Extraction Rule [here](/docs/manage/field-extractions/create-field-extraction-rule).
135+
Create a Field Extraction Rule (FER) for Amazon EC2 Auto Scaling access logs and Cloudtrail logs. Learn how to create a Field Extraction Rule [here](/docs/manage/field-extractions/create-field-extraction-rule).
136136

137137
**Amazon EC2 Auto Scaling CloudTrail logs**
138138

@@ -177,8 +177,8 @@ The **Amazon EC2 Auto Scaling - CloudTrail Audit** dashboard provides a comprehe
177177

178178
Use this dashboard for:
179179
* Monitoring the overall health and performance of your Amazon EC2 Auto Scaling groups
180-
* Identifying and troubleshooting common errors and failures in auto-scaling operations
181-
* Tracking user activities and potential security concerns related to auto-scaling events
180+
* Identifying and troubleshooting common errors and failures in auto scaling operations
181+
* Tracking user activities and potential security concerns related to auto scaling events
182182
* Analyzing trends in event types, success rates, and failure patterns over time
183183

184184
<img src={useBaseUrl('img/integrations/02.-Amazon-EC2-Auto-Scaling-CloudTrail-Audit.png')} alt="Amazon EC2 Auto Scaling dashboard" style={{border: '1px solid gray'}} width="800"/>

docs/integrations/microsoft-azure/azure-key-vault.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ For more information on supported metrics and their units, refer to the [Azure d
2525
Azure service sends monitoring data to Azure Monitor, which can then [stream data to Eventhub](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/stream-monitoring-data-event-hubs). Sumo Logic supports:
2626

2727
* Logs collection from [Azure Monitor](https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-get-started) using our [Azure Event Hubs source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/ms-azure-event-hubs-source/).
28-
* Metrics collection using our [HTTP Logs and Metrics source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/) via Azure Functions deployed using the ARM template.
2928

3029
You must explicitly enable diagnostic settings for each Key Vault you want to monitor. You can forward logs to the same event hub provided they satisfy the limitations and permissions as described [here](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings?tabs=portal#destination-limitations).
3130

0 commit comments

Comments
 (0)