1.Mongodb未授权访问 描述 MongoDB 是一个基于分布式文件存储的数据库。默认情况下启动服务存在未授权访问风险,用户可以远程访问数据库,无需认证连接数据库并对数据库进行任意操作,存在严重的数据泄露风险。
加固建议
可以使用以下方法修复:
1.限制mongodb监听范围: 打开配置文件<mongod.conf>
,设置bind_ip=<ip>
,如果配置文件为yaml格式,则在net选项下设置bindIp: <ip1,ip2...>
;其中<ip>,<ip1,ip2...>
为指定的一个或多个IP地址,如mongodb只需在本地使用,则建议绑定本地ip127.0.0.1;
2.开启登录认证并增加认证用户: 若还没有用户,则登录mongodb客户端,创建新用户及密码。然后打开配置文件<mongod.conf>
,设置auth=true,如果配置文件为yaml格式,则在security选项下设置authorization:enabled;
3. 设置完成后重启mongodb服务。
2.确保将新条目附加到日志文件的末尾 描述 默认情况下,新的日志条目将在重新启动mongod或Mongols服务后覆盖旧条目。 启用systemLog.logAppend设置会导致新条目附加到日志文件的末尾,而不是在mongos或mongod实例重新启动时覆盖日志的现有内容。 允许旧条目被新条目覆盖而不是将新条目附加到日志末尾可能会破坏出于各种目的所需的旧日志数据。
加固建议
编辑配置文件<conf_path>/mongod.conf
将systemLog下的logAppend设置为true。
3.确保日志记录捕获尽可能多的信息 描述 SystemLog.quiet选项停止记录信息,例如: ?连接事件 ?身份验证事件 ?复制同步活动 ?运行一些可能有影响的命令的证据(例如:drop,dropIndexes, 验证) 应尽可能记录此信息。 此检查仅适用于Enterprise 版本。 使用SystemLog.quiet可以解决问题并进行调查 安全事件要困难得多。
加固建议
编辑<conf_file>/mongod.conf
文件中将SystemLog下的quiet设置为False以禁用它
4.确保MongoDB使用非默认端口 描述 更改MongoDB使用的端口使攻击者更难找到数据库并将其作为目标。 标准端口用于自动攻击,并由攻击者用于验证服务器上正在运行的应用程序。
加固建议 将MongoDB服务器的端口更改为27017以外的数字