Skip to main content
Version: 1.5.1

Elastic Security

SIEM Platform Observability

Send processed telemetry data to Elastic Security SIEM platform.

Synopsis

The Elastic Security target sends security telemetry to Elastic Security (formerly Elastic SIEM) using the Elasticsearch Bulk API with security-optimized index patterns and ECS normalization. This target extends standard Elasticsearch configuration with security-specific index management and detection rule integration.

Schema

targets:
- name: <string>
type: elastic
properties:
index: <string>
endpoints:
- endpoint: <string>
username: <string>
password: <string>
max_payload_size_kb: <integer>
batch_size: <integer>
timeout: <integer>
use_compression: <boolean>
write_action: <string>
field_format: <string>
pipeline: <string>
filter_path: <string>
insecure_skip_verify: <boolean>
debug:
status: <boolean>
dont_send_logs: <boolean>

Configuration

Base Target Fields

FieldTypeRequiredDescription
namestringYUnique identifier for this target
descriptionstringNHuman-readable description
typestringYMust be elastic
pipelinesarrayNPipeline names to apply before sending
statusbooleanNEnable (true) or disable (false) this target

Elastic Security Connection

FieldTypeRequiredDescription
indexstringYDefault security index name (e.g., logs-security.events-default)
endpointsarrayYArray of Elasticsearch endpoint configurations
endpoints[].endpointstringYElasticsearch URL (e.g., https://elastic.example.com:9200)
endpoints[].usernamestringNBasic authentication username
endpoints[].passwordstringNBasic authentication password

Bulk API Configuration

FieldTypeRequiredDescription
max_payload_size_kbintegerNMaximum bulk request size in KB. Default: 4096
batch_sizeintegerNMaximum number of events per batch. Default: 10000
timeoutintegerNConnection timeout in seconds. Default: 30
use_compressionbooleanNEnable GZIP compression. Default: true
write_actionstringNBulk API action (index, create). Default: create

Security Platform Configuration

FieldTypeRequiredDescription
field_formatstringNApply ECS normalization. Recommended: ECS
pipelinestringNElasticsearch ingest pipeline name
filter_pathstringNResponse filter path. Default: errors,items.*.error,items.*._index,items.*.status

TLS Configuration

FieldTypeRequiredDescription
insecure_skip_verifybooleanNSkip TLS certificate verification. Default: false

Debug Options

FieldTypeRequiredDescription
debug.statusbooleanNEnable debug logging for this target
debug.dont_send_logsbooleanNLog events without sending to Elastic Security

Details

Security Index Patterns

Recommended Index Patterns:

  • logs-security.events-*: Security events and alerts
  • logs-security.auth-*: Authentication and authorization logs
  • logs-security.network-*: Network traffic and firewall logs
  • logs-security.endpoint-*: Endpoint security events
  • logs-security.threat-*: Threat intelligence indicators

Index Naming Convention:

  • Format: logs-{dataset}-{namespace}
  • Dataset: Security data category
  • Namespace: Environment or team identifier (e.g., default, production)
Data Stream Compatibility

Use index patterns compatible with Elastic data streams for automatic index lifecycle management and rollover.

ECS Normalization

Elastic Common Schema (ECS):

  • Apply field_format: ECS for automatic field normalization
  • Ensures compatibility with Elastic Security detection rules
  • Provides consistent field naming across data sources
  • Enables pre-built dashboards and visualizations

Critical ECS Fields:

  • @timestamp: Event timestamp (ISO 8601)
  • event.category: Event categorization (authentication, network, process, file)
  • event.type: Event type (start, end, info, error)
  • source.ip / destination.ip: Network addresses
  • user.name: Username for authentication events
  • process.name: Process information for endpoint events

Detection Rule Integration

Rule Compatibility:

  • Elastic Security detection rules require ECS-normalized data
  • Custom rules can reference specific index patterns
  • Pre-built rules work automatically with standard ECS fields

Index Configuration:

  • Configure indices in Elastic Security � Management � Index Patterns
  • Create index patterns matching your configured target indices
  • Enable index patterns in Detection Rules

Performance Optimization

Batch Configuration:

  • Larger batches reduce API calls and improve throughput
  • Balance batch size against memory usage and latency
  • Default batch_size: 10000 suitable for most workloads

Compression:

  • GZIP compression enabled by default
  • Reduces network bandwidth by 70-90%
  • Minimal CPU overhead for compression/decompression

Load Balancing:

  • Configure multiple endpoints for high availability
  • Events distributed randomly across endpoints
  • Automatic failover to available endpoints
Index Mapping

Ensure Elasticsearch index mappings match ECS field types. Incorrect mappings cause ingestion failures. Use index templates for automatic mapping configuration.

Security Best Practices

Authentication:

  • Use API keys instead of basic authentication for production
  • Create service account with minimal required privileges
  • Rotate credentials periodically

TLS Configuration:

  • Always enable TLS for production deployments
  • Verify server certificates (insecure_skip_verify: false)
  • Use certificate pinning for enhanced security

Index Security:

  • Configure index-level permissions for data isolation
  • Use separate indices for different security zones
  • Enable audit logging for index access

Examples

Basic Security Events

Sending security events to Elastic Security with ECS normalization...

targets:
- name: elastic-security-events
type: elastic
properties:
index: logs-security.events-default
field_format: ECS
endpoints:
- endpoint: https://elastic.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"

Authentication Logs

Forwarding authentication logs to dedicated security index...

targets:
- name: elastic-auth-logs
type: elastic
properties:
index: logs-security.auth-production
field_format: ECS
use_compression: true
endpoints:
- endpoint: https://elastic.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"

High-Availability Configuration

Multiple Elasticsearch endpoints for high availability and load balancing...

targets:
- name: elastic-security-ha
type: elastic
properties:
index: logs-security.events-default
field_format: ECS
batch_size: 10000
max_payload_size_kb: 4096
use_compression: true
endpoints:
- endpoint: https://elastic-node1.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"
- endpoint: https://elastic-node2.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"
- endpoint: https://elastic-node3.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"

With Ingest Pipeline

Using Elasticsearch ingest pipeline for additional processing...

targets:
- name: elastic-security-pipeline
type: elastic
properties:
index: logs-security.network-default
field_format: ECS
pipeline: security-enrichment
endpoints:
- endpoint: https://elastic.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"

Threat Intelligence

Forwarding threat intelligence indicators to Elastic Security...

targets:
- name: elastic-threat-intel
type: elastic
properties:
index: logs-security.threat-default
field_format: ECS
write_action: create
endpoints:
- endpoint: https://elastic.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"

Endpoint Security Events

Sending endpoint detection events to Elastic Security...

targets:
- name: elastic-endpoint-security
type: elastic
properties:
index: logs-security.endpoint-default
field_format: ECS
batch_size: 5000
use_compression: true
endpoints:
- endpoint: https://elastic.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"

Production Configuration

Production-ready Elastic Security configuration with HA, compression, and ECS normalization...

targets:
- name: elastic-security-production
type: elastic
properties:
index: logs-security.events-production
field_format: ECS
batch_size: 10000
max_payload_size_kb: 4096
timeout: 30
use_compression: true
write_action: create
insecure_skip_verify: false
endpoints:
- endpoint: https://elastic-node1.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"
- endpoint: https://elastic-node2.example.com:9200
username: "${ELASTIC_USERNAME}"
password: "${ELASTIC_PASSWORD}"