First Seen Network Flow Exporter
editFirst Seen Network Flow Exporter
editIdentifies a NetFlow, IPFIX, or sFlow exporter IP that has not previously sent decoded flow records in the same data stream namespace during the prior 2 hours. This low-risk building-block signal records exporter novelty for correlation with later detection alerts in which the same address is the source of suspicious activity.
Rule type: esql
Rule indices: None
Severity: low
Risk score: 21
Runs every: 5m
Searches indices from: now-125m (Date Math format, see also Additional look-back time)
Maximum alerts per execution: 100
References:
Tags:
- Domain: Network
- Use Case: Network Security Monitoring
- Use Case: Threat Detection
- Rule Type: BBR
- Data Source: NetFlow
- Data Source: GoFlow2
- Resources: Investigation Guide
Version: 2
Rule authors:
- Elastic
Rule license: Elastic License v2
Investigation guide
editTriage and analysis
Investigating First Seen Network Flow Exporter
This building-block rule detects a newly observed exporter identity from decoded NetFlow, IPFIX, or sFlow records. In
these datasets, observer.ip identifies the exporter or sampler. The source.ip and destination.ip fields identify
endpoints in the exported flow and must not be treated as the exporter transport connection.
This signal establishes novelty only. It does not prove that the exporter is unauthorized or that the exporter itself
performed the activity represented by the flow records. The signal is intended for correlation with later detection
alerts whose source.ip equals this alert’s observer.ip.
Possible investigation steps
-
Identify the device assigned to
observer.ipand verify its owner, model, location, and change record. - Confirm the expected collector, data stream namespace, export protocol, observation domain, and template behavior.
-
Compare
netflow.exporter.source_id,netflow.exporter.version, sequence values, interfaces, sampling rate, and flow volume with established exporters. - Check for template churn, malformed records, implausible addresses or byte counts, and conflicting telemetry from independent sensors.
False positive analysis
- Validate recent network-device onboarding, collector migrations, disaster-recovery activation, NAT changes, and integration re-onboarding.
Response and remediation
- If unauthorized, block the exporter at the collector boundary and preserve the received records for investigation.
- Review collector authentication, network ACLs, and exporter configuration to prevent further telemetry injection.
Setup
editSetup
This rule requires at least one decoded flow-export data source:
-
Elastic NetFlow integration (
netflow.log) for NetFlow or IPFIX records. -
Elastic GoFlow2 integration (
goflow2.sflow) for sFlow records processed by GoFlow2.
Verify that observer.ip contains the exporter or sampler address. Do not broaden this rule to generic firewall or
network_traffic.flow events: in those records, source.ip and destination.ip describe the observed traffic and do
not reliably identify the device exporting telemetry.
Rule query
editFROM logs-netflow.log-*, logs-goflow2.sflow-*
| WHERE observer.ip IS NOT NULL AND data_stream.namespace IS NOT NULL
| STATS
Esql.event_count = COUNT(*),
Esql.first_time_seen = MIN(@timestamp),
Esql.data_stream_dataset_values = VALUES(data_stream.dataset)
BY data_stream.namespace, observer.ip
| EVAL Esql.recent = DATE_DIFF("minute", Esql.first_time_seen, NOW())
| WHERE Esql.recent <= 6
| KEEP
data_stream.namespace,
observer.ip,
Esql.event_count,
Esql.first_time_seen,
Esql.data_stream_dataset_values,
Esql.recent