Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

在自管理部署上配置审核

在此页面上

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

注意

MongoDB Atlas 中的审核

MongoDB Atlas支持对所有 M10和更大的集群进行审核。 Atlas支持指定JSON格式的Atlas 审核过滤(如在自托管部署上配置审核筛选器中所述),以及使用AtlasAtlas 审核过滤器构建器来简化审核配置。 要学习;了解更多信息,请参阅Atlas文档中的设置数据库审核配置自定义审核筛选器。

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

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

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

警告

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

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

mongod --dbpath data/db --auditDestination syslog

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

重要

在绑定到其他 IP 地址之前,请考虑访问权限自托管部署的安全检查清单中列出的访问控制和其他安全措施,以防止未经授权的访问权限。

警告

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

在 Linux 系统中,消息遵循 Linux 配置文件 /etc/systemd/journald.conf 中定义的规则。默认情况下,日志消息突发量限制为 30 秒内 1000 条消息。要查看更多消息,请提高 /etc/systemd/journald.conf 中的 RateLimitBurst参数。

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

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 格式的文件中,请指定以下选项:

选项

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 节点的审核配置。一组这样的节点可以参与分布式审核配置。

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

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

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

提示

另请参阅:

后退

审核