思科模块
编辑思科模块
编辑这是一个用于思科网络设备日志和 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_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 从中收集现有事件的回溯时间。还可以选择 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 的示例仪表板。
字段
编辑有关模块中每个字段的说明,请参见导出字段部分。