安全最佳实践

建议避免绑定EIP直接通过互联网访问MongoDB
避免MongoDB部署在互联网或者DMZ里,应该将MongoDB部署在公司内部网络,使用路由器或者防火墙技术把MongoDB保护起来,避免直接绑定EIP方式从互联网访问MongoDB。通过这种方式防止未授权的访问及DDos攻击等。不推荐绑定弹性公网IP,如果业务必需,请务必设置安全组。
避免使用常用密码
新建/修改账号密码,密码需要为强密码,在满足安全密码复杂度要求的前提下,同时避免使用常用密码。通过这种方式防止黑客爆破密码、彩虹表攻击等。常用密码可以通过检查弱密码接口进行查询。
禁止使用默认端口号
MongoDB的默认端口是27017,使用默认端口容易被监听,存在安全隐患,MongoDB推荐使用非默认端口。详情请参见修改数据库端口。
限制MongoDB的最大连接数
如果MongoDB的连接数过高,会消耗服务器过多的资源,导致OPS(query、insert、update、delete)等操作响应变慢,同时也要根据操作系统环境来设置最大连接数net.maxIncomingConnections,如果高于操作系统接收的最大线程数,设置无效。
关闭IPv6功能
目前MongoDB不支持选择IPv6网段的子网,建议您在使用时创建实例时选择IPv4网段的子网。
关闭脚本运行功能
启用javascriptEnabled选项security.javascriptEnabled,可以在mongod 服务端运行javascript脚本,存在安全风险。禁用javascriptEnabled选项,mapreduce、group命令等将无法使用。如果您的应用中没有mapreduce等操作的需求,为了安全起见,建议关闭javascriptEnabled选项。
建议开启审计功能
审计功能可以记录用户对数据库的所有相关操作。通过查看审计日志,您可以对数据库进行安全审计、故障根因分析等操作,提高系统运维效率。
建议开启加密通信
如果未配置SSL加密通信,那么在Mongo客户端和服务器之间传输的数据,容易受到窃听、篡改和"中间人"攻击。为了提高数据传输的安全性,建议您开启SSL加密通信。
开启磁盘加密
建议您开启磁盘加密可以提供数据的安全性。
开启备份功能
MongoDB实例支持自动备份和手动备份,您可以定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份文件恢复数据库,从而保证数据可靠性。
设置秒级监控和告警规则
MongoDB默认支持对实例进行监控,当监控指标的值超出设置的阈值时就会触发告警,系统会通过SMN自动发送报警通知给云账号联系人,帮助您及时了解MongoDB实例的运行状况。请您结合实际的业务,设置合适的监控和告警规则。
版本升级
MongoDB支持补丁升级或者大版本升级,版本升级涉及新功能添加、问题修复,同时可以提升安全能力、性能水平。建议及时进行版本升级。
检查角色的合理性
MongoDB支持“基于角色”的方法授予账号对数据和命令的访问权限。建议管理员结合业务需要,遵从最低授权原则,创建合适的自定义角色,对账号进行授权。如果发现账号权限过大,请结合业务需要,对账号权限进行更新或者删除。
posted @ 2025-06-17 01:01  屠魔的少年  阅读(18)  评论(0)    收藏  举报