Cisco 模块

编辑

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

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

Cisco ASA 设备还支持使用 NetFlow 导出流记录,Filebeat 中的 netflow 模块支持该功能。

当您运行该模块时,它会在后台执行以下几项任务

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

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

配置模块

编辑

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

您必须在该模块中至少启用一个文件集。文件集默认情况下处于禁用状态。

该模块默认配置为通过 syslog 在 9001 端口(ASA)和 9002 端口(IOS)上运行。但是,也可以将其配置为从文件路径读取。请参见以下示例。

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 之间的整数,允许根据严重性级别过滤消息。Cisco ASA 支持的不同严重性级别如下
log_level 严重性

1

警报

2

严重

3

错误

4

警告

5

通知

6

信息

7

调试

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

筛选是在摄取管道中完成的,如果更改此设置,则需要手动重新加载摄取管道。要重新加载摄取管道,请设置 filebeat.overwrite_pipelines: true 并手动加载摄取管道

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 文件集设置

编辑

Cisco 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 之间的整数,允许根据严重性级别过滤消息。Cisco ASA 支持的不同严重性级别如下
log_level 严重性

1

警报

2

严重

3

错误

4

警告

5

通知

6

信息

7

调试

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

筛选是在摄取管道中完成的,如果更改此设置,则需要手动重新加载摄取管道。要重新加载摄取管道,请设置 filebeat.overwrite_pipelines: true 并手动加载摄取管道

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 文件集设置

编辑

Cisco 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 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 模块时从多久之前开始收集事件。支持以小时(例如:24 小时)、分钟(例如:10 分钟)和秒(例如:50 秒)为单位的量。
var.limit
此值控制 Cisco AMP API 每页返回的事件数量。

示例仪表板

编辑

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

kibana cisco asa

字段

编辑

有关模块中每个字段的描述,请参阅导出的字段部分。