Document toolboxDocument toolbox

ColorTokens Xshield collector

Overview

Xshield stops the lateral spread of malware & ransomware by putting a micro-perimeter around every network asset.

Devo collector features

Feature

Details

Feature

Details

Allow parallel downloading (multipod)

not allowed

Running environments

  • collector server

  • on-premise

Populated Devo events

table

Flattening preprocessing

no

Data sources

Data source

Description

API endpoint

Collector service name

Devo table

Available from release

Data source

Description

API endpoint

Collector service name

Devo table

Available from release

alerts

Get all the alert events

/alerts

alerts

cwpp.colortokens.xshield.alert

v1.0.0

audits

Get all the audit events

audit/events

audits

cwpp.colortokens.xshield.audit

v1.0.0

For more information on how the events are parsed, visit our page.

Flattening preprocessing

Data source

Collector service

Optional

Flattening details

Data source

Collector service

Optional

Flattening details

alerts

alerts

yes

not required

audits

audits

yes

not required

Minimum configuration required for basic pulling

Although this collector supports advanced configuration, the fields required to retrieve data with basic configuration are defined below.

This minimum configuration refers exclusively to those specific parameters of this integration. There are more required parameters related to the generic behavior of the collector. Check setting sections for details.

Setting

Details

Setting

Details

tenant

The tenant to Colortokens Xshield API. Ex : Base URL- https://{tenant}.spectrum.colortokens.com/public/api/v1/{tenant}/ needs to be replaced by the tenant.
Ex: If Tenant is abcd then the base_url will be
https://abcd.spectrum.colortokens.com/public/api/v1/abcd/

api_token

The api token for colortokens Xshield.

See the Accepted authentication methods section to verify what settings are required based on the desired authentication method.

Accepted authentication methods

Authentication method

tenant

api_token

Authentication method

tenant

api_token

credentials

REQUIRED

REQUIRED

Run the collector

Once the data source is configured, you can either send us the required information if you want us to host and manage the collector for you (Cloud collector), or deploy and host the collector in your own machine using a Docker image (On-premise collector).

Collector services detail

This section is intended to explain how to proceed with specific actions for services.

alerts

Once the collector has been launched, it is important to check if the ingestion is performed in a proper way. To do so, go to the collector’s logs console.

This service has the following components:

Component

Description

Component

Description

Setup

The setup module is in charge of authenticating the service.

Puller

The setup module is in charge of pulling the data in a organized way and delivering the events via SDK.

Setup output

A successful run has the following output messages for the setup module:

A successful initial run has the following output messages for the puller module:

Note that the PrePull action is executed only one time before the first run of the Pull action.

2024-04-18T16:43:19.427 INFO OutputProcess::MainThread -> DevoSender(lookup_senders,devo_sender_0) -> Starting thread 2024-04-18T16:43:19.427 INFO InputProcess::MainThread -> ColorTokensPuller(colortokens_xshield,123906,alerts,predefined) - Starting thread 2024-04-18T16:43:19.427 INFO OutputProcess::MainThread -> DevoSenderManagerMonitor(lookup_senders,devo_us_1) -> Starting thread (every 300 seconds) 2024-04-18T16:43:19.427 INFO OutputProcess::OutputStandardConsumer(standard_senders_consumer_0) -> [EMERGENCY PERSISTENCE SYSTEM] OutputStandardConsumer(standard_senders_consumer_0) -> Nothing retrieved from the persistence. 2024-04-18T16:43:19.428 INFO OutputProcess::MainThread -> DevoSenderManager(lookup_senders,manager,devo_us_1) -> Starting thread 2024-04-18T16:43:19.428 WARNING InputProcess::ColorTokensPuller(colortokens_xshield,123906,alerts,predefined) -> Waiting until setup will be executed 2024-04-18T16:43:19.428 INFO OutputProcess::DevoSenderManager(lookup_senders,manager,devo_us_1) -> [EMERGENCY PERSISTENCE SYSTEM] DevoSenderManager(lookup_senders,manager,devo_us_1) -> Nothing retrieved from the persistence. 2024-04-18T16:43:19.428 INFO OutputProcess::MainThread -> DevoSender(internal_senders,devo_sender_0) -> Starting thread 2024-04-18T16:43:19.428 INFO OutputProcess::MainThread -> DevoSenderManagerMonitor(internal_senders,devo_us_1) -> Starting thread (every 300 seconds) 2024-04-18T16:43:19.428 INFO OutputProcess::OutputLookupConsumer(lookup_senders_consumer_0) -> [EMERGENCY PERSISTENCE SYSTEM] OutputLookupConsumer(lookup_senders_consumer_0) -> Nothing retrieved from the persistence. 2024-04-18T16:43:19.429 INFO OutputProcess::MainThread -> DevoSenderManager(internal_senders,manager,devo_us_1) -> Starting thread 2024-04-18T16:43:19.429 INFO OutputProcess::DevoSenderManager(internal_senders,manager,devo_us_1) -> [EMERGENCY PERSISTENCE SYSTEM] DevoSenderManager(internal_senders,manager,devo_us_1) -> Nothing retrieved from the persistence. 2024-04-18T16:43:19.429 INFO OutputProcess::OutputInternalConsumer(internal_senders_consumer_0) -> [EMERGENCY PERSISTENCE SYSTEM] OutputInternalConsumer(internal_senders_consumer_0) -> Nothing retrieved from the persistence. 2024-04-18T16:43:19.445 INFO OutputProcess::MainThread -> [GC] global: 44.8% -> 44.8%, process: RSS(42.48MiB -> 42.61MiB), VMS(928.03MiB -> 928.03MiB) 2024-04-18T16:43:19.447 INFO InputProcess::MainThread -> [GC] global: 44.8% -> 44.8%, process: RSS(41.26MiB -> 41.26MiB), VMS(495.76MiB -> 495.76MiB) 2024-04-18T16:43:19.873 INFO OutputProcess::DevoSender(internal_senders,devo_sender_0) -> Created a sender: {"name": "DevoSender(internal_senders,devo_sender_0)", "url": "collector-eu.devo.io:443", "chain_path": "/home/mdtausif/Gitlab/devo-collector-colortokens-xshield/certs/chain.crt", "cert_path": "/home/mdtausif/Gitlab/devo-collector-colortokens-xshield/certs/int-if-integrations-india.crt", "key_path": "/home/mdtausif/Gitlab/devo-collector-colortokens-xshield/certs/int-if-integrations-india.key", "transport_layer_type": "SSL", "last_usage_timestamp": null, "socket_status": null}, hostname: "2023-apac-0046", session_id: "136151882455552" 2024-04-18T16:43:20.829 INFO InputProcess::ColorTokensPullerSetup(colortokens_xshield_collector,colortokens_xshield#123906,alerts#predefined) -> Setup for module <ColorTokensPuller> has been successfully executed

After a successful collector’s execution (that is, no error logs found), you will see the following log message:

2024-04-18T16:43:23.820 INFO InputProcess::ColorTokensPuller(colortokens_xshield,123906,alerts,predefined) -> (Partial) Statistics for this pull cycle (@devo_pulling_id=1713438801430):Number of requests made: 1; Number of events received: 18; Number of duplicated events filtered out: 0; Number of events generated and sent: 18; Average of events per second: 7.549.

This collector uses persistent storage to download events in an orderly fashion and avoid duplicates. In case you want to re-ingest historical data or recreate the persistence, you can restart the persistence of this collector by following these steps:

  1. Edit the configuration file.

  2. Change the value of the start_time_in_utc parameter to a different one.

  3. Save the changes.

  4. Restart the collector.

The collector will detect this change and will restart the persistence using the parameters of the configuration file or the default configuration in case it has not been provided.

This collector has different security layers that detect both an invalid configuration and abnormal operation. This table will help you detect and resolve the most common errors.

Error type

Error ID

Error message

Cause

Solution

Error type

Error ID

Error message

Cause

Solution

SetupError

100

HTTP Error occurred while retrieving events from Colortoken server

Tenant or api_token are not correct

Make sure that credentials are correct.

101

Error occurred while retrieving events from Colortokens server

Some error in Colortokens server

Please contact team in this case

PullError

300

HTTP Error occurred while retrieving events from Colortokens server : {summery} , {details}

This error happens when the collector tries to fetch the data from API.

In this error you will find the HTTP error code as well as the summary and details.

 

301

Some Error occurred while retrieving events from Colortokens server : {Exception}

Some exceptions occurred while making the API request.

Reach out to the developer with the exact error message.

audits

Once the collector has been launched, it is important to check if the ingestion is performed in a proper way. To do so, go to the collector’s logs console.

This service has the following components:

Component

Description

Component

Description

Setup

The setup module is in charge of authenticating the service.

Puller

The setup module is in charge of pulling the data in a organized way and delivering the events via SDK.

Setup output

A successful run has the following output messages for the setup module:

2024-04-19T10:15:42.173 INFO OutputProcess::MainThread -> DevoSenderManager(lookup_senders,manager,devo_us_1) -> Starting thread 2024-04-19T10:15:42.173 INFO OutputProcess::MainThread -> DevoSender(internal_senders,devo_sender_0) -> Starting thread 2024-04-19T10:15:42.173 INFO OutputProcess::MainThread -> DevoSenderManagerMonitor(internal_senders,devo_us_1) -> Starting thread (every 300 seconds) 2024-04-19T10:15:42.173 INFO OutputProcess::MainThread -> DevoSenderManager(internal_senders,manager,devo_us_1) -> Starting thread 2024-04-19T10:15:42.173 INFO OutputProcess::OutputLookupConsumer(lookup_senders_consumer_0) -> [EMERGENCY PERSISTENCE SYSTEM] OutputLookupConsumer(lookup_senders_consumer_0) -> Nothing retrieved from the persistence. 2024-04-19T10:15:42.173 INFO OutputProcess::DevoSenderManager(lookup_senders,manager,devo_us_1) -> [EMERGENCY PERSISTENCE SYSTEM] DevoSenderManager(lookup_senders,manager,devo_us_1) -> Nothing retrieved from the persistence. 2024-04-19T10:15:42.174 INFO OutputProcess::OutputInternalConsumer(internal_senders_consumer_0) -> [EMERGENCY PERSISTENCE SYSTEM] OutputInternalConsumer(internal_senders_consumer_0) -> Nothing retrieved from the persistence. 2024-04-19T10:15:42.174 INFO OutputProcess::DevoSenderManager(internal_senders,manager,devo_us_1) -> [EMERGENCY PERSISTENCE SYSTEM] DevoSenderManager(internal_senders,manager,devo_us_1) -> Nothing retrieved from the persistence. 2024-04-19T10:15:42.179 INFO InputProcess::MainThread -> [GC] global: 30.7% -> 30.8%, process: RSS(41.38MiB -> 41.38MiB), VMS(495.82MiB -> 495.82MiB) 2024-04-19T10:15:42.187 INFO OutputProcess::MainThread -> [GC] global: 30.8% -> 30.8%, process: RSS(41.98MiB -> 42.48MiB), VMS(928.09MiB -> 928.09MiB) 2024-04-19T10:15:42.598 INFO OutputProcess::DevoSender(internal_senders,devo_sender_0) -> Created a sender: {"name": "DevoSender(internal_senders,devo_sender_0)", "url": "collector-eu.devo.io:443", "chain_path": "/home/mdtausif/Gitlab/devo-collector-colortokens-xshield/certs/chain.crt", "cert_path": "/home/mdtausif/Gitlab/devo-collector-colortokens-xshield/certs/int-if-integrations-india.crt", "key_path": "/home/mdtausif/Gitlab/devo-collector-colortokens-xshield/certs/int-if-integrations-india.key", "transport_layer_type": "SSL", "last_usage_timestamp": null, "socket_status": null}, hostname: "2023-apac-0046", session_id: "128307011385904" 2024-04-19T10:15:43.263 INFO InputProcess::ColorTokensPullerSetup(colortokens_xshield_collector,colortokens_xshield#123906,audits#predefined) -> Setup for module <ColorTokensPuller> has been successfully executed

A successful initial run has the following output messages for the puller module:

After a successful collector’s execution (that is, no error logs found), you will see the following log message:

This collector uses persistent storage to download events in an orderly fashion and avoid duplicates. In case you want to re-ingest historical data or recreate the persistence, you can restart the persistence of this collector by following these steps:

  1. Edit the configuration file.

  2. Change the value of the start_time_in_utc parameter to a different one.

  3. Save the changes.

  4. Restart the collector.

The collector will detect this change and will restart the persistence using the parameters of the configuration file or the default configuration in case it has not been provided.

Collector operations

This section is intended to explain how to proceed with specific operations of this collector.

Change log

Release

Released on

Release type

Details

Recommendations

Release

Released on

Release type

Details

Recommendations

v1.0.0

Apr 17, 2024

FIRST RELEASE

Released the first version of the Colortokens Xshield collector.

Recommended version