思科模块

编辑

这是一个用于思科网络设备日志和 Cisco Umbrella 的模块。它包含以下文件集,用于通过 syslog 接收日志或从文件中读取日志

  • asa 文件集:支持思科 ASA 防火墙日志。
  • amp 文件集:支持思科 AMP API 日志。
  • ftd 文件集:支持思科 Firepower Threat Defense 日志。
  • ios 文件集:支持思科 IOS 路由器和交换机日志。
  • umbrella 文件集:支持 Cisco Umbrella 日志。

思科 ASA 设备还支持使用 NetFlow 导出流量记录,Filebeat 中的 netflow 模块 支持 NetFlow。

运行模块时,它会在后台执行一些任务

  • 设置日志文件的默认路径(但不用担心,您可以覆盖默认值)
  • 确保每个多行日志事件都作为单个事件发送
  • 使用 Elasticsearch Ingest Pipeline 解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构
  • 部署用于可视化日志数据的仪表板

阅读 快速入门,了解如何配置和运行模块。

配置模块

编辑

您可以通过在 modules.d/cisco.yml 文件中指定 变量设置 或覆盖命令行中的设置,进一步完善 cisco 模块的行为。

您必须在模块中启用至少一个文件集。文件集默认情况下是禁用的。

默认情况下,模块配置为通过 ASA 的 9001 端口和 IOS 的 9002 端口使用 syslog 运行。但是,它也可以配置为从文件路径读取。请参见以下示例。

Cisco Umbrella 将其日志以压缩的 CSV 格式发布到 S3 存储桶。

- module: cisco
  asa:
    enabled: true
    var.paths: ["/var/log/cisco-asa.log"]
    var.input: "file"

变量设置

编辑

每个文件集都有单独的变量设置,用于配置模块的行为。如果您未指定变量设置,则 cisco 模块将使用默认值。

对于高级用例,您还可以覆盖输入设置。请参见 覆盖输入设置

在命令行中指定设置时,请记住在设置前加上模块名称,例如,使用 cisco.asa.var.paths 而不是 asa.var.paths

asa 文件集设置

编辑

示例配置

- module: cisco
  asa:
    var.syslog_host: 0.0.0.0
    var.syslog_port: 9001
    var.log_level: 5
var.paths
指定在何处查找日志文件的基于 glob 的路径数组。此处也支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中获取所有文件:/path/to/log/*/*.log。这将获取 /path/to/log 的子文件夹中的所有 .log 文件。它不会获取 /path/to/log 文件夹本身的日志文件。如果此设置为空,Filebeat 将根据您的操作系统选择日志路径。
var.log_level
1 到 7 之间的整数,允许根据严重性级别过滤消息。思科 ASA 支持的不同严重性级别为
log_level 严重性

1

警报

2

严重

3

错误

4

警告

5

通知

6

信息

7

调试

值为 7(默认值)不会过滤任何消息。较低的值将删除严重性级别高于指定值的任何消息。例如,var.log_level: 3 将允许级别 1(警报)、2(严重)和 3(错误)的消息。所有其他消息都将被删除。

如果更改此设置,则会在 Ingest Pipeline 中进行过滤,需要手动重新加载 Ingest Pipeline。要重新加载 Ingest Pipeline,请设置 filebeat.overwrite_pipelines: true 并手动 加载 Ingest Pipeline

var.syslog_host
侦听基于 UDP 的 syslog 流量的接口。默认为 localhost。设置为 0.0.0.0 以绑定到所有可用接口。
var.syslog_port
侦听 syslog 流量的 UDP 端口。默认为 9001。
var.timezone_offset
解释没有时区的 syslog 时间戳时要使用的 IANA 时区或时间偏移量(例如 +0200)。默认为 UTC。
var.tags
要在事件中包含的标签列表。包含 forwarded 表示事件并非源自此主机,并且不会将 host.name 添加到事件中。默认为 [cisco-asa, forwarded]

ftd 文件集设置

编辑

思科 FTD 文件集主要支持解析与 ASA 设备类似的 IPv4 和 IPv6 访问列表日志消息,以及用于入侵、连接、文件和恶意软件事件的安全事件 Syslog 消息。

字段映射

ftd 文件集将安全事件 Syslog 消息映射到 Elastic Common Schema (ECS) 格式。下表说明了从安全事件字段到 ECS 的映射。当没有相应的 ECS 字段可用时,将使用 cisco.ftd 前缀。

入侵事件字段的映射

FTD 字段 映射字段

ApplicationProtocol

network.protocol

DstIP

destination.address

DstPort

destination.port

EgressInterface

cisco.ftd.destination_interface

GID

service.id

HTTPResponse

http.response.status_code

IngressInterface

cisco.ftd.source_interface

InlineResult

event.outcome

IntrusionPolicy

cisco.ftd.rule_name

Message

message

Protocol

network.transport

SrcIP

source.address

SrcPort

source.port

User

user.id, user.name

WebApplication

network.application

连接和安全情报事件字段的映射

FTD 字段 映射字段

ACPolicy

cisco.ftd.rule_name

AccessControlRuleAction

event.outcome

AccessControlRuleName

cisco.ftd.rule_name

ApplicationProtocol

network.protocol

ConnectionDuration

event.duration

DNSQuery

dns.question.name

DNSRecordType

dns.question.type

DNSResponseType

dns.response_code

DstIP

destination.address

DstPort

destination.port

EgressInterface

cisco.ftd.destination_interface

HTTPReferer

http.request.referrer

HTTPResponse

http.response.status_code

IngressInterface

cisco.ftd.source_interface

InitiatorBytes

source.bytes

InitiatorPackets

source.packets

NetBIOSDomain

host.hostname

Protocol

network.transport

ReferencedHost

url.domain

ResponderBytes

destination.bytes

ResponderPackets

destination.packets

SSLActualAction

event.outcome

SSLServerName

server.domain

SrcIP

source.address

SrcPort

source.port

URL

url.original

User

user.name

UserAgent

user_agent.original

WebApplication

network.application

originalClientSrcIP

client.address

文件和恶意软件事件字段的映射

FTD 字段 映射字段

ApplicationProtocol

network.protocol

ArchiveFileName

file.name

ArchiveSHA256

file.hash.sha256

Client

network.application

DstIP

destination.address

DstPort

destination.port

FileName

file.name

FilePolicy

cisco.ftd.rule_name

FileSHA256

file.hash.sha256

FileSize

file.size

FirstPacketSecond

event.start

Protocol

network.transport

SrcIP

source.address

SrcPort

source.port

URI

url.original

User

user.name

WebApplication

network.application

示例配置

- module: cisco
  ftd:
    var.syslog_host: 0.0.0.0
    var.syslog_port: 9003
    var.log_level: 5
var.paths
指定在何处查找日志文件的基于 glob 的路径数组。此处也支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中获取所有文件:/path/to/log/*/*.log。这将获取 /path/to/log 的子文件夹中的所有 .log 文件。它不会获取 /path/to/log 文件夹本身的日志文件。如果此设置为空,Filebeat 将根据您的操作系统选择日志路径。
var.log_level
1 到 7 之间的整数,允许根据严重性级别过滤消息。思科 ASA 支持的不同严重性级别为
log_level 严重性

1

警报

2

严重

3

错误

4

警告

5

通知

6

信息

7

调试

值为 7(默认值)不会过滤任何消息。较低的值将删除严重性级别高于指定值的任何消息。例如,var.log_level: 3 将允许级别 1(警报)、2(严重)和 3(错误)的消息。所有其他消息都将被删除。

如果更改此设置,则会在 Ingest Pipeline 中进行过滤,需要手动重新加载 Ingest Pipeline。要重新加载 Ingest Pipeline,请设置 filebeat.overwrite_pipelines: true 并手动 加载 Ingest Pipeline

var.syslog_host
侦听基于 UDP 的 syslog 流量的接口。默认为 localhost。设置为 0.0.0.0 以绑定到所有可用接口。
var.syslog_port
侦听 syslog 流量的 UDP 端口。默认为 9003。
var.timezone_offset
解释没有时区的 syslog 时间戳时要使用的 IANA 时区或时间偏移量(例如 +0200)。默认为 UTC。
var.tags
要在事件中包含的标签列表。包含 forwarded 表示事件并非源自此主机,并且不会将 host.name 添加到事件中。默认为 [cisco-ftd, forwarded]

ios 文件集设置

编辑

思科 IOS 文件集主要支持解析 IPv4 和 IPv6 访问列表日志消息。

示例配置

- module: cisco
  ios:
    var.syslog_host: 0.0.0.0
    var.syslog_port: 9002
var.paths
指定在何处查找日志文件的基于 glob 的路径数组。此处也支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中获取所有文件:/path/to/log/*/*.log。这将获取 /path/to/log 的子文件夹中的所有 .log 文件。它不会获取 /path/to/log 文件夹本身的日志文件。如果此设置为空,Filebeat 将根据您的操作系统选择日志路径。
var.syslog_host
侦听基于 UDP 的 syslog 流量的接口。默认为 localhost。设置为 0.0.0.0 以绑定到所有可用接口。
var.syslog_port
侦听 syslog 流量的 UDP 端口。默认为 9002。
var.tags
要在事件中包含的标签列表。包含 forwarded 表示事件并非源自此主机,并且不会将 host.name 添加到事件中。默认为 [cisco-ios, forwarded]

时区支持

编辑

此模块解析不包含时区信息的日志。对于这些日志,Filebeat 读取本地时区,并在解析时使用它将时间戳转换为 UTC。event.timezone 字段中的事件包含要用于解析的时区。

要禁用此转换,可以使用 drop_fields 处理器删除 event.timezone 字段。

如果日志源自与本地时区不同的系统的系统或应用程序,则可以使用 add_fields 处理器将 event.timezone 字段覆盖为原始时区。

请参阅 处理器,了解有关在配置中指定处理器的更多信息。

umbrella 文件集设置

编辑

Cisco Umbrella 文件集主要侧重于使用 filebeat S3 输入从 S3 存储桶读取 CSV 文件。

要将 Cisco Umbrella 配置为记录到自管理的 S3 存储桶,请按照 Cisco Umbrella 用户指南AWS S3 输入文档 设置必要的 Amazon SQS 队列。目前不支持从 Cisco 管理的 S3 存储桶检索日志。

此文件集支持所有 4 种日志类型:- 代理 - 云防火墙 - IP 日志 - DNS 日志

Cisco Umbrella 文件集依赖于原始文件路径结构。此结构已记录在 Umbrella 日志格式和版本控制

<子文件夹>/<YYYY>-<MM>-<DD>/<YYYY>-<MM>-<DD>-<hh>-<mm>-<xxxx>.csv.gz dnslogs/<year>-<month>-<day>/<year>-<month>-<day>-<hour>-<minute>.csv.gz

示例配置

- module: cisco
  umbrella:
    enabled: true
    var.input: aws-s3
    var.queue_url: https://sqs.us-east-1.amazonaws.com/ID/CiscoQueue
    var.access_key_id: 123456
    var.secret_access_key: PASSWORD
var.input
从中读取消息的输入。可以是 S3 或文件。
var.queue_url
如果输入类型为 S3,则为 SQS 队列的 URL。
var.access_key_id
用于从 SQS 队列读取的访问密钥的 ID。
var.secret_access_key
用于向 SQS 队列进行身份验证的秘密令牌。
var.visibility_timeout
接收的消息从 ReceiveMessage 请求中隐藏的持续时间。默认为 300 秒。
var.api_timeout
AWS API 请求中断之前的最大持续时间。默认为 120 秒。

amp 文件集设置

编辑

Cisco AMP 文件集侧重于从您的 Cisco AMP/Cisco Secure Endpoint API 收集事件。

要配置 Cisco AMP 文件集,您需要从 AMP 仪表板中检索您的 client_idapi_key。有关如何检索这些凭据的更多信息,请参考 Cisco AMP API 文档

API 的配置 URL 取决于您的 AMP 所在区域,目前有三个选择:- api.amp.cisco.com - api.apjc.amp.cisco.com - api.eu.amp.cisco.com

如果 Cisco 未来添加了新的端点,请参考位于 Cisco AMP API 文档 中的 API URL 列表。

示例配置

- module: cisco
  amp:
    enabled: true
    var.input: httpjson
    var.url: https://api.amp.cisco.com/v1/events
    var.client_id: 123456
    var.api_key: sfda987gdf90s0df0

首次启动 Filebeat 模块时,您可以配置 Filebeat 从中收集现有事件的回溯时间。还可以选择 Filebeat 检查 Cisco AMP API 的频率。以下示例回溯 200 小时并设置自定义超时时间

- module: cisco
  amp:
    enabled: true
    var.input: httpjson
    var.url: https://api.amp.cisco.com/v1/events
    var.client_id: 123456
    var.api_key: sfda987gdf90s0df0
    var.first_interval: 200h
    var.interval: 60m
    var.request_timeout: 120s
    var.limit: 100
var.input
读取消息的输入。支持 httpjson。
var.url
Cisco AMP API 端点的 URL,此 URL 值取决于您的区域。它将与您的 Cisco AMP 仪表板 URL 位于同一区域。
var.client_id
用于访问 API 的用户帐户 ID。
var.api_key
与相关 client_id 一起使用的 API 密钥。
var.request_timeout
处理大量事件涌入时,尤其是在大型企业中,API 的响应时间可能会更长。此值用于为 Filebeat 发送的每个请求设置自定义超时值。
var.first_interval
Filebeat 模块首次启动时,您希望回溯多长时间来收集事件。支持小时数 (例如:24h)、分钟数 (例如:10m) 和秒数 (例如:50s)。
var.limit
此值控制 Cisco AMP API 每页返回的事件数量。

示例仪表板

编辑

此模块附带一个用于 ASA 的示例仪表板。

kibana cisco asa

字段

编辑

有关模块中每个字段的说明,请参见导出字段部分。