炙手可热的MongoDB,安全吗?

  • 时间:
  • 浏览:0
  • 来源:UU快3—全天最准大发快三

采用基于角色的访问控制(RBAC)管理对MongoDB系统的访问,向用户授予另一个或多个角色,保证用户有必要的数据库资源和操作使用权限。创建各种不同权限的角色,成为正确处理MongoDB用户权限过大的唯一最好的依据,那末 一来会让创建角色变的僵化 。此处后能 采用累似 数据库防火墙的权限控制加以进一步控制。

通过-bind_ip限定后能 访问的ip;

明文传输的会话信息容易被窃取,启用SSL后能 正确处理网络窃听、篡改和珍间人攻击,这在一定程度会提高通讯安全。该启动项不仅支持客户端和服务器之间的通讯加密,也支持服务器之间的通讯加密。

云安全产品限时体验:http://www.dbscloud.cn/dbscloud1111.html

Rest的问提是访问数据库我太满 身份验证(开启身份强制验证也没用),后能 进行一定操作。CSRF(Cross-site request forgery)则是两种WEB攻击手段,攻击者盗用管理员身份,提交个人的命令。

数据库防火墙都后能 对不可信IP访问进行封堵;对web端口(220017)进行要素IP禁用;对27017端口进行隐藏,正确处理网络端对MongoDB的非法访问。

一般会话则完都是明文信息,机会被不法分子窃听、篡改和珍间人攻击:

一些MongoDB环境是为了单一项目机会是测试环境搭建,搭建者我太满 说关心MongoDB的安全问提。

1、网络隐藏,正确处理恶意访问;

上述意味着最终会意味着互联网上老出血块完正开放且脆弱的MongoDB。据调查,截止当前,我国互联网上易被发现的MongoDB有728另一个,其中要素仍可随意登录。要正确处理上述问提就时要对MongoDB进行合理配置,其中,进一步配置的不仅是身份验证和网络控制,还有更多机会造成安全隐患的要素。

MongoDB是10gen公司研发的面向文档的开源NoSQL数据库系统,用C++语言编写。MongoDB凭借简单的部署最好的依据,高效的扩展能力、僵化 的语言接口,并借着云蓬勃发展的势头,一度在全球数据库市场处在第四名。

1、针对第两种攻击,后能 利用数据库漏扫产品检查配置,发现REST API算是 关闭,正确处理此类攻击最简单的最好的依据太满 将其关闭。

通过-port设置MongoDB的端口(我太满 说使用默认的27017);

MongoDB一些与操作系统交互的行为对路径欠缺很好的控制,要素安装者为了省事,直接使用root账号安装,这在一些特定状况下会危害到操作系统上文件的安全,建议我太满 说采取你你你这个安装最好的依据。

三、Web安全问提

3、离米 的权限,正确处理越权操作;

MongoDB官方文档,如针对身份验证,传输加密,网络配置的文档、指南我太满 说规范,容易误导MongoDB管理员。

MongoDB支持在服务器端执行JavaScript、mapReduce、eval和$where等。机会能挑选不使用什么代码进行操作,请禁用,以正确处理MongoDB被攻击入侵(里边web会细说)。具体做法是通过- noscripting选项禁用服务器端的脚本功能。

默认MongoDB允许任意地址访问,勒索事件中的MongoDB除了那末 设置用户密码外,同样也那末 限制可信网络访问。为了确保MongoDB在受信任的网络环境中运行,时要限制MongoDB实例侦听传入连接的接口,仅允许受信任的客户端访问MongoDB实例。而限制外网的非法访问时要通过另一个参数进行合理关闭:

通过-nohttpinterface 取消MongoDB的WEB管理页面。太满 MongoDB用户告诉我你你你这个WEB管理页面,该页面我太满 数据库账号密码即可完成登录,从而查询一些MongoDB的敏感信息;

MongoDB默认不开启审计能力,一旦开启,可对要素操作进行审计,跟踪数据库配置和数据的访问和更改。MongoDB商业版支持另一个系统审计工具,可在MongoDB实例上记录系统事件(累似 用户操作,连接事件)。审计记录允许管理员事后进行取证分析,利用数据库审计产品也后能 做累似 的事情。

登录调用的函数处在缓冲区溢出漏洞,会意味着服务宕机

二、两种安全问提

默认状况下MongoDB中的数据以明文形式存储。从3.2版本始于MongoDB默认使用具备加密能力的WiredTiger存储引擎。MongoDB增加了额外的安全层,时要数据库身份验证才后能 访问加密内容。支持openssl库提供的多种加密算法,默认使用AES-256的cbc模式可选GCM模式或FIPS模式。

越权操作

1、通过升级3.0以上版本(目前尚未发现3.0以上版本有CVE漏洞)来正确处理自身安全问提。

乍看起来,Web安全和MongoDB关系不大,但恰恰相反。鉴于MongoDB的部署环境和使用领域,意味着从Web向MongoDB发动的攻击才是MongoDB面临的最大威胁。这要素攻击大体分成两类:

Rest前文已介绍,MongoDB自带的http REST API。默认状况下MongoDB会在220017开启另一个http端口提供REST服务,直接通过特定格式的URL获得数据库中的大要素信息或利用admin.$cmd执行一些数据库级命令。

敏感数据泄露

根据CVE列表,MongoDB从2009年面世至今一共发现了1兩个漏洞,什么漏洞主要分布在2.0-2.6版本之间(MongoDB最高版本机会到3.4系列),漏洞主要分为以下三类:

默认配置下,MongoDB不时要进行身份验证即可登录。在MongoDB部署上启用访问控制会强制进行身份验证,根据当前用户实际权限判断后续操作算是 被允许。使用auth参数后能 开启MongoDB的强制身份验证,为保证auth的真正生效,时要同去在user中配置用户名和密码信息。开启auth能有效杜绝网上非法用户恶意访问和非法操作行为,保护MongoDB中的数据安全。此处后能 通过累似 防火墙的身份验证,仅允许一些特定用户通过,正确处理非法访问行为。

MongoDB目标是实现快速简单部署,太满 处在太满 安全隐患。正确处理配置安全问提重点在于:

最后推荐一下自家产品:

关闭rest参数。该参数若开启,里边的web页面就后能 直接对数据库进行更多操作。即使开启了强制身份验证,该WEB管理页面仍我太满 身份验证即可登录,太满 一定要关闭rest并封死220017端口。

2、机会上述漏洞重现,后能 利用数据库防火墙虚拟补丁做有利补充。

MongoDB默认通过最简单部署最好的依据,最大限度提高运行强度,以在虚拟机(低配机)上运行而定制的,并未充分考虑MongoDB的安全性。

一、默认配置安全问提

作为目前使用最广泛的NoSQL数据库类型,MongoDB短时间内都后能 取得那末 巨大的市场成功,内因在于其上述突出的价值形式。但正所谓成也风云,败也风云,什么价值形式同去也给MongoDB带来了一定的安全风险。大致上,MongoDB的安全问提后能 分为另一个要素:

2、加密,保护信息安全;

本文通过对MongoDB已知安全隐患进行分析,尽机会指出怎么防控什么安全隐患,以期对MongoDB产品研发和应用提供一些安全应对思路。

4、数据库加密产品帮助MongoDB用户享受更多样性的加密最好的依据,确保数据密文存储。

阿里云市场官方店铺:https://shop14d200793.market.aliyun.com/ 

4、禁用无用功能,正确处理一些攻击。

注入攻击是两种宽泛说法,根据不同的语言注入有不同最好的依据,针对MongoDB的注入攻击大体分成二种:解释形语言注入和JavaScript注入。

1、针对配置参数,使用数据库漏扫产品进行检查,生成安全状况报告,指导并帮助用户对MongoDB进行安全加固。

2、数据库防火墙产品后能 帮助MongoDB实现网络隐身效果,并抵御一些利用javascrip发起的数据库攻击。

2、通过数据库防火墙产品,后能 借助配置规则对注入攻击进行过滤。

3、数据库审计产品为非企业版MongoDB提供更全面审计。

小结

MongoDB默认状况下那末 用户和密码,管理员若在admin库中的user里加上用户和密码,则其中的用户后能 访问数据库下所有实例中存储的内容。同样,在每个分库的user中直接加上用户,效果一样,但此时默认用户的权限会过大。太满 业务我太满 说时要整个实例乃至整个数据库的访问权限,权限过大机会给数据库带来安全隐患。

默认配置问提是MongoDB当前最为突出的安全问提。2016年底,MongoDB勒索事件在全球范围内持续发酵,主因在于在默认部署状况下,MongoDB我太满 身份验证,即可登录,不法分子假如在互联网上发现MongoDB的地址和端口就后能 通过工具直接访问MongoDB,并拥有MongoDB的完正权限,从而进行任意操作。都是可是 会那末 设计,意味着在于:

MongoDB的网络通讯默认采用明文最好的依据。在身份验证要素嘴笨 采用了累似 MySQL的挑战的最好的依据进行认证(密码我太满 以hash形式直接在包中老出),但还是会暴露使用指纹加密的信息,如下图: