Modsecurity 集成

编辑

Modsecurity 集成

编辑

版本

1.18.2 (查看全部)

兼容的 Kibana 版本

7.16.0 或更高版本
8.0.0 或更高版本

支持的无服务器项目类型
这是什么?

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

社区

此集成定期从 Modsecurity 服务器获取审计日志。它可以解析 HTTP 服务器创建的审计日志。

兼容性

编辑

这些日志已使用带有 nginx 连接器的 ModSecurity v3 和带有 Apache 连接器的 ModSecurity v3 进行测试。根据配置将默认的 ModSecurity 日志格式更改为 json。

SecAuditLogParts ABDEFHIJZ
SecAuditLogType Serial
SecAuditLog /var/log/modsec_audit.json
SecAuditLogFormat JSON

请注意在 SecAuditLogParts 中删除与事务匹配的所有规则列表 (K)。该部分会使原始日志太长而无法解析。

审计日志

编辑

审计日志数据集收集 Modsecurity 审计日志。

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

keyword

cloud.availability_zone

此主机运行所在的可用区。

keyword

cloud.image.id

云实例的镜像 ID。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.instance.name

主机机器的实例名称。

keyword

cloud.machine.type

主机机器的机器类型。

keyword

cloud.project.id

Google Cloud 中项目的名称。

keyword

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

keyword

cloud.region

此主机运行所在的区域。

keyword

container.id

唯一的容器 ID。

keyword

container.image.name

容器构建所基于的镜像名称。

keyword

container.labels

镜像标签。

object

container.name

容器名称。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

destination.address

某些事件目标地址的定义不明确。事件有时会列出 IP、域名或 unix 套接字。您应始终将原始地址存储在 .address 字段中。然后应根据它是哪一个,将其复制到 .ip.domain

keyword

destination.as.number

分配给自治系统的唯一编号。自治系统号 (ASN) 唯一标识 Internet 上的每个网络。

long

destination.as.organization.name

组织名称。

keyword

destination.as.organization.name.text

destination.as.organization.name 的多字段。

match_only_text

destination.domain

目标系统的域名。此值可以是主机名、完全限定域名或其他主机命名格式。该值可能来自原始事件或从富化中添加。

keyword

destination.geo.city_name

城市名称。

keyword

destination.geo.continent_name

大陆名称。

keyword

destination.geo.country_iso_code

国家/地区 ISO 代码。

keyword

destination.geo.country_name

国家/地区名称。

keyword

destination.geo.location

经度和纬度。

geo_point

destination.geo.region_iso_code

区域 ISO 代码。

keyword

destination.geo.region_name

区域名称。

keyword

destination.ip

目标的 IP 地址(IPv4 或 IPv6)。

ip

destination.port

目标的端口。

long

ecs.version

此事件符合的 ECS 版本。ecs.version 是必填字段,并且必须存在于所有事件中。在跨多个索引进行查询时(可能符合略有不同的 ECS 版本),此字段使集成可以调整为事件的架构版本。

keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.architecture

操作系统架构。

keyword

host.containerized

主机是否为容器。

boolean

host.domain

主机所属域的名称。例如,在 Windows 上,这可以是主机的 Active Directory 域或 NetBIOS 域名。对于 Linux,这可以是主机 LDAP 提供程序的域。

keyword

host.hostname

主机的名称。它通常包含主机机器上 hostname 命令返回的内容。

keyword

host.id

唯一的主机 ID。由于主机名并不总是唯一的,请使用在您的环境中具有意义的值。示例:当前 beat.name 的用法。

keyword

host.ip

主机 IP 地址。

ip

host.mac

主机 MAC 地址。

keyword

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定域名或用户指定的名称。发送者决定要使用的值。

keyword

host.os.build

操作系统构建信息。

keyword

host.os.codename

操作系统代号(如果有)。

keyword

host.os.family

操作系统系列(如 redhat、debian、freebsd、windows)。

keyword

host.os.kernel

操作系统的内核版本,为原始字符串。

keyword

host.os.name

操作系统名称,不带版本。

keyword

host.os.name.text

host.os.name 的多字段。

text

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

host.os.version

操作系统版本,为原始字符串。

keyword

host.type

主机类型。对于云提供商,这可以是 t2.medium 之类的机器类型。如果是虚拟机,这可以是容器,例如,或者在您的环境中具有意义的其他信息。

keyword

http.request.body.content

完整的 HTTP 请求正文。

wildcard

http.request.body.content.text

http.request.body.content 的多字段。

match_only_text

http.request.bytes

请求的总大小(以字节为单位)(正文和标头)。

long

http.request.method

HTTP 请求方法。该值应保留其原始事件的大小写。例如,GETgetGeT 都是此字段的有效值。

keyword

http.request.mime_type

请求正文的 MIME 类型。此值必须仅根据请求正文的内容填充,而不是 Content-Type 标头。将请求的 MIME 类型与请求的 Content-Type 标头进行比较有助于检测威胁或配置错误的客户端。

keyword

http.request.referrer

此 HTTP 请求的引用者。

keyword

http.response.body.content

完整的 HTTP 响应正文。

wildcard

http.response.body.content.text

http.response.body.content 的多字段。

match_only_text

http.response.bytes

响应的总大小(以字节为单位)(正文和标头)。

long

http.response.mime_type

响应正文的 MIME 类型。此值必须仅根据响应正文的内容填充,而不是 Content-Type 标头。将响应的 MIME 类型与响应的 Content-Type 标头进行比较有助于检测配置错误的服务器。

keyword

http.response.status_code

HTTP 响应状态代码。

long

http.version

HTTP 版本。

keyword

input.type

输入类型

keyword

log.file.path

此事件来自的日志文件的完整路径,包括文件名。它应包括驱动器号(如果适用)。如果事件不是从日志文件读取的,则不要填充此字段。

keyword

log.offset

日志偏移量

long

message

事件的人工可读摘要

text

modsec.audit.connector

Web 服务器和 libmodsecurity 之间的连接器名称。

keyword

modsec.audit.details

Modsecurity 审计详细信息。

flattened

modsec.audit.messages

Modsecurity 审计消息。

keyword

modsec.audit.server

Modsecurity 服务器名称。

keyword

related.ip

在您的事件中看到的所有 IP。

ip

rule.id

在代理、观察者或使用该规则检测此事件的其他实体的范围内唯一的规则 ID。

keyword

source.address

某些事件源地址的定义不明确。事件有时会列出 IP、域名或 unix 套接字。您应始终将原始地址存储在 .address 字段中。然后应根据它是哪一个,将其复制到 .ip.domain

keyword

source.as.number

分配给自治系统的唯一编号。自治系统号 (ASN) 唯一标识 Internet 上的每个网络。

long

source.as.organization.name

组织名称。

keyword

source.as.organization.name.text

source.as.organization.name 的多字段。

match_only_text

source.geo.city_name

城市名称。

keyword

source.geo.continent_name

大陆名称。

keyword

source.geo.country_iso_code

国家/地区 ISO 代码。

keyword

source.geo.country_name

国家/地区名称。

keyword

source.geo.location

经度和纬度。

geo_point

source.geo.region_iso_code

区域 ISO 代码。

keyword

source.geo.region_name

区域名称。

keyword

source.ip

源的 IP 地址(IPv4 或 IPv6)。

ip

source.port

源的端口。

long

tags

用于标记每个事件的关键字列表。

keyword

transaction.id

在其跟踪范围内事务的唯一标识符。事务是服务中测量的最高级别的工作,例如对服务器的请求。

keyword

url.domain

URL 的域名,例如“https://elastic.ac.cn[www.elastic.co]”。在某些情况下,URL 可以直接引用 IP 和/或端口,而无需域名。在这种情况下,IP 地址将进入 domain 字段。如果 URL 包含由 [] (IETF RFC 2732) 包围的文本 IPv6 地址,则 [] 字符也应捕获在 domain 字段中。

keyword

url.extension

该字段包含原始请求 URL 中的文件扩展名,不包括前导点。仅当存在文件扩展名时才设置该文件扩展名,因为并非每个 URL 都有文件扩展名。不得包含前导句点。例如,该值必须是“png”,而不是“.png”。请注意,当文件名具有多个扩展名 (example.tar.gz) 时,应仅捕获最后一个扩展名(“gz”,而不是“tar.gz”)。

keyword

url.fragment

# 之后的 URL 部分,例如“top”。# 不是片段的一部分。

keyword

url.original

事件源中看到的未经修改的原始 URL。请注意,在网络监控中,观察到的 URL 可能是完整的 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示观察到的 URL(完整或不完整)。

wildcard

url.original.text

url.original 的多字段。

match_only_text

url.path

请求的路径,例如“/search”。

wildcard

url.port

请求的端口,例如 443。

long

url.query

query 字段描述请求的查询字符串,例如 "q=elasticsearch"。查询字符串中不包含 ?。如果 URL 不包含 ?,则不存在 query 字段。如果存在 ? 但没有查询,则 query 字段存在且为空字符串。可以使用 exists 查询来区分这两种情况。

keyword

url.scheme

请求的方案,例如 "https"。注意:: 不属于方案的一部分。

keyword

user.name

用户的简称或登录名。

keyword

user.name.text

user.name 的多字段。

match_only_text

user_agent.device.name

设备的名称。

keyword

user_agent.name

用户代理的名称。

keyword

user_agent.original

未解析的用户代理字符串。

keyword

user_agent.original.text

user_agent.original 的多字段。

match_only_text

user_agent.os.full

操作系统名称,包括版本或代号。

keyword

user_agent.os.full.text

user_agent.os.full 的多字段。

match_only_text

user_agent.os.name

操作系统名称,不带版本。

keyword

user_agent.os.name.text

user_agent.os.name 的多字段。

match_only_text

user_agent.os.version

操作系统版本,为原始字符串。

keyword

user_agent.version

用户代理的版本。

keyword

更新日志

编辑
更新日志
版本 详情 Kibana 版本

1.18.2

Bug 修复 (查看拉取请求)
在引用提取管道中的变量时,使用三花括号 Mustache 模板。

7.16.0 或更高版本
8.0.0 或更高版本

1.18.1

Bug 修复 (查看拉取请求)
在引用提取管道中的变量时,使用三花括号 Mustache 模板。

7.16.0 或更高版本
8.0.0 或更高版本

1.18.0

增强 (查看拉取请求)
将软件包规范更新至 3.0.3。

7.16.0 或更高版本
8.0.0 或更高版本

1.17.2

增强 (查看拉取请求)
更改了所有者

7.16.0 或更高版本
8.0.0 或更高版本

1.17.1

Bug 修复 (查看拉取请求)
修复 exclude_files 模式。

7.16.0 或更高版本
8.0.0 或更高版本

1.17.0

增强 (查看拉取请求)
ECS 版本更新至 8.11.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.16.1

Bug 修复 (查看拉取请求)
添加缺失的 destination.as.*denstination.geo.* 字段定义和映射。

7.16.0 或更高版本
8.0.0 或更高版本

1.16.0

增强 (查看拉取请求)
改进对 *event.original* 的检查,以避免在设置时出现错误。

7.16.0 或更高版本
8.0.0 或更高版本

1.15.0

增强 (查看拉取请求)
设置 *community* 所有者类型。

7.16.0 或更高版本
8.0.0 或更高版本

1.14.0

增强 (查看拉取请求)
ECS 版本更新至 8.10.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.13.0

增强 (查看拉取请求)
软件包清单中的 format_version 从 2.11.0 更改为 3.0.0。从软件包清单中删除带点的 YAML 键。在软件包清单中添加了 *owner.type: elastic*。

7.16.0 或更高版本
8.0.0 或更高版本

1.12.0

增强 (查看拉取请求)
添加 tags.yml 文件,以便将集成的仪表板和已保存的搜索标记为“安全解决方案”,并在安全解决方案 UI 中显示。

7.16.0 或更高版本
8.0.0 或更高版本

1.11.1

Bug 修复 (查看拉取请求)
当 nginx 配置为 server_tokens off 时,使管道选择更加稳健。

7.16.0 或更高版本
8.0.0 或更高版本

1.11.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.9.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.10.0

增强 (查看拉取请求)
确保为管道错误正确设置 event.kind。

7.16.0 或更高版本
8.0.0 或更高版本

1.9.1

Bug 修复 (查看拉取请求)
修复 Apache 详细信息的处理。

7.16.0 或更高版本
8.0.0 或更高版本

1.9.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.8.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.8.0

增强 (查看拉取请求)
将软件包规范版本更新至 2.7.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.7.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.7.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.6.1

增强 (查看拉取请求)
添加了类别和/或子类别。

7.16.0 或更高版本
8.0.0 或更高版本

1.6.0

Bug 修复 (查看拉取请求)
处理亚秒级分辨率时间戳。

增强 (查看拉取请求)
改进错误处理。

7.16.0 或更高版本
8.0.0 或更高版本

1.5.1

Bug 修复 (查看拉取请求)
添加对时区配置的支持。

7.16.0 或更高版本
8.0.0 或更高版本

1.5.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.6.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.4.1

Bug 修复 (查看拉取请求)
删除重复字段。

7.16.0 或更高版本
8.0.0 或更高版本

1.4.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.5.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.3.0

增强 (查看拉取请求)
更好地提取 HTTP 请求头

7.16.0 或更高版本
8.0.0 或更高版本

1.2.1

增强 (查看拉取请求)
使用 ECS geo.location 定义。

7.16.0 或更高版本
8.0.0 或更高版本

1.2.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.4.0

7.16.0 或更高版本
8.0.0 或更高版本

1.1.3

Bug 修复 (查看拉取请求)
修复 build/docs/README.md 中的拼写错误

7.16.0 或更高版本
8.0.0 或更高版本

1.1.2

Bug 修复 (查看拉取请求)
修复日期格式、Json 问题和 Apache modsecurity 问题

7.16.0 或更高版本
8.0.0 或更高版本

1.1.1

增强 (查看拉取请求)
更新软件包名称和描述以符合标准措辞

7.16.0 或更高版本
8.0.0 或更高版本

1.1.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.3.0。

7.16.0 或更高版本
8.0.0 或更高版本

1.0.0

增强 (查看拉取请求)
正式发布

7.16.0 或更高版本
8.0.0 或更高版本

0.1.5

增强 (查看拉取请求)
添加多字段文档

0.1.4

增强 (查看拉取请求)
将所有权更改为正确的所有者,并更新版本以支持 8.x

0.1.3

Bug 修复 (查看拉取请求)
使用新的 GeoIP 数据库重新生成测试文件

0.1.2

Bug 修复 (查看拉取请求)
将测试公共 IP 更改为支持的子集

0.1.1

Bug 修复 (查看拉取请求)
修复检查 *forwarded* 标签的逻辑

0.1.0

增强 (查看拉取请求)
软件包的初始草案