STIX/TAXII 1 Client Source
STIX/TAXII are two standards used together to exchange threat intelligence information between systems. STIX defines the format and structure of the data. TAXII defines how the API endpoints are served and accessed by clients. This Sumo Logic source supports collecting indicators from STIX/TAXII 1.x.
This source only supports STIX/TAXII 1.x. Sumo Logic recommends using our STIX/TAXII 2.x source instead as it is the current version of STIX/TAXII.
Data collected​
This source collects threat intelligence indicators from a vendor's STIX/TAXII 1.x endpoints. This means the specific endpoints we collect data from are the endpoints defined in the TAXII standard. Vendor APIs must follow the standard. The source will collect all indicators from the TAXII server when it runs for the first time and it will check for updates once an hour. This one-hour polling interval can be adjusted in the source configuration.
Setup​
Vendor configuration​
The threat intel vendor must follow the STIX/TAXII 1.x standards.
- Identify a vendor who uses the STIX/TAXII 1.x standard for sharing threat intelligence indicators.
- Follow their documentation to obtain the following information:
- The TAXII Discovery URL
- Your authentication credentials if required
Source configuration​
When you create an TAXII 1 Client Source, you add it to a Hosted Collector. Before creating the Source, identify the Hosted Collector you want to use or create a new Hosted Collector. For instructions, see Configure a Hosted Collector and Source.
To configure a TAXII 1 Client Source:
- Classic UI. In the main Sumo Logic menu, select Manage Data > Collection > Collection.
New UI. In the Sumo Logic top menu select Configuration, and then under Data Collection select Collection. You can also click the Go To... menu at the top of the screen and select Collection.  - On the Collection page, click Add Source next to a Hosted Collector.
- Search for and select TAXII 1 Client.
- Enter a Name for the Source. The description is optional.
- (Optional) For Source Category, enter any string to tag the output collected from the Source. Category metadata is stored in a searchable field called
_sourceCategory
. - (Optional) Fields. Click the +Add button to define the fields you want to associate. Each field needs a name (key) and value.
-  A green circle with a check mark is shown when the field exists in the Fields table schema.
-  An orange triangle with an exclamation point is shown when the field doesn't exist in the Fields table schema. In this case, an option to automatically add 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 it is ignored, known as dropped.
- Sumo Logic Threat Intel Source ID. Provide your own threat intelligence source ID. This is useful for organizing multiple sources.
- STIX/TAXII Configuration:
- Discovery URL. Enter the TAXII Discovery URL provided by the vendor (optional).
- Collection Names. Enter the collections to fetch, using the poll URL.
- Authentication. This source only supports basic HTTP authentication. Check Use Basic Auth to enable it.
- HTTP Basic Auth User. The threat intel API username
- HTTP Basic Auth Password. The threat intel API password
- Other Settings:
- (Optional) Polling Interval. Set how frequently to poll for new or updated indicators. It must be between 5 minutes and 48 hours.
- When you are finished configuring the Source, click Save.
JSON Configuration​
Sources can be configured using UTF-8 encoded JSON files with the Collector Management API. See Use JSON to Configure Sources for details.Â
Parameter | Type | Value | Required | Description |
---|---|---|---|---|
schemaRef | JSON Object | {"type":"TAXII 1 Client"} | Yes | Define the specific schema type. |
sourceType | String | "Universal" | Yes | Type of source. |
config | JSON Object | Configuration object | Yes | Source type specific values. |
Configuration Object​
Parameter | Type | Required | Default | Description | Example |
---|---|---|---|---|---|
name | String | Yes | null | Type a desired name of the source. The name must be unique per Collector. This value is assigned to the metadata field _source . | "mySource" |
description | String | No | null | Type a description of the source. | "Testing source" |
category | String | No | null | Type a category of the source. This value is assigned to the metadata field _sourceCategory . See best practices for details. | "mySource/test" |
fields | JSON Object | No | null | JSON map of key-value fields (metadata) to apply to the Collector or Source. Use the boolean field _siemForward to enable forwarding to SIEM. | {"_siemForward": false, "fieldA": "valueA"} |
userSourceID | String | Yes | null | Your Sumo Logic threat intel destination source name | |
discoveryURL | String | Yes | null | The STIX/TAXII discovery URL | |
useBasicAuth | Boolean | No | false | Enforces basic HTTP authentication | |
http_user | String | No | null | HTTP basic authentication username | |
http_password | String | No | null | HTTP basic authentication password | |
collectionNames | Array | No | Empty | Used to get collections using the poll URL. | |
pollingInterval | String | Yes | How frequently to poll for messages from the threat intel provider. |
JSON example​
{
"api.version":"v1",
"source":{
"config":{
"name":"STIX TAXII 1 Client for Unit 42",
"description":"Collects indicators from Unit 42 and stores them in Sumo Logic",
"userSourceID": "My Important Indicators",
"discoveryURL": "https://stix2.unit42.org/taxii/",
"useBasicAuth": true,
"http_user": "user@acme.com",
"http_password": "****************************",
"collectionNames": [
"collection1",
"collection2"
],
"pollingInterval": "1h"
},
"schemaRef":{
"type":"TAXII 1 Client"
},
"sourceType":"Security"
}
}
Terraform example​
resource "sumologic_cloud_to_cloud_source" "taxii2_source" {
collector_id = sumologic_collector.collector.id
schema_ref = {
type = "TAXII 1 Client"
}
config = jsonencode({
"name":"STIX TAXII 1 Client for Unit 42",
"description":"Collects indicators from Unit 42 and stores them in Sumo Logic",
"category":"source_category",
"userSourceID": "My Important Indicators",
"discoveryURL": "https://stix2.unit42.org/taxii/",
"useBasicAuth: true,
"http_user": "user@acme.com",
"http_password": "****************************",
"pollingInterval": "1h",
"collectionNames": [
"collection1",
"collection2"
]
})
}
resource "sumologic_collector" "collector" {
name = "my-collector"
description = "Just testing this"
}
FAQ​
Click here for more information about Cloud-to-Cloud sources.