Docs 菜单

Docs 主页开发应用程序MongoDB Manual

配置审查

在此页面上

  • 启用和配置审核输出
  • 运行时审核过滤器管理

注意

MongoDB Atlas 中的审核

MongoDB Atlas 支持对所有 M10和更大的集群进行审核。 Atlas 支持指定 JSON 格式的审核筛选器(如配置审核筛选器中所述),并使用 Atlas 审核筛选器构建器来简化审核配置。要了解更多信息,请参阅 Atlas 文档中的 设置数据库审核配置自定义审核筛选器。

MongoDB Enterprise支持对各种操作进行审核。完整的审核解决方案必须涉及所有mongod服务器和mongos路由器进程。

审核工具可将审核事件写入控制台、系统日志(该选项在 Windows 上不可用)、JSON 文件或 BSON 文件。有关已审核操作和审核日志消息的详细信息,请参阅系统事件审核消息

要在 MongoDB Enterprise 中启用审核,请使用 --auditDestination 设置审核输出目标。

警告

对于分片集群,如果您对 mongos 实例启用审核,则也必须对集群的 mongod 实例启用审核。为所有分片和配置服务器配置 mongod 的审核。

要启用审核并将审核事件打印到系统日志(该选项在 Windows 上不可用),请为 --auditDestination 设置指定 syslog。例如:

mongod --dbpath data/db --auditDestination syslog

根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip

重要

在绑定到其他 IP 地址之前,请考虑启用访问控制安全检查清单中列出的其他安全措施,以防未经授权的访问。

警告

系统日志消息限制可能会导致审核消息被截断。审核系统既不会检测此类截断,也不会在其出现时报错。

您还可以在配置文件中指定这些选项:

storage:
dbPath: data/db
auditLog:
destination: syslog

要启用审核并将审核事件打印到标准输出(即 stdout),请为 --auditDestination 设置指定 console。例如:

mongod --dbpath data/db --auditDestination console

根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip

重要

在绑定到其他 IP 地址之前,请考虑启用访问控制安全检查清单中列出的其他安全措施,以防未经授权的访问。

您还可以在配置文件中指定这些选项:

storage:
dbPath: data/db
auditLog:
destination: console

要启用审核并将审核事件打印到 JSON 格式的文件中,请指定以下选项:

选项
--auditDestination
file
JSON
输出文件名。接受完整路径名称或相对路径名称。

例如,以下命令启用审核功能,并将审核事件记录到相对路径名为 data/db/auditLog.json 的文件:

mongod --dbpath data/db --auditDestination file --auditFormat JSON --auditPath data/db/auditLog.json

根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip

重要

在绑定到其他 IP 地址之前,请考虑启用访问控制安全检查清单中列出的其他安全措施,以防未经授权的访问。

可使用 logRotate 命令轮换审核文件(与服务器日志一起,或单独轮换)。可使用 systemLog.logRotate 配置文件选项或 --logRotate 命令行选项来配置轮换的具体参数。

您还可以在配置文件中指定这些选项:

storage:
dbPath: data/db
auditLog:
destination: file
format: JSON
path: data/db/auditLog.json

注意

与以 BSON 格式打印相比,将 Atlas 审核事件以 JSON 格式打印到文件更可能导致服务器性能下降。

要启用审核并将审核事件打印到 BSON 二进制格式的文件,请指定以下选项:

选项
file
BSON
输出文件名。接受完整路径名称或相对路径名称。

例如,以下命令会启用审核并将审核事件记录到相对路径名为 data/db/auditLog.bson 的 BSON 文件中:

mongod --dbpath data/db --auditDestination file --auditFormat BSON --auditPath data/db/auditLog.bson

根据配置需要包括其他选项。例如,如果您希望远程客户端连接到您的部署,或者您的部署成员运行在不同的主机上,请指定--bind_ip

重要

在绑定到其他 IP 地址之前,请考虑启用访问控制安全检查清单中列出的其他安全措施,以防未经授权的访问。

审核文件会与服务器日志文件同时rotated。可使用 systemLog.logRotate 配置文件选项或 --logRotate 命令行选项来配置轮换的具体参数。

您还可以在配置文件中指定这些选项:

storage:
dbPath: data/db
auditLog:
destination: file
format: BSON
path: data/db/auditLog.bson

以下示例使用bsondump将审核日志转换为可读形式并输出结果:

bsondump data/db/auditLog.bson

从 MongoDB 5.0 开始,可在运行时配置审核筛选器。较之在本地 mongodmongos 配置文件中指定的审核筛选器配置,运行时审核筛选器管理具有三个优点:

在 MongoDB 5.0 之前,审核 MongoDB mongodmongos 实例的所有人员均须具有对主机服务器文件系统的写入权限才能更新审核筛选器。运行时审核筛选器管理通过将审核访问与管理访问进行分离来提高安全性。

使用运行时审核筛选器管理而不是直接编辑配置文件意味着:

从 MongoDB 5.0 开始,启用运行时审核筛选器管理后,可在运行时重新配置审核,而无需重启 mongodmongos 实例。静态配置的实例必须重新启动才能更新其审核设置。

关闭并重新启动实例时,在运行时所做的审核筛选器修改仍会存在。

在集群内,如果将所有 mongodmongos 参与节点均配置为使用运行时审核筛选器管理,则每个节点均会使用相同的审核筛选器。相反,如果每个节点均有自己在本地配置的审核筛选器,则无法保证各节点间审核筛选器的一致性。

从 MongoDB 5.0 开始,可在运行时配置 mongodmongos 节点的审核配置。一组这样的节点可以参与分布式审核配置。

要将节点包含在分布式审核配置中,请按如下方式更新节点的配置文件并重新启动服务器。

范围
true
未设置
未设置

如果出现以下情况,服务器将记录错误并无法启动:

要在运行时修改审核筛选器和 auditAuthorizationSuccess 参数,请参阅 setAuditConfig

提示

← 审核