Skip to content

Commit

Permalink
[Filebeat] Document netflow internal_networks and set default (#24110) (
Browse files Browse the repository at this point in the history
#24278)

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 3ca53aa)
  • Loading branch information
andrewkroh committed Mar 4, 2021
1 parent 4190249 commit e5965a6
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.next.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,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*

Expand Down
7 changes: 7 additions & 0 deletions filebeat/docs/modules/netflow.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@ details.
monitor sequence numbers in the Netflow packets to detect an Exporting Process
reset. See <<filebeat-input-netflow,netflow input>> 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-network, `network`>> 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
Expand Down
11 changes: 11 additions & 0 deletions x-pack/filebeat/docs/inputs/input-netflow.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -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-network, `network`>> 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[]

Expand Down
1 change: 1 addition & 0 deletions x-pack/filebeat/input/netflow/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
7 changes: 7 additions & 0 deletions x-pack/filebeat/module/netflow/_meta/docs.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,13 @@ details.
monitor sequence numbers in the Netflow packets to detect an Exporting Process
reset. See <<filebeat-input-netflow,netflow input>> 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-network, `network`>> 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
Expand Down
2 changes: 1 addition & 1 deletion x-pack/filebeat/module/netflow/log/config/netflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ expiration_timeout: '{{.expiration_timeout}}'
queue_size: {{.queue_size}}

{{if .internal_networks}}
internal_hosts:
internal_networks:
{{range .internal_networks}}
- '{{ . }}'
{{end}}
Expand Down
1 change: 1 addition & 0 deletions x-pack/filebeat/module/netflow/log/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit e5965a6

Please sign in to comment.