Skip to main content

CrowdStrike Falcon Next-Gen SIEM

SIEM Platform

Synopsis

Creates a target that sends events to CrowdStrike Falcon Next-Gen SIEM over its HTTP Event Collector (HEC) ingestion endpoint. Supports batching, compression, and automatic load balancing across multiple endpoints.

Schema

- name: <string>
description: <string>
type: crowdstrike
pipelines: <pipeline[]>
status: <boolean>
properties:
endpoints:
- endpoint: <string>
auth_type: <string>
token: <string>
secret: <string>
index: <string>
source_type: <string>
source: <string>
batch_size: <numeric>
timeout: <numeric>
tcp_routing: <boolean>
use_compression: <boolean>
insecure_skip_verify: <boolean>
ca_name: <string>
server_name: <string>
cert_name: <string>
key_name: <string>
passphrase: <string>
min_tls_version: <string>
max_tls_version: <string>
field_format: <string>
debug:
status: <boolean>
dont_send_logs: <boolean>

Configuration

The following are the fields used to define the target:

FieldRequiredDefaultDescription
nameYTarget name
descriptionN-Optional description
typeYMust be crowdstrike
pipelinesN-Optional post-processor pipelines
statusNtrueEnable/disable the target

Endpoint

FieldRequiredDefaultDescription
endpointY-CrowdStrike HEC ingestion endpoint URL
auth_typeNtokenAuthentication type: token or secret
tokenY*-HEC token when using token auth
secretY*-Bearer token when using secret auth

* = token is required when auth_type is token; secret is required when auth_type is secret.

Event

FieldRequiredDefaultDescription
indexN-Default index
source_typeN-Default sourcetype for events
sourceN-Default source for events
batch_sizeN10000Number of events to batch before sending
timeoutN30Connection timeout in seconds

Connection

FieldRequiredDefaultDescription
tcp_routingNfalseEnable TCP routing header
use_compressionNtrueEnable gzip compression
field_formatN-Data normalization format. See applicable Normalization section

TLS

TLS is engaged by the endpoint URL scheme: an https:// endpoint enables it, an http:// endpoint does not. There is no status field, and these fields are top-level — they are not nested under a tls: block.

FieldRequiredDefaultDescription
insecure_skip_verifyNfalseSkip server certificate verification. Use only for testing.
ca_nameN-CA bundle used to verify the server certificate. When unset, the host trust store is used.
server_nameN-SNI hostname override for the TLS handshake
cert_nameN*-Client certificate for mutual TLS
key_nameN*-Client private key for mutual TLS
passphraseN-Passphrase for an encrypted private key
min_tls_versionNtls1.2Minimum accepted TLS version (tls1.0, tls1.1, tls1.2, tls1.3)
max_tls_versionNtls1.3Maximum accepted TLS version (tls1.0, tls1.1, tls1.2, tls1.3)

* = Mutual TLS requires both cert_name and key_name. Setting only one is a configuration error.

note

TLS material fields (cert_name, key_name, ca_name, client_ca_name) accept any of the following:

  • File name — resolved relative to the service root directory. Nested paths such as certs/prod/server.pem are supported.
  • Absolute path — honored only if it resolves inside the service root. Any path that escapes the root is refused.
  • Inline PEM content — used verbatim when the value contains -----BEGIN.
  • Environment variable${ENV_VAR}.
  • Vault reference$secret{id=...} or $secret{store=...,ref=...}.

Scheduling

See Scheduling and Pool Behavior for interval and cron fields shared by all targets.

Debug Options

FieldRequiredDefaultDescription
debug.statusNfalseEnable debug logging
debug.dont_send_logsNfalseProcess logs but don't send to target (testing)

Details

HEC Modes: JSON and RAW

The target supports both JSON and RAW HEC ingestion modes. The mode is determined by the endpoint URL path, not by a separate configuration field.

An endpoint URL ending in /services/collector/event (or the default /services/collector) uses JSON mode, where each event is sent as a structured JSON object with metadata fields (index, sourcetype, source) embedded in the payload.

An endpoint URL ending in /services/collector/raw uses RAW mode, where events are sent as plain text with metadata passed as query parameters. RAW mode is useful for forwarding pre-formatted log lines that should not be wrapped in JSON structure. When the incoming pipeline data contains a _raw field, the target extracts its value and sends it as the raw event body.

Named Streams

Endpoint URLs can include a query parameter to define a named stream. For example, https://hec.example.com:8088/services/collector/raw?paloalto creates a stream named paloalto using RAW mode, while https://hec.example.com:8088/services/collector/event?winevent creates a stream named winevent using JSON mode.

Named streams allow routing different event types through separate HEC paths within a single target configuration. A pipeline selects the stream for an event by setting index or table.

Events carrying neither are delivered to the endpoint configured without a query parameter, which acts as the catch-all stream. An event naming a stream that no endpoint defines also falls back to the catch-all; if no catch-all exists, the event is rejected.

All endpoints sharing a stream name must use the same mode. Mixing a /raw endpoint and an /event endpoint under one stream is a configuration error and the target fails to initialize.

Content Hub Pipeline Pack

The siem_crowdstrike Content Hub pack ("CrowdStrike Falcon Next-Gen SIEM Automation Pack") processes Windows Event Logs, Linux Event Logs, and Syslog, normalizes them, and converts everything to CEF. It finishes by keeping only the _raw field, reducing each record to a single CEF-formatted string.

Endpoints receiving output from this pack should use RAW mode. RAW mode extracts _raw and sends it directly as the request body, whereas JSON mode would wrap the CEF string in a JSON envelope.

Stream Names

The pack assigns a stream name per log category, which the target resolves to a named HEC stream:

StreamLog category
SyslogSyslog messages (CEF, LEEF, or native, with vendor autodiscovery)
WinEventWindows Event Logs
WinSecurityWindows Security Event Logs
WinDNSWindows DNS logs
WinFirewallWindows Firewall logs
LinuxEventLinux Event Logs

Configure one RAW endpoint per stream to keep, using the stream name as the query parameter.

Each name is configurable in the pack through its matching *_stream field: syslog_stream, windows_event_stream, windows_security_stream, windows_dns_stream, windows_firewall_stream, and linux_event_stream. Each category can also be switched off through its keep_* toggle — keep_syslog, keep_windows_event, keep_windows_security, keep_windows_dns, keep_windows_firewall, and keep_linux_event — all of which default to true.

Delivery

When multiple endpoints are configured for a stream, the target shuffles them and tries each in turn until one accepts the batch. If every endpoint fails, the batch is retained for retry.

Examples

Basic

Send events to a single RAW endpoint using token auth...

targets:
- name: basic_crowdstrike
type: crowdstrike
properties:
endpoints:
- endpoint: "https://ingest.example.com/services/collector/raw"
auth_type: token
token: "YOUR-HEC-TOKEN"

Content Hub Pack Streams

Configure one RAW endpoint per stream produced by the siem_crowdstrike pack, plus a catch-all endpoint for events without a named stream...

targets:
- name: crowdstrike_streams
type: crowdstrike
properties:
endpoints:
- endpoint: "https://ingest.example.com/services/collector/raw?Syslog"
auth_type: token
token: "YOUR-HEC-TOKEN"
- endpoint: "https://ingest.example.com/services/collector/raw?WinEvent"
auth_type: token
token: "YOUR-HEC-TOKEN"
- endpoint: "https://ingest.example.com/services/collector/raw?WinSecurity"
auth_type: token
token: "YOUR-HEC-TOKEN"
- endpoint: "https://ingest.example.com/services/collector/raw?WinDNS"
auth_type: token
token: "YOUR-HEC-TOKEN"
- endpoint: "https://ingest.example.com/services/collector/raw?WinFirewall"
auth_type: token
token: "YOUR-HEC-TOKEN"
- endpoint: "https://ingest.example.com/services/collector/raw?LinuxEvent"
auth_type: token
token: "YOUR-HEC-TOKEN"
- endpoint: "https://ingest.example.com/services/collector/raw"
auth_type: token
token: "YOUR-HEC-TOKEN"

Mutual TLS

Authenticate to the endpoint with a client certificate and key, verified against a custom CA...

targets:
- name: crowdstrike_mtls
type: crowdstrike
properties:
endpoints:
- endpoint: "https://ingest.example.com/services/collector/raw"
auth_type: token
token: "YOUR-HEC-TOKEN"
cert_name: "client.crt"
key_name: "client.key"
ca_name: "ca-bundle.crt"