From 7a3354adef927be64d414379adb279f3706dd935 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 32f39ecd27f8..91e22424442d 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -169,6 +169,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix event.type for zeek/ssl and duplicate event.category for zeek/connection {pull}20696[20696] - Fix Okta default date formatting. {issue}24018[24018] {pull}24025[24025] - 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 68b7b43feb5f..6ecfe4a726a1 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