NoSQL薄弱的安全性會(huì)給企業(yè)帶來負(fù)面影響 。Imperva公司創(chuàng)始人兼CTO Amichai Shulman如是說。在新的一年中,無疑會(huì)有更多企業(yè)開始或籌劃部署NoSQL。方案落實(shí)后就會(huì)逐漸發(fā)現(xiàn)種種安全問題,因此早做準(zhǔn)備才是正確的選擇。 作為傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的替代方案,NoSQL在查詢中并不使用SQL語言,而且允許用戶隨時(shí)變更數(shù)據(jù)屬性。此類數(shù)據(jù)庫(kù)以擴(kuò)展性良好著稱,并能夠在需要大量應(yīng)用程序與數(shù)據(jù)庫(kù)本身進(jìn)行實(shí)時(shí)交互的交易處理任務(wù)中發(fā)揮性能優(yōu)勢(shì),Couchbase創(chuàng)始人兼產(chǎn)品部門高級(jí)副總裁James Phillips解釋稱:NoSQL以交易業(yè)務(wù)為核心。它更注重實(shí)時(shí)處理能力并且擅長(zhǎng)直接對(duì)數(shù)據(jù)進(jìn)行操作,大幅度促進(jìn)了交互型軟件系統(tǒng)的發(fā)展。Phillips指出。其中最大的優(yōu)勢(shì)之一是能夠隨時(shí)改變(在屬性方面),由于結(jié)構(gòu)性的弱化,修改過程非常便捷。 NoSQL最大優(yōu)勢(shì)影響其安全性 NoSQL的關(guān)鍵性特色之一是其動(dòng)態(tài)的數(shù)據(jù)模型,Shulman解釋道。我可以在其運(yùn)作過程中加入新的屬性記錄。因此與這種結(jié)構(gòu)相匹配的安全模型必須具備一定的前瞻性規(guī)劃。也就是說,它必須能夠了解數(shù)據(jù)庫(kù)引入的新屬性將引發(fā)哪些改變,以及新加入的屬性擁有哪些權(quán)限。然而這個(gè)層面上的安全概念目前尚不存在,根本沒有這樣的解決方案。 根據(jù)Phillips的說法,某些NoSQL開發(fā)商已經(jīng)開始著手研發(fā)安全機(jī)制,至少在嘗試保護(hù)數(shù)據(jù)的完整性。在關(guān)系型數(shù)據(jù)庫(kù)領(lǐng)域,如果我們的數(shù)據(jù)組成不正確,那么它將無法與結(jié)構(gòu)并行運(yùn)作,換言之?dāng)?shù)據(jù)插入操作整體將宣告失敗。目前各種驗(yàn)證規(guī)則與完整性檢查已經(jīng)比較完善,而事實(shí)證明這些驗(yàn)證機(jī)制都能在NoSQL中發(fā)揮作用。我們與其他人所推出的解決方案類似,都會(huì)在插入一條新記錄或是文檔型規(guī)則時(shí)觸發(fā),并在執(zhí)行過程中確保插入數(shù)據(jù)的正確性。 Shulman預(yù)計(jì)新用戶很快將在配置方面捅出大婁子,這并非因?yàn)镮T工作人員的玩忽職守,實(shí)際上主要原因是NoSQL作為一項(xiàng)新技術(shù)導(dǎo)致大多數(shù)人對(duì)其缺乏足夠的知識(shí)基礎(chǔ)。Application Security研發(fā)部門TeamSHATTER的經(jīng)理Alex Rothacker對(duì)上述觀點(diǎn)表示贊同。他指出,培訓(xùn)的一大問題在于,大多數(shù)NoSQL的從業(yè)者往往屬于新生代IT人士,他們對(duì)于技術(shù)了解較多,但往往缺乏足夠的安全管理經(jīng)驗(yàn)。 如果他們從傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)入手,那么由于強(qiáng)制性安全機(jī)制的完備,他們可以在使用中學(xué)習(xí)。但NoSQL,只有行家才能通過觀察得出正確結(jié)論,并在大量研究工作后找到一套完備的安全解決方案。因此可能有90%的從業(yè)者由于知識(shí)儲(chǔ)備、安全經(jīng)驗(yàn)或是工作時(shí)間的局限而無法做到這一點(diǎn)。 NoSQL需在安全性方面進(jìn)行優(yōu)化 盡管Phillips認(rèn)同新技術(shù)與舊經(jīng)驗(yàn)之間存在差異,但企業(yè)在推廣NoSQL時(shí)加大對(duì)安全性的關(guān)注會(huì)起到很大程度的積極作用。他認(rèn)為此類數(shù)據(jù)存儲(chǔ)機(jī)制與傳統(tǒng)關(guān)系類數(shù)據(jù)庫(kù)相比,其中包含著的敏感類信息更少,而且與企業(yè)網(wǎng)絡(luò)內(nèi)部其它應(yīng)用程序的接觸機(jī)會(huì)也小得多。 他們并不把這項(xiàng)新技術(shù)完全當(dāng)成數(shù)據(jù)庫(kù)使用,正如我們?cè)谑占泶罅縼碜云渌鼞?yīng)用程序的業(yè)務(wù)類數(shù)據(jù)時(shí),往往也會(huì)考慮將其作為企業(yè)數(shù)據(jù)存儲(chǔ)機(jī)制一樣,他補(bǔ)充道。當(dāng)然,如果我打算研發(fā)一套具備某種特定功能的社交網(wǎng)絡(luò)、社交游戲或是某種特殊web應(yīng)用程序,也很可能會(huì)將其部署于防火墻之下。這樣一來它不僅與應(yīng)用程序緊密結(jié)合,也不會(huì)被企業(yè)中的其它部門所觸及。 但Rothacker同時(shí)表示,這種過度依賴周邊安全機(jī)制的數(shù)據(jù)庫(kù)系統(tǒng)也存在著極其危險(xiǎn)的漏洞。一旦系統(tǒng)完全依附于周邊安全模型,那么驗(yàn)證機(jī)制就必須相對(duì)薄弱,而且缺乏多用戶管理及數(shù)據(jù)訪問方面的安全保護(hù)。只要擁有高權(quán)限賬戶,我們幾乎能訪問存儲(chǔ)機(jī)制中的一切數(shù)據(jù)。舉例來說,Brian Sullivan就在去年的黑帽大會(huì)上演示了如何在完全不清楚數(shù)據(jù)具體內(nèi)容的情況下,將其信息羅列出來甚至導(dǎo)出。 而根據(jù)nCircle公司CTO Tim ‘TK’ Keanini的觀點(diǎn),即使是與有限的應(yīng)用程序相關(guān)聯(lián),NoSQL也很有可能被暴露在互聯(lián)網(wǎng)上。在缺少嚴(yán)密網(wǎng)絡(luò)劃分的情況下,它可能成為攻擊者窺探存儲(chǔ)數(shù)據(jù)的薄弱環(huán)節(jié)。因?yàn)镹oSQL在設(shè)計(jì)上主要用于互聯(lián)網(wǎng)規(guī)模的部署,所以它很可能被直接連接到互聯(lián)網(wǎng)中,進(jìn)而面臨大量攻擊行為。 其中發(fā)生機(jī)率最高的攻擊行為就是注入式攻擊,這也是一直以來肆虐于關(guān)系類數(shù)據(jù)庫(kù)領(lǐng)域的頭號(hào)公敵。盡管NoSQL沒有將SQL作為查詢語言,也并不代表它能夠免受注入式攻擊的威脅。雖然不少人宣稱SQL注入在NoSQL這邊不起作用,但其中的原理是完全一致的。攻擊者需要做的只是改變自己注入內(nèi)容的語法形式,Rothacker解釋稱。也就是說雖然SQL注入不會(huì)出現(xiàn),但JavaScript注入或者JSON注入同樣能威脅安全。 此外,攻擊者在籌劃對(duì)這類數(shù)據(jù)庫(kù)展開侵襲時(shí),也很可能進(jìn)一步優(yōu)化自己的工具。不成熟的安全技術(shù)往往帶來這樣的窘境:需要花費(fèi)大量時(shí)間學(xué)習(xí)如何保障其安全,但幾乎每個(gè)IT人士都能迅速掌握攻擊活動(dòng)的組織方法。因此我認(rèn)為攻擊者將會(huì)始終走在安全部署的前面,Shulman說道。遺憾的是搞破壞總比防范工作更容易,而我們已經(jīng)看到不少NoSQL技術(shù)方面的公開漏洞,尤其是目前引起熱議的、以JSON注入為載體的攻擊方式。 NoSQL安全性并非其阻礙 然而,這一切都不應(yīng)該成為企業(yè)使用NoSQL的阻礙,他總結(jié)道。我認(rèn)為歸根結(jié)底,這應(yīng)該算是企業(yè)的一種商業(yè)決策。只要這種選擇能夠帶來吸引力巨大的商業(yè)機(jī)遇,就要承擔(dān)一定風(fēng)險(xiǎn),Shulman解釋道。但應(yīng)該采取一定措施以盡量弱化這種風(fēng)險(xiǎn)。 舉例來說,鑒于數(shù)據(jù)庫(kù)對(duì)外部安全機(jī)制的依賴性,Rothacker建議企業(yè)積極考慮引入加密方案。他警告稱,企業(yè)必須對(duì)與NoSQL相對(duì)接的應(yīng)用程序代碼仔細(xì)檢查。換言之,企業(yè)必須嚴(yán)格挑選負(fù)責(zé)此類項(xiàng)目部署的人選,確保將最好的人才用于這方面事務(wù),Shulman表示。當(dāng)大家以NoSQL為基礎(chǔ)編寫應(yīng)用程序時(shí),必須啟用有經(jīng)驗(yàn)的編程人員,因?yàn)榭蛻舳塑浖堑謸醢踩珕栴}的第一道屏障。切實(shí)為額外緩沖區(qū)的部署留出時(shí)間與預(yù)算,這能夠讓員工有閑暇反思自己的工作內(nèi)容并盡量多顧及安全考量多想一點(diǎn)就是進(jìn)步。綜上所述,這可能與部署傳統(tǒng)的關(guān)系類數(shù)據(jù)庫(kù)也沒什么不同。 具有諷刺意味的是,近年來數(shù)據(jù)庫(kù)應(yīng)用程序在安全性方面的提升基本都跟數(shù)據(jù)庫(kù)本身沒什么關(guān)系,nCircle公司安全研究及開發(fā)部門總監(jiān)Oliver Lavery如是說。
樺南ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
NoSQL(NoSQL
=
Not
Only
SQL
),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無疑是一種全新的思維的注入。
隨著大數(shù)據(jù)的不斷發(fā)展,非關(guān)系型的數(shù)據(jù)庫(kù)現(xiàn)在成了一個(gè)極其熱門的新領(lǐng)域,非關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品的發(fā)展非常迅速?,F(xiàn)今的計(jì)算機(jī)體系結(jié)構(gòu)在數(shù)據(jù)存儲(chǔ)方面要有龐大的水平擴(kuò)展性,而NoSQL也正是致力于改變這一現(xiàn)狀。目前Google的
BigTable和Amazon
的Dynamo使用的就是NoSQL型數(shù)據(jù)庫(kù),本文介紹了10種出色的NoSQL數(shù)據(jù)庫(kù)。
雖然NoSQL流行語火起來才短短一年的時(shí)間,但是不可否認(rèn),現(xiàn)在已經(jīng)開始了第二代運(yùn)動(dòng)。盡管早期的堆棧代碼只能算是一種實(shí)驗(yàn),然而現(xiàn)在的系統(tǒng)已經(jīng)更加的成熟、穩(wěn)定。不過現(xiàn)在也面臨著一個(gè)嚴(yán)酷的事實(shí):技術(shù)越來越成熟——以至于原來很好的NoSQL數(shù)據(jù)存儲(chǔ)不得不進(jìn)行重寫,也有少數(shù)人認(rèn)為這就是所謂的2.0版本。這里列出一些比較知名的NoSQL工具,可以為大數(shù)據(jù)建立快速、可擴(kuò)展的存儲(chǔ)庫(kù)。
給一個(gè)地址吧
MongoDB是一個(gè)面向文檔的數(shù)據(jù)庫(kù),屬于NoSQL數(shù)據(jù)庫(kù),它使用類似JSON的文檔和schemata。
MongoDB的默認(rèn)接口是(CLI)命令行,新用戶很難像專業(yè)人員那樣處理數(shù)據(jù)庫(kù)。因此,有一些MongoDB管理工具來提供GUI界面以提高生產(chǎn)力。就像phpmyadmin為MySQL/MariaDB數(shù)據(jù)庫(kù)提供基于HTTP網(wǎng)絡(luò)的GUI界面一樣。但是,此處包含的所有工具都不是基于HTTP的,只有少數(shù)工具為MongoDB提供Web界面。以下是使用GUI的比較流行的MongoDB管理工具列表:
要從具有圖形用戶界面的MongoDB開始,MongoDB是最好的方法之一。MongoDB Compass Community由MongoDB開發(fā)人員開發(fā),這意味著更高的可靠性和兼容性。它為MongoDB提供GUI mongodb工具,以 探索 數(shù)據(jù)庫(kù)交互;具有完整的CRUD功能并提供可視方式。借助內(nèi)置模式可視化,用戶可以分析文檔并顯示豐富的結(jié)構(gòu)。為了監(jiān)控服務(wù)器的負(fù)載,它提供了數(shù)據(jù)庫(kù)操作的實(shí)時(shí)統(tǒng)計(jì)信息。就像MongoDB一樣,Compass也有兩個(gè)版本,一個(gè)是Enterprise(付費(fèi)),社區(qū)可以免費(fèi)使用。適用于Linux,Mac或Windows。
NoSQLBooster是MongoDB CLI界面中非常流行的GUI工具。它正式名稱為MongoBooster。NoSQLBooster是一個(gè)跨平臺(tái),它帶有一堆mongodb工具來管理數(shù)據(jù)庫(kù)和監(jiān)控服務(wù)器。這個(gè)Mongodb工具包括服務(wù)器監(jiān)控工具,Visual Explain Plan,查詢構(gòu)建器,SQL查詢,ES2017語法支持等等......它有免費(fèi),個(gè)人和商業(yè)版本,當(dāng)然,免費(fèi)版本有一些功能限制。NoSQLBooster也可用于Windows,MacOS和Linux。
ClusterControl是另一個(gè)MongoDB工具,具有管理數(shù)據(jù)庫(kù)基礎(chǔ)結(jié)構(gòu)的GUI。它還有兩個(gè)版本 - 社區(qū)和企業(yè)版。不用說,ClusterControl社區(qū)版可以免費(fèi)使用,而企業(yè)則是付費(fèi)的。它不僅限于MongoDB,還支持MySQL,MySQL復(fù)制,MySQL NDB集群,Galera集群,MariaDB,PostgreSQL,TimescaleDB,Docker和ProxySQL。
ClusterControl為數(shù)據(jù)庫(kù)基礎(chǔ)架構(gòu)提供全自動(dòng)安全性,該基礎(chǔ)架構(gòu)具有單個(gè)圖形用戶界面,可操作和自動(dòng)化MongoDB和MySQL數(shù)據(jù)庫(kù)環(huán)境。它可通過YUM/APT提供回購(gòu),適用于Linux平臺(tái)(RedHat,Centos,Ubuntu或Debian)。
Nosqlclient是一個(gè)免費(fèi)的開源MongoDB管理工具,基于Web的GUI意味著不再需要命令行來管理數(shù)據(jù)庫(kù)。我們可以使用Nosqlclient在MongoDB中插入,刪除或更新數(shù)據(jù),而無需使用查詢。它可作為桌面應(yīng)用程序,Docker和Web應(yīng)用程序使用。Web使用HTTP為MOngoDB提供基于瀏覽器的界面。
Robo 3T由MongoDB客戶端Studio 3T的開發(fā)人員維護(hù)和提供。以前,Robo 3T被稱為Robomongo。它也是適用于Windows,MacOS和Linux的跨平臺(tái)MongoDB GUI管理工具。它具有相同的引擎和環(huán)境,是MongoDB shell(3.2)的一部分。
上面提到的Robomong被3T收購(gòu)并更名為Robot 3T;現(xiàn)在是Studio 3T的一部分。那么,Studio 3T是什么?與其他提到的MongoDB管理GUI工具一樣,Studio 3T也是一個(gè)基于GUI的工具,用于管理數(shù)據(jù)庫(kù),但在付費(fèi)類別中。但是,此工具的30天免費(fèi)試用版允許用戶在投入資金之前使用并了解其功能。與免費(fèi)和開源Robot 3T相比,Studio 3T具有更多功能并提供企業(yè)支持。與Robo 3T相同,它也適用于Windows,Linux(Ubuntu和CentOS)和MacOS。
Mongo Management Studio是一個(gè)用于數(shù)據(jù)庫(kù)管理的免費(fèi)MongoDB GUI工具。它輕巧,界面清晰,易于開發(fā)基于MongoDB的項(xiàng)目。它使用nodeJs,Electron框架,MongoDB和AngularJs開發(fā)。MMS與MongoDB 3.0/3.2/3.4兼容。
與上述所有MongoDB管理工具一樣,用戶可以輕松安裝它,但免費(fèi)版僅適用于Windows;而企業(yè)和個(gè)人則適用于Linux,Windows和MacOS。企業(yè)版(Web服務(wù)器)支持MongoDB Web界面HTTP GUI,這意味著我們可以在主服務(wù)器上安裝,之后可以在本地或遠(yuǎn)程使用瀏覽器的任何系統(tǒng)上訪問。但是,個(gè)人版和免費(fèi)版只能在已安裝它們的本地系統(tǒng)上使用。
它是面向關(guān)系,NoSQL和云平臺(tái)的數(shù)據(jù)庫(kù)開發(fā)人員的通用集成開發(fā)環(huán)境(IDE)。因此,支持各種數(shù)據(jù)庫(kù)來開發(fā),訪問,管理和可視化分析數(shù)據(jù)。
對(duì)于MongoDB,Aqua Data Studio使用具有管理和數(shù)據(jù)庫(kù)查詢功能的圖形用戶界面作為管理工具。Aqua Data studio的Visual界面允許用戶瀏覽和修改數(shù)據(jù)庫(kù)結(jié)構(gòu),包括模式對(duì)象和集合,以及維護(hù)數(shù)據(jù)庫(kù)安全性。
它提供了一個(gè)MongoDB數(shù)據(jù)庫(kù)工具包,包括各種工具,如Visual Analytics,MongoSQL查詢參考,MongoJS查詢分析器,MongoShell MongoShell,F(xiàn)luidShell,查詢和分析工具,網(wǎng)格和數(shù)據(jù)透視圖,表數(shù)據(jù)編輯器,導(dǎo)入和導(dǎo)出工具,實(shí)體關(guān)系建模;Visual Query Builder;比較工具:架構(gòu)比較,文件比較;SQL 歷史 記錄,Open API腳本環(huán)境,集成安全Shell(SSH)和版本控制:Subversion(SVN),Git,CVS,Perforce。
MongoJS查詢分析器Javascript編輯器允許執(zhí)行JavaScript命令并支持自動(dòng)完成和語法突出顯示。結(jié)果可以在樹層次結(jié)構(gòu),網(wǎng)格結(jié)果和文本中看到。
作為付費(fèi)產(chǎn)品,Aqua Data Studio的試用版提供14天,具有所有企業(yè)功能。所以,如果你正在尋找一些付費(fèi)產(chǎn)品,那么你可以在花錢之前免費(fèi)試用它。它適用于Windows,Linux和MacOS。
這聽起來像phpMyAdmin工具。但是,phpMoAdmin也是PHP編寫的但是可用于MongoDB。它基于Vork PHP框架。很輕巧,易于安裝。它只有115KB的moadmin.php文件,用戶可以放在網(wǎng)站的任何地方開始工作。
它是一個(gè)跨平臺(tái)的MongoDB管理工具,在Open Source許可下發(fā)布,使用Electron框架和Angular JS構(gòu)建。可在GitHub上找到。
以上談到了Windows,Linux和MacOS MongoDB管理客戶端,所以那些正在尋找智能手機(jī)和平板電腦的用戶mongoDB管理可以試試Mongolime。它為MongoDB移動(dòng)客戶端提供了輕松連接和訪問MongoDB服務(wù)器的功能。它具有內(nèi)置的SSH隧道,可以通過SSL輕松驗(yàn)證和連接遠(yuǎn)程服務(wù)器。MongoLime是免費(fèi)增值MongoDB客戶端應(yīng)用程序,支持iOS和Android平臺(tái)。
使用Node.js,Express和Bootstrap3編寫的基于Web的MongoDB管理界面。它允許連接多個(gè)數(shù)據(jù)庫(kù);查看/添加/刪除數(shù)據(jù)庫(kù),集合和文檔;預(yù)覽音頻/視頻/圖像資產(chǎn);GridFS支持 - 添加/獲取/刪除難以置信的大文件;在文檔中使用BSON數(shù)據(jù)類型,Mobile / Responsive - Bootstrap以及更多功能。