Skip to content

Commit

Permalink
[Filebeat] Enable dynamic inputs (TCP) for Cisco syslog modules (#26159
Browse files Browse the repository at this point in the history
…) (#29473)

- Add tcp option to asa, ftd & ios filesets
- Add SSL option

Closes #28821

Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co>
(cherry picked from commit 9201a92)

Co-authored-by: Alex Resnick <adr8292@gmail.com>
  • Loading branch information
mergify[bot] and legoguy1000 committed Dec 16, 2021
1 parent 3e564f6 commit fa132b7
Show file tree
Hide file tree
Showing 10 changed files with 109 additions and 52 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.next.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Update `aws-s3` input to connect to non AWS S3 buckets {issue}28222[28222] {pull}28234[28234]
- Add support for parsers on journald input {pull}29070[29070]
- Add support in httpjson input for oAuth2ProviderDefault of password grant_type. {pull}29087[29087]
- Update Cisco module to enable TCP input. {issue}26118[26118] {issue}28821[28821] {pull}26159[26159]

*Heartbeat*

Expand Down
37 changes: 27 additions & 10 deletions x-pack/filebeat/filebeat.reference.yml
Original file line number Diff line number Diff line change
Expand Up @@ -685,16 +685,23 @@ filebeat.modules:
asa:
enabled: false

# Set which input to use between syslog (default) or file.
#var.input: syslog
# Set which input to use between udp (default), tcp or file.
#var.input: udp

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to udp or tcp syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9001.
# The port to listen for udp or tcp syslog traffic. Defaults to 9001.
#var.syslog_port: 9001

# With tcp input, set the optional tls configuration:
#var.ssl:
# enabled: true
# certificate: /path/to/cert.pem
# key: /path/to/privatekey.pem
# key_passphrase: 'password for my key'

# Set the log level from 1 (alerts only) to 7 (include all messages).
# Messages with a log level higher than the specified will be dropped.
# See https://www.cisco.com/c/en/us/td/docs/security/asa/syslog/b_syslog/syslogs-sev-level.html
Expand All @@ -711,16 +718,23 @@ filebeat.modules:
ftd:
enabled: false

# Set which input to use between syslog (default) or file.
#var.input: syslog
# Set which input to use between udp (default), tcp or file.
#var.input: udp

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to tcp or udp syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9003.
# The UDP port to listen for tcp or udp syslog traffic. Defaults to 9003.
#var.syslog_port: 9003

# With tcp input, set the optional tls configuration:
#var.ssl:
# enabled: true
# certificate: /path/to/cert.pem
# key: /path/to/privatekey.pem
# key_passphrase: 'password for my key'

# Set the log level from 1 (alerts only) to 7 (include all messages).
# Messages with a log level higher than the specified will be dropped.
# See https://www.cisco.com/c/en/us/td/docs/security/firepower/Syslogs/b_fptd_syslog_guide/syslogs-sev-level.html
Expand All @@ -740,13 +754,16 @@ filebeat.modules:
# Set which input to use between syslog (default) or file.
#var.input: syslog

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9002.
# The port to listen on for syslog traffic. Defaults to 9002.
#var.syslog_port: 9002

# Set which protocol to use between udp (default) or tcp.
#var.syslog_protocol: udp

# Set custom paths for the log files when using file input. If left empty,
# Filebeat will choose the paths depending on your OS.
#var.paths:
Expand Down
37 changes: 27 additions & 10 deletions x-pack/filebeat/module/cisco/_meta/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,23 @@
asa:
enabled: false

# Set which input to use between syslog (default) or file.
#var.input: syslog
# Set which input to use between udp (default), tcp or file.
#var.input: udp

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to udp or tcp syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9001.
# The port to listen for udp or tcp syslog traffic. Defaults to 9001.
#var.syslog_port: 9001

# With tcp input, set the optional tls configuration:
#var.ssl:
# enabled: true
# certificate: /path/to/cert.pem
# key: /path/to/privatekey.pem
# key_passphrase: 'password for my key'

# Set the log level from 1 (alerts only) to 7 (include all messages).
# Messages with a log level higher than the specified will be dropped.
# See https://www.cisco.com/c/en/us/td/docs/security/asa/syslog/b_syslog/syslogs-sev-level.html
Expand All @@ -28,16 +35,23 @@
ftd:
enabled: false

# Set which input to use between syslog (default) or file.
#var.input: syslog
# Set which input to use between udp (default), tcp or file.
#var.input: udp

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to tcp or udp syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9003.
# The UDP port to listen for tcp or udp syslog traffic. Defaults to 9003.
#var.syslog_port: 9003

# With tcp input, set the optional tls configuration:
#var.ssl:
# enabled: true
# certificate: /path/to/cert.pem
# key: /path/to/privatekey.pem
# key_passphrase: 'password for my key'

# Set the log level from 1 (alerts only) to 7 (include all messages).
# Messages with a log level higher than the specified will be dropped.
# See https://www.cisco.com/c/en/us/td/docs/security/firepower/Syslogs/b_fptd_syslog_guide/syslogs-sev-level.html
Expand All @@ -57,13 +71,16 @@
# Set which input to use between syslog (default) or file.
#var.input: syslog

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9002.
# The port to listen on for syslog traffic. Defaults to 9002.
#var.syslog_port: 9002

# Set which protocol to use between udp (default) or tcp.
#var.syslog_protocol: udp

# Set custom paths for the log files when using file input. If left empty,
# Filebeat will choose the paths depending on your OS.
#var.paths:
Expand Down
14 changes: 7 additions & 7 deletions x-pack/filebeat/module/cisco/asa/config/input.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
{{ if eq .input "syslog" }}

type: udp
udp:
host: "{{.syslog_host}}:{{.syslog_port}}"

{{ else if eq .input "file" }}
{{ if eq .input "file" }}

type: log
paths:
Expand All @@ -13,6 +7,12 @@ paths:
{{ end }}
exclude_files: [".gz$"]

{{ else }}

type: {{.input}}
host: "{{.syslog_host}}:{{.syslog_port}}"
ssl: {{ .ssl | tojson }}

{{ end }}

tags: {{.tags | tojson}}
Expand Down
3 changes: 2 additions & 1 deletion x-pack/filebeat/module/cisco/asa/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ var:
- name: syslog_port
default: 9001
- name: input
default: syslog
default: udp
- name: ssl
- name: log_level
default: 7
# if ES < 6.1.0, this flag switches to false automatically when evaluating the
Expand Down
13 changes: 7 additions & 6 deletions x-pack/filebeat/module/cisco/ftd/config/input.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
{{ if eq .input "syslog" }}

type: udp
host: "{{.syslog_host}}:{{.syslog_port}}"

{{ else if eq .input "file" }}
{{ if eq .input "file" }}

type: log
paths:
Expand All @@ -12,6 +7,12 @@ paths:
{{ end }}
exclude_files: [".gz$"]

{{ else }}

type: {{.input}}
host: "{{.syslog_host}}:{{.syslog_port}}"
ssl: {{ .ssl | tojson }}

{{ end }}

tags: {{.tags | tojson}}
Expand Down
3 changes: 2 additions & 1 deletion x-pack/filebeat/module/cisco/ftd/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ var:
- name: syslog_port
default: 9003
- name: input
default: syslog
default: udp
- name: ssl
- name: log_level
default: 7
# if ES < 6.1.0, this flag switches to false automatically when evaluating the
Expand Down
14 changes: 7 additions & 7 deletions x-pack/filebeat/module/cisco/ios/config/input.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
{{ if eq .input "syslog" }}

type: syslog
protocol.udp:
host: "{{.syslog_host}}:{{.syslog_port}}"

{{ else if eq .input "file" }}
{{ if eq .input "file" }}

type: log
paths:
Expand All @@ -13,6 +7,12 @@ paths:
{{ end }}
exclude_files: [".gz$"]

{{ else if eq .input "syslog" }}

type: syslog
protocol.{{.syslog_protocol}}:
host: "{{.syslog_host}}:{{.syslog_port}}"

{{ end }}

tags: {{.tags | tojson}}
Expand Down
2 changes: 2 additions & 0 deletions x-pack/filebeat/module/cisco/ios/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ var:
default: localhost
- name: syslog_port
default: 9002
- name: syslog_protocol
default: udp
- name: input
default: syslog

Expand Down
37 changes: 27 additions & 10 deletions x-pack/filebeat/modules.d/cisco.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,23 @@
asa:
enabled: false

# Set which input to use between syslog (default) or file.
#var.input: syslog
# Set which input to use between udp (default), tcp or file.
#var.input: udp

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to udp or tcp syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9001.
# The port to listen for udp or tcp syslog traffic. Defaults to 9001.
#var.syslog_port: 9001

# With tcp input, set the optional tls configuration:
#var.ssl:
# enabled: true
# certificate: /path/to/cert.pem
# key: /path/to/privatekey.pem
# key_passphrase: 'password for my key'

# Set the log level from 1 (alerts only) to 7 (include all messages).
# Messages with a log level higher than the specified will be dropped.
# See https://www.cisco.com/c/en/us/td/docs/security/asa/syslog/b_syslog/syslogs-sev-level.html
Expand All @@ -31,16 +38,23 @@
ftd:
enabled: false

# Set which input to use between syslog (default) or file.
#var.input: syslog
# Set which input to use between udp (default), tcp or file.
#var.input: udp

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to tcp or udp syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9003.
# The UDP port to listen for tcp or udp syslog traffic. Defaults to 9003.
#var.syslog_port: 9003

# With tcp input, set the optional tls configuration:
#var.ssl:
# enabled: true
# certificate: /path/to/cert.pem
# key: /path/to/privatekey.pem
# key_passphrase: 'password for my key'

# Set the log level from 1 (alerts only) to 7 (include all messages).
# Messages with a log level higher than the specified will be dropped.
# See https://www.cisco.com/c/en/us/td/docs/security/firepower/Syslogs/b_fptd_syslog_guide/syslogs-sev-level.html
Expand All @@ -60,13 +74,16 @@
# Set which input to use between syslog (default) or file.
#var.input: syslog

# The interface to listen to UDP based syslog traffic. Defaults to
# The interface to listen to syslog traffic. Defaults to
# localhost. Set to 0.0.0.0 to bind to all available interfaces.
#var.syslog_host: localhost

# The UDP port to listen for syslog traffic. Defaults to 9002.
# The port to listen on for syslog traffic. Defaults to 9002.
#var.syslog_port: 9002

# Set which protocol to use between udp (default) or tcp.
#var.syslog_protocol: udp

# Set custom paths for the log files when using file input. If left empty,
# Filebeat will choose the paths depending on your OS.
#var.paths:
Expand Down

0 comments on commit fa132b7

Please sign in to comment.