偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

太快太不安全:為Mongo Express Web管理界面保駕護航

譯文
數(shù)據(jù)庫 其他數(shù)據(jù)庫
Mongo Express是一種基于Web的輕量級管理界面,用于交互式管理MongoDB數(shù)據(jù)庫。它使用Node.js、Express和Bootstrap軟件包編寫而成。本文介紹在無需身份驗證的情況下部署Mongo Express管理面板以及防止泄露的各種措施。

【51CTO.com快譯】Mongo Express是一種基于Web的輕量級管理界面,用于交互式管理MongoDB數(shù)據(jù)庫。它使用Node.js、Express和Bootstrap軟件包編寫而成。本文介紹在無需身份驗證的情況下部署Mongo Express管理面板以及防止泄露的各種措施。

驗證方案

Mongo Express隨帶config-default.js文件。它主要支持基本的驗證,這包含用戶名和密碼組合的base64編碼有效載荷。這意味著,如果配置了基本驗證,每次請求訪問不同的Mongo Express Web組件時就會傳輸HTTP請求報頭Authorization:Basic 。圖1顯示了用于提供基本驗證登錄信息的變量。

圖1. Mongo Express Web管理控制臺驗證變量

除了上面討論的Web面板驗證方案外,Mongo Express軟件包還支持通過環(huán)境變量傳遞數(shù)據(jù)庫驗證登錄信息。如果使用虛擬機或容器來部署主機,通過環(huán)境變量傳遞登錄信息可能導致信息在多個位置泄漏。圖2顯示了用于傳遞值的環(huán)境變量的類型。

圖2. 用于Mongo數(shù)據(jù)庫連接的環(huán)境變量

用于提供驗證的Mongo Express環(huán)境變量如圖3所示:

圖3. 用于Mongo Express驗證的Docker環(huán)境變量

總體而言,基本驗證用于保護Mongo Express Web管理面板,而環(huán)境變量用于存儲用來配置與主要的MongoDB數(shù)據(jù)庫之間的后端連接的登錄信息。

Mongo Express:HTTP請求/響應

在默認狀態(tài)下,Mongo Express傳輸HTTP請求和響應報頭,如代碼片段1所示。創(chuàng)建了mongo-express cookie參數(shù),用于存儲與會話有關的信息。

代碼片段1. Mongo Express Web服務器的HTTP請求/響應

set-cookie:mongo-express簽名可用于鑒別部署在互聯(lián)網(wǎng)上的Mongo Express的特征。

實證分析

成千上萬的Mongo Express Web管理面板暴露在互聯(lián)網(wǎng)上,無需驗證即可訪問它們。這意味著任何遠程用戶都可以訪問這些界面、執(zhí)行命令或檢索敏感信息。

在這里,可以看到可用于無需驗證,就可以掃描在互聯(lián)網(wǎng)上運行的Mongo Express實例的HTTP資源路徑:

直接的Web鏈接:

  • [IP:port]/db/config/
  • [IP:port]/db/config/system.sessions
  • [IP:port]/db/admin/system.users
  • [IP:port]/db/admin/system.version
  • [IP:port]/db/local/startup_log

JSON轉(zhuǎn)儲(JSON dump)

  • [IP:port]/db/config/
  • [IP:port]/db/config/expArr/system.sessions
  • [IP:port]/db/admin/expArr/system.users
  • [IP:port]/db/admin/expArr/system.version
  • [IP:port]/db/local/expArr/startup_log

代碼片段2只是預測為訪問Mongo Express軟件包使用的資源而發(fā)送的cURL請求的輸出:

代碼片段2. 訪問系統(tǒng)的JSON轉(zhuǎn)儲,用戶無需遠程服務器的驗證

以下是我們進行的未驗證的Mongo Express Web管理實例的實時評估的幾個例子。

訪問管理員root:可以訪問和編輯含有登錄詳細信息的文檔,比如salt、storedKey、serverKey及其他值。圖4顯示了同樣的情況。

圖4. 提取Admin.Root的角色和登錄信息

數(shù)據(jù)庫刪除:圖5和圖6顯示可以通過刪除所有關聯(lián)的集合來刪除數(shù)據(jù)庫。這些例子顯示了通過不安全的Mongo Express管理面板刪除startup_log數(shù)據(jù)庫。

圖5. 開始從數(shù)據(jù)庫刪除集合

圖6. 數(shù)據(jù)庫成功刪除

信息泄漏:日志還可以顯示關于構(gòu)建環(huán)境的內(nèi)部信息,如圖7所示。

圖7. 關于構(gòu)建環(huán)境的信息泄漏

若干建議

上面介紹的例子強調(diào)了為什么保護部署在互聯(lián)網(wǎng)上的Mongo Express實例很重要。以下是防止泄露的幾個提示:

1. 使用強登錄信息限制訪問,并部署邊界訪問控制機制。

2. 對網(wǎng)絡邊界上公開的服務執(zhí)行定期漏洞評估和滲透測試,確保關鍵服務受到限制,并未運行不安全的軟件版本。

3. 制定強有力的風險評估計劃,確保預先了解風險并相應地進行補救。

4. 定期執(zhí)行配置審查,并制定安全影響分析(SIA)計劃,將這種做法落實到位。

原文標題:Too fast, too insecure: Securing Mongo Express web administrative interfaces,作者:Aditya K Sood

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2015-08-19 10:06:21

2011-03-09 23:01:50

2014-07-01 10:07:56

2012-06-25 16:57:07

2013-02-01 16:48:16

2015-09-23 10:12:58

2012-02-13 10:46:37

TEMTivoliIBM

2016-10-13 13:24:54

2020-04-30 14:03:53

Nutanix

2010-06-03 11:29:26

Windows Ser

2021-03-09 10:41:25

潮數(shù)

2010-01-12 17:21:16

Sophos群柏數(shù)碼

2012-09-12 09:40:36

云服務GIS技術(shù)彈性云計算

2010-01-26 11:29:43

2011-03-03 10:48:03

2018-09-03 11:36:41

小米MIUImiui

2018-09-28 15:37:49

2011-11-29 14:13:22

StrixMesh
點贊
收藏

51CTO技術(shù)棧公眾號