久久久噜噜噜久久中文字幕色伊伊,av免费高清网址在线播放,黑逼白逼一样操,在线岛国片免费无码AV

?
內(nèi)容中心
按關(guān)鍵字查找
炙手可熱的MongoDB,安全嗎?
作者:思成 發(fā)布時間:2017-12-31

MongoDB是10gen公司研發(fā)的面向文檔的開源NoSQL數(shù)據(jù)庫系統(tǒng),用C++語言編寫。MongoDB憑借簡單的部署方式,高效的擴(kuò)展能力、多樣化的語言接口,并借著云蓬勃發(fā)展的勢頭,一度在全球數(shù)據(jù)庫市場占據(jù)第四名。

01.jpg

安全問題綜述

作為目前使用最廣泛的Nosql數(shù)據(jù)庫類型,MongoDB短時間內(nèi)能夠取得如此巨大的市場成功,內(nèi)因在于其上述突出的特性。但正所謂成也風(fēng)云,敗也風(fēng)云,這些特性同時也給MongoDB帶來了一定的安全風(fēng)險。大致上,mongodb 的安全問題可以分為三個部分:

默認(rèn)配置安全問題

本身安全問題

WEB安全問題

1、默認(rèn)配置安全問題

默認(rèn)配置問題是MongoDB當(dāng)前最為突出的安全問題。2016年底,MongoDB勒索事件在全球范圍內(nèi)持續(xù)發(fā)酵,主因在于在默認(rèn)部署情況下,MongoDB無需身份驗證,即可登錄,不法分子只要在互聯(lián)網(wǎng)上發(fā)現(xiàn)MongoDB的地址和端口就可以通過工具直接訪問MongoDB,并擁有MongoDB的全部權(quán)限,從而進(jìn)行任意操作。之所以會如此設(shè)計,原因在于:

1. MongoDB默認(rèn)通過最簡單部署方式,最大限度提高運(yùn)行速度,以在虛擬機(jī)(低配機(jī))上運(yùn)行而定制的,并未充分考慮MongoDB的安全性。

2. MongoDB官方文檔,如針對身份驗證,傳輸加密,網(wǎng)絡(luò)配置的文檔、指南并不規(guī)范,容易誤導(dǎo)MongoDB管理員。

3. 一些MongoDB環(huán)境是為了單一項目或者是測試環(huán)境搭建,搭建者并不關(guān)心MongoDB的安全問題。

上述原因最終會導(dǎo)致互聯(lián)網(wǎng)上出現(xiàn)大量完全開放且脆弱的MongoDB。據(jù)調(diào)查,截止當(dāng)前,我國互聯(lián)網(wǎng)上易被發(fā)現(xiàn)的MongoDB有7281個,其中部分仍可隨意登錄。要解決上述問題就需要對MongoDB進(jìn)行合理配置,其中,進(jìn)一步配置的不僅是身份驗證和網(wǎng)絡(luò)控制,還有更多可能造成安全隱患的部分。

1)啟動訪問控制并強(qiáng)制進(jìn)行身份驗證

默認(rèn)配置下,MongoDB不需要進(jìn)行身份驗證即可登錄。在MongoDB部署上啟用訪問控制會強(qiáng)制進(jìn)行身份驗證,根據(jù)當(dāng)前用戶實際權(quán)限判斷后續(xù)操作是否被允許。使用auth參數(shù)可以開啟MongoDB的強(qiáng)制身份驗證,為保證auth的真正生效,需要同時在user中配置用戶名和密碼信息。開啟auth能有效杜絕網(wǎng)上非法用戶惡意訪問和非法操作行為,保護(hù)MongoDB中的數(shù)據(jù)安全。此處可以通過類似防火墻的身份驗證,僅允許某些特定用戶通過,防止非法訪問行為。

2)限制網(wǎng)絡(luò)訪問

默認(rèn)MongoDB允許任意地址訪問,勒索事件中的MongoDB除了沒有設(shè)置用戶密碼外,同樣也沒有限制可信網(wǎng)絡(luò)訪問。為了確保MongoDB在受信任的網(wǎng)絡(luò)環(huán)境中運(yùn)行,需要限制MongoDB實例偵聽傳入連接的接口,僅允許受信任的客戶端訪問MongoDB實例。而限制外網(wǎng)的非法訪問需要通過三個參數(shù)進(jìn)行合理關(guān)閉:

通過-bind_ip限定可以訪問的ip;

通過-port設(shè)置MongoDB的端口(不要使用默認(rèn)的27017);

通過-nohttpinterface 取消MongoDB的WEB管理頁面。很多MongoDB用戶不知道這個WEB管理頁面,該頁面無需數(shù)據(jù)庫賬號密碼即可完成登錄,從而查詢一些MongoDB的敏感信息;

關(guān)閉rest參數(shù)。該參數(shù)若開啟,上面的web頁面就可以直接對數(shù)據(jù)庫進(jìn)行更多操作。即使開啟了強(qiáng)制身份驗證,該WEB管理頁面仍無需身份驗證即可登錄,所以一定要關(guān)閉rest并封死28017端口。

數(shù)據(jù)庫防火墻能夠?qū)Σ豢尚臝P訪問進(jìn)行封堵;對web端口(28017)進(jìn)行部分IP禁用;對27017端口進(jìn)行隱藏,防止網(wǎng)絡(luò)端對MongoDB的非法訪問。

3)啟用加密通訊

MongoDB的網(wǎng)絡(luò)通訊默認(rèn)采用明文方式。在身份驗證部分雖然采用了類似MySQL的挑戰(zhàn)的方式進(jìn)行認(rèn)證(密碼不會以hash形式直接在包中出現(xiàn)),但還是會暴露使用指紋加密的信息,如下圖:

02.jpg

一般會話則完全是明文信息,可能被不法分子竊聽、篡改和中間人攻擊:

03.jpg

明文傳輸?shù)臅捫畔⑷菀妆桓`取,啟用SSL可以防止網(wǎng)絡(luò)竊聽、篡改和中間人攻擊,這在一定程度會提高通訊安全。該啟動項不僅支持客戶端和服務(wù)器之間的通訊加密,也支持服務(wù)器之間的通訊加密。

4)加密和數(shù)據(jù)保護(hù)

默認(rèn)情況下MongoDB中的數(shù)據(jù)以明文形式存儲。從3.2版本開始MongoDB默認(rèn)使用具備加密能力的WiredTiger存儲引擎。MongoDB增加了額外的安全層,需要數(shù)據(jù)庫身份驗證才可以訪問加密內(nèi)容。支持openssl庫提供的多種加密算法,默認(rèn)使用AES-256的cbc模式可選GCM模式或FIPS模式。

5)配置基于角色的訪問控制    

MongoDB默認(rèn)情況下沒有用戶和密碼,管理員若在admin庫中的user里添加用戶和密碼,則其中的用戶可以訪問數(shù)據(jù)庫下所有實例中存儲的內(nèi)容。同樣,在每個分庫的user中直接添加用戶,效果一樣,但此時默認(rèn)用戶的權(quán)限會過大。很多業(yè)務(wù)并不需要整個實例乃至整個數(shù)據(jù)庫的訪問權(quán)限,權(quán)限過大可能給數(shù)據(jù)庫帶來安全隱患。

采用基于角色的訪問控制(RBAC)管理對MongoDB系統(tǒng)的訪問,向用戶授予一個或多個角色,保證用戶有必要的數(shù)據(jù)庫資源和操作使用權(quán)限。創(chuàng)建各種不同權(quán)限的角色,成為解決MongoDB用戶權(quán)限過大的唯一方式,如此一來會讓創(chuàng)建角色變的繁雜。此處可以采用類似數(shù)據(jù)庫防火墻的權(quán)限控制加以進(jìn)一步控制。

6)審核數(shù)據(jù)庫操作

MongoDB默認(rèn)不開啟審計能力,一旦開啟,可對部分操作進(jìn)行審計,跟蹤數(shù)據(jù)庫配置和數(shù)據(jù)的訪問和更改。MongoDB商業(yè)版支持一個系統(tǒng)審計工具,可在MongoDB實例上記錄系統(tǒng)事件(例如用戶操作,連接事件)。審計記錄允許管理員事后進(jìn)行取證分析,利用數(shù)據(jù)庫審計產(chǎn)品也可以做類似的事情。

7)安裝MongoDB使用專用賬號

MongoDB某些與操作系統(tǒng)交互的行為對路徑缺乏很好的控制,部分安裝者為了省事,直接使用root賬號安裝,這在某些特定情況下會危害到操作系統(tǒng)上文件的安全,建議不要采取這種安裝方式。

8)禁用不使用的語言

MongoDB支持在服務(wù)器端執(zhí)行JavaScript、mapReduce、 eval和$where等。如果能確定不使用這些代碼進(jìn)行操作,請禁用,以避免MongoDB被攻擊入侵(后面web會細(xì)說)。具體做法是通過- noscripting選項禁用服務(wù)器端的腳本功能。

小結(jié)

MongoDB目標(biāo)是實現(xiàn)快速簡單部署,所以存在很多安全隱患。解決配置安全問題重點在于:1、網(wǎng)絡(luò)隱藏,防止惡意訪問;

2、加密,保護(hù)信息安全;

3、合適的權(quán)限,防止越權(quán)操作;

4、禁用無用功能,防止某些攻擊。

安全應(yīng)對

滿足上述安全防護(hù)措施,可以使用專業(yè)的產(chǎn)品和技術(shù):

針對配置參數(shù),使用數(shù)據(jù)庫漏掃產(chǎn)品進(jìn)行檢查,生成安全情況報告,指導(dǎo)并幫助用戶對MongoDB進(jìn)行安全加固。

數(shù)據(jù)庫防火墻產(chǎn)品可以幫助MongoDB實現(xiàn)網(wǎng)絡(luò)隱身效果,并抵御某些利用javascrip發(fā)起的數(shù)據(jù)庫攻擊。

數(shù)據(jù)庫審計產(chǎn)品為非企業(yè)版MongoDB提供更全面審計。

數(shù)據(jù)庫加密產(chǎn)品幫助MongoDB用戶享受更多樣性的加密方式,確保數(shù)據(jù)密文存儲。

2、本身安全問題

根據(jù)CVE列表,MongoDB從2009年面世至今一共發(fā)現(xiàn)了13個漏洞,這些漏洞主要分布在2.0-2.6版本之間(MongoDB最高版本已經(jīng)到3.4系列),漏洞主要分為以下三類:

敏感數(shù)據(jù)泄露

越權(quán)操作

登錄調(diào)用的函數(shù)存在緩沖區(qū)溢出漏洞,會導(dǎo)致服務(wù)宕機(jī)

安全應(yīng)對

1、通過升級3.0以上版本(目前尚未發(fā)現(xiàn)3.0以上版本有CVE漏洞)來解決自身安全問題。

2、如果上述漏洞重現(xiàn),可以利用數(shù)據(jù)庫防火墻虛擬補(bǔ)丁做有利補(bǔ)充。

3、Web安全問題

乍看起來,Web安全和MongoDB關(guān)系不大,但恰恰相反。鑒于MongoDB的部署環(huán)境和使用領(lǐng)域,導(dǎo)致從Web向MongoDB發(fā)動的攻擊才是MongoDB面臨的最大威脅。這部分攻擊大體分成兩類:1、rest和CSRF聯(lián)合攻擊;2、注入攻擊。

1)Rest和CSRF聯(lián)合攻擊

Rest前文已介紹,MongoDB自帶的http REST API。默認(rèn)情況下MongoDB會在28017開啟一個http端口提供REST服務(wù),直接通過特定格式的URL獲得數(shù)據(jù)庫中的大部分信息或利用admin.$cmd執(zhí)行一些數(shù)據(jù)庫級命令。

Rest的問題是訪問數(shù)據(jù)庫無需身份驗證(開啟身份強(qiáng)制驗證也沒用),并能進(jìn)行一定操作。CSRF(Cross-site request forgery)則是一種WEB攻擊手段,攻擊者盜用管理員身份,提交自己的命令。

2)注入攻擊

注入攻擊是一種寬泛說法,根據(jù)不同的語言注入有不同方式,針對MongoDB的注入攻擊大體分成二種:解釋形語言注入和JavaScript注入。通過防火墻產(chǎn)品可以借助配置規(guī)則,過濾注入攻擊。

安全應(yīng)對

針對第一種攻擊,可以利用數(shù)據(jù)庫漏掃產(chǎn)品檢查配置,發(fā)現(xiàn)REST API是否關(guān)閉,解決此類攻擊最簡單的辦法就是將其關(guān)閉。

通過數(shù)據(jù)庫防火墻產(chǎn)品,可以借助配置規(guī)則對注入攻擊進(jìn)行過濾。

本文通過對MongoDB已知安全隱患進(jìn)行分析,盡可能指出如何防控這些安全隱患,以期對MongoDB產(chǎn)品研發(fā)和應(yīng)用提供一些安全應(yīng)對思路。


?
国产成人高清精品亚洲一区| 欧美日韩在线视频一区| 操逼大黄片视频| 欧美一级特黄特色大片免| 国产美女被遭强高潮视频| 中文字幕 日韩一区二区| 草莓视频在线观看| 操到一半穿上黑丝继续操| 日本熟妇乱子伦在线观看| 强奸女人全高潮视频网址| 国产乱人伦一区二区三区| 久久久91乱码精品桃hd| 久久久人妻精品一二三区| 国产一区二久久中文字幕| 国产日黄色网站| 亚洲一级av无码毛片新| 福利国产成人精品www| 黄片一级黄片儿一级黄片| 肉棒插骚逼视频| 大屁股肥熟女流白浆呻吟| 国产av精品久久久人人| 我和岳m大人愉情| 啊啊用力插视频在线观看| 大鸡巴操黑丝女| 欧美一区二区三区狠狠色| 欧美成人精品一区二区免费| 无码无需播放器av网站| 国产在成人线拍揄自揄拍| 世界上最骚的逼免费播放| 国模私拍| 成人精品国产ww机网站| 美女美女被帅哥操到喷水| av免费观看| 欧美videos 高清| 亚洲av午夜精品一区二区| 丰满熟妇人妻中文字幕| 欧美人人操人人| 欧美日本道免费二区三区| 五十风韵犹存的熟妇旗袍| 国产嫩操播放器| 欧美亚洲综合图片第一页|