From 3e19d1f990c7c369b4b363a9b8163c4e5b1f3a6f Mon Sep 17 00:00:00 2001 From: Andrew Kroh Date: Fri, 19 Feb 2021 19:19:07 -0500 Subject: [PATCH] [Filebeat] Document netflow internal_networks and set default (#24110) Documentation for the `internal_networks` option of the Netflow input and module was missing. Also the module's manifest did not declare the option so if it was not set in the module config it would cause an error. I did not see where a default was set for the netflow input's internal_networks option so I set that to `private` to keep the old behavior before this was configurable. Fixes #24094 (cherry picked from commit 3ca53aa150b0a47fdea218628596d57200f6a096) --- CHANGELOG.next.asciidoc | 1 + filebeat/docs/modules/netflow.asciidoc | 7 +++++++ x-pack/filebeat/docs/inputs/input-netflow.asciidoc | 11 +++++++++++ x-pack/filebeat/input/netflow/config.go | 1 + x-pack/filebeat/module/netflow/_meta/docs.asciidoc | 7 +++++++ x-pack/filebeat/module/netflow/log/config/netflow.yml | 2 +- x-pack/filebeat/module/netflow/log/manifest.yml | 1 + 7 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index ea2b3579a36e..28b9e3cceb62 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -247,6 +247,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - aws/s3access dataset was populating event.duration using the wrong unit. {pull}23920[23920] - Zoom module pipeline failed to ingest some chat_channel events. {pull}23904[23904] - Fix aws/vpcflow generating errors for empty logs or unidentified formats. {pull}24167[24167] +- Fix Netlow module issue with missing `internal_networks` config parameter. {issue}24094[24094] {pull}24110[24110] *Heartbeat* diff --git a/filebeat/docs/modules/netflow.asciidoc b/filebeat/docs/modules/netflow.asciidoc index ebb40dfd5c97..c3ab408b24d6 100644 --- a/filebeat/docs/modules/netflow.asciidoc +++ b/filebeat/docs/modules/netflow.asciidoc @@ -72,6 +72,13 @@ details. monitor sequence numbers in the Netflow packets to detect an Exporting Process reset. See <> for details. +`var.internal_networks`:: A list of CIDR ranges describing the IP addresses that +you consider internal. This is used in determining the values of +`source.locality`, `destination.locality`, and `flow.locality`. The values +can be either a CIDR value or one of the named ranges supported by the +<> condition. The default value is `[private]` +which classifies RFC 1918 (IPv4) and RFC 4193 (IPv6) addresses as internal. + *`var.tags`*:: A list of tags to include in events. Including `forwarded` indicates that the diff --git a/x-pack/filebeat/docs/inputs/input-netflow.asciidoc b/x-pack/filebeat/docs/inputs/input-netflow.asciidoc index 840ad70ec053..b53881cc9618 100644 --- a/x-pack/filebeat/docs/inputs/input-netflow.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-netflow.asciidoc @@ -120,6 +120,17 @@ cause flow loss until the exporter provides new templates. If set to `false`, if the exporter process is reset. This option is only applicable to Netflow V9 and IPFIX. Default is `true`. +[float] +[[internal_networks]] +==== `internal_networks` + +A list of CIDR ranges describing the IP addresses that you consider internal. +This is used in determining the values of `source.locality`, +`destination.locality`, and `flow.locality`. The values can be either a CIDR +value or one of the named ranges supported by the +<> condition. The default value is `[private]` +which classifies RFC 1918 (IPv4) and RFC 4193 (IPv6) addresses as internal. + [id="{beatname_lc}-input-{type}-common-options"] include::../../../../filebeat/docs/inputs/input-common-options.asciidoc[] diff --git a/x-pack/filebeat/input/netflow/config.go b/x-pack/filebeat/input/netflow/config.go index 4d795a44eecc..b13b6722ab61 100644 --- a/x-pack/filebeat/input/netflow/config.go +++ b/x-pack/filebeat/input/netflow/config.go @@ -33,6 +33,7 @@ var defaultConfig = config{ ForwarderConfig: harvester.ForwarderConfig{ Type: inputName, }, + InternalNetworks: []string{"private"}, Protocols: []string{"v5", "v9", "ipfix"}, ExpirationTimeout: time.Minute * 30, PacketQueueSize: 8192, diff --git a/x-pack/filebeat/module/netflow/_meta/docs.asciidoc b/x-pack/filebeat/module/netflow/_meta/docs.asciidoc index 830b397ec457..09ffda3d0244 100644 --- a/x-pack/filebeat/module/netflow/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/netflow/_meta/docs.asciidoc @@ -67,6 +67,13 @@ details. monitor sequence numbers in the Netflow packets to detect an Exporting Process reset. See <> for details. +`var.internal_networks`:: A list of CIDR ranges describing the IP addresses that +you consider internal. This is used in determining the values of +`source.locality`, `destination.locality`, and `flow.locality`. The values +can be either a CIDR value or one of the named ranges supported by the +<> condition. The default value is `[private]` +which classifies RFC 1918 (IPv4) and RFC 4193 (IPv6) addresses as internal. + *`var.tags`*:: A list of tags to include in events. Including `forwarded` indicates that the diff --git a/x-pack/filebeat/module/netflow/log/config/netflow.yml b/x-pack/filebeat/module/netflow/log/config/netflow.yml index 65baa78eaacf..dd111c35097c 100644 --- a/x-pack/filebeat/module/netflow/log/config/netflow.yml +++ b/x-pack/filebeat/module/netflow/log/config/netflow.yml @@ -6,7 +6,7 @@ expiration_timeout: '{{.expiration_timeout}}' queue_size: {{.queue_size}} {{if .internal_networks}} -internal_hosts: +internal_networks: {{range .internal_networks}} - '{{ . }}' {{end}} diff --git a/x-pack/filebeat/module/netflow/log/manifest.yml b/x-pack/filebeat/module/netflow/log/manifest.yml index e46428b2fc0b..250c2b414e93 100644 --- a/x-pack/filebeat/module/netflow/log/manifest.yml +++ b/x-pack/filebeat/module/netflow/log/manifest.yml @@ -17,6 +17,7 @@ var: - name: detect_sequence_reset - name: tags default: [forwarded] + - name: internal_networks ingest_pipeline: ingest/pipeline.yml input: config/netflow.yml