思科模块
编辑思科模块编辑
这是一个用于思科网络设备日志和 Cisco Umbrella 的模块。它包括以下文件集,用于通过 syslog 接收日志或从文件读取日志
-
asa
文件集:支持 Cisco ASA 防火墙日志。 -
amp
文件集:支持 Cisco AMP API 日志。 -
ftd
文件集:支持 Cisco Firepower 威胁防御日志。 -
ios
文件集:支持 Cisco IOS 路由器和交换机日志。 -
umbrella
文件集:支持 Cisco Umbrella 日志。
Cisco ASA 设备还支持使用 NetFlow 导出流记录,Filebeat 中的netflow 模块支持 NetFlow。
当您运行该模块时,它会在后台执行一些任务
- 设置日志文件的默认路径(但别担心,您可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch 提取管道来解析和处理日志行,将数据 shaping 成适合在 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 通用模式 (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/<年>-<月>-<日>/<年>-<月>-<日>-<小时>-<分钟>.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_id
和 api_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 检查 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 的示例仪表板
字段编辑
有关模块中每个字段的说明,请参阅 导出字段 部分。