博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB 安全配置
阅读量:5119 次
发布时间:2019-06-13

本文共 1602 字,大约阅读时间需要 5 分钟。

前言

随着MongoDB使用人群企业越来越广泛,黑客的注意力也转移到了其中。比如去年很火热的MongoDB劫持事件,很多人对MongoDB的安全也越来越重视。今天,我们就简单总结一些MongoDB的安全防护。首先,关于这方面的内容,官方也有说明,参考如下链接:https://docs.mongodb.com/manual/administration/security-checklist/ ;

1、启用访问控制和强制认证

打开认证,创建认证用户:

  • 在admin数据库中,创建一个admin 用户
use admindb.createUser(  {    user: "myUserAdmin",    pwd: "abc123",    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  })
  • 对具体的库进行授权
use reportingdb.createUser(  {    user: "reportsUser",    pwd: "12345678",    roles: [       { role: "read", db: "reporting" },       { role: "read", db: "products" },       { role: "read", db: "sales" },       { role: "readWrite", db: "accounts" }    ]  })

提示:在启动项中加入 --auth 或者在配置文件中加入 security.authorization: enabled。并且,MongoDB还可以使用外部系统进行认证,比如LADP等;

2、配置基于角色的访问控制

这里需要明确的是,MongoDB的基本安全分为两种,一种是认证,一种是鉴权。其实英语会说的比较明白点: authorization, authentication。

认证是作为用户登录的一种账号密码校验,类似MySQL 的 root/password ,在大部分应用中,一旦创建一个连接(用于连接池的),那么该连接只会做一次,所以大可不必担心因为认证而带来的开销。

鉴权是在数据库中的账号拥有的权限做鉴定,类似MySQL中的privilege。

3、基于TSL的双向认证

打开MongoDB 的TLS/SSl 的配置,社区版需要下载一个SSL版本,或者可以从社区版升级到SSl版本,企业版自带SSL。

SSL 可以保证MongoDB的 所有连接(输入和输出的连接)都是加密的。

4、限制网络暴露

通过指定 bindip,以及Linux通过iptables来限制访问的IP地址等,并在生产线上关闭 MongoDB 的 HTTP 接口和 REST API来达到规避网络进口的安全问题。

iptables -A INPUT -s 
-p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -d
-p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

5、创建MongoDB专门的运行用户

使用 mongodb 用户启动MongoDB,而不是使用 root 用户;

useradd -M mongodb -s /bin/nologinsudo -u mongodb -s

6、使用安全配置项运行MongoDB

转载于:https://www.cnblogs.com/yangxiaoyi/p/7504080.html

你可能感兴趣的文章
关于java Date和时区的问题 (转)
查看>>
通过表单展示不一样的页面(input对象)
查看>>
Windows 7 SP1 加速了系统 还是 SQL 2008拖慢了系统 ? SQL Server 2012 初体验
查看>>
centos 开机自启设定:
查看>>
组件基础(插槽slot)—Vue学习笔记
查看>>
Gensim进阶教程:训练word2vec与doc2vec模型
查看>>
插头DP小结
查看>>
Springboot通过cors解决跨域问题(解决spring security oath2的/oauth/token跨域问题)
查看>>
博客开通了
查看>>
D. Jzzhu and Cities
查看>>
UVA1279,Asteroid Rangers,星际游击队,好烦的最小生成树
查看>>
常见Python爬虫工具总结
查看>>
1724ROADS
查看>>
圆与多边形相交面积
查看>>
C#中的委托和事件 - Part.1
查看>>
【毕业设计】基于Android的家校互动平台开发(内含完整代码和所有文档)——爱吖校推(你关注的,我们才推)...
查看>>
每日一问:到底为什么属性动画后 View 在新位置还能响应事件
查看>>
将WCF寄宿在托管的Windows服务中
查看>>
ASP.NET Core开发Docker部署
查看>>
谈谈对于企业级系统架构的理解
查看>>