MongoDB用户及安全
MongoDB安全措施
#### 1.启用访问控制和强制验证 启用访问控制并指定认证机制。可以使用默认的MongoDB身份验证机制或现有的外部框架。 认证要求所有客户端和服务器在连接到系统之前提供有效的凭据。 在群集部署中,为每个MongoDB服务器启用身份验证。 #### 2.配置基于角色的访问控制 先创建用户管理员,然后创建其他用户。 为访问系统的每个人员和应用程序创建一个唯一的MongoDB用户。 创建定义一组用户需要的确切访问权限的角色。 遵循最低权限的原则。 然后创建用户并分配他们只需要执行其操作所需的角色。用户可以是个人或客户端应用程序。 #### 3.加密通信 配置MongoDB为所有传入和传出连接使用TLS/SSL。 使用TLS/SSL加密MongoDB部署的mongod和mongos组件之间以及所有应用程序和MongoDB之间的通信。 #### 4.加密和保护数据 从MongoDB Enterprise 3.2开始,WiredTiger存储引擎的本机加密在Rest中可以配置为加密存储层中的数据。 如果您没有使用WiredTiger的加密功能,则应使用文件系统,设备或物理加密在每台主机上对MongoDB数据进行加密。 使用文件系统权限保护MongoDB数据。MongoDB数据包括数据文件,配置文件,审核日志和密钥文件。 #### 5.限制网络曝光 确保MongoDB在受信任的网络环境中运行,并限制MongoDB实例监听传入连接的接口。 只允许受信任的客户端访问MongoDB实例可用的网络接口和端口。 #### 6.审计系统活动 跟踪数据库配置和数据的访问和更改。 MongoDB Enterprise包括一个系统审核工具,可以在MongoDB实例上记录系统事件(例如用户操作,连接事件)。 这些审核记录允许进行法证分析,并允许管理员验证正确的控制。 #### 7.使用专用用户运行MongoDB 使用专用的操作系统用户帐户运行MongoDB进程。 确保帐户具有访问数据但没有不必要权限的权限而导致的安全问题。 #### 8.使用安全配置选项运行MongoDB MongoDB支持执行某些服务器端操作的JavaScript代码:mapReduce,group和$where。 如果不使用这些操作,请使用命令行上的--noscripting选项禁用服务器端脚本。 在生产部署中仅使用MongoDB线路协议。 不启用以下功能,所有这些都启用了Web服务器接口:net.http.enabled,net.http.JSONPEnabled和net.http.RESTInterfaceEnabled。保持这些禁用,除非向后兼容性要求。 >注:自 MongoDB3.2 版本以来已弃用:MongoDB的HTTP接口 保持输入验证有效。 MongoDB默认通过wireObjectCheck设置启用输入验证。 这确保了mongod实例存储的所有文档都是有效的BSON。
顶部
收展
底部
[TOC]
目录
MongoDB安全措施
MongoDB验证
MongoDB添加用户
MongoDB启用身份验证
MongoDB管理用户和角色
相关推荐
MongoDB教程
MongoDB进阶
PHP操作MongoDB
MongoDB优化