MongoDB被攻擊 開啟Mongo許可權

2021-10-05 16:40:27 字數 1988 閱讀 7103

就在剛剛。。。?

開啟我的**的時候,發現對資料庫的請求都失敗了;我的天都報500了,又是什麼bug?

排查到資料庫的時候,開啟robo 3t,發現資料庫沒有了,驚呆?!!!

很明顯被刪掉了;

(納悶?,別人怎麼知道我密碼,怎麼刪掉的?)在網上查了之後,知道是因為資料庫沒有新增許可權

自己試一試:(居然真的直接登上來了)

既然直接就可以登入,那就給資料庫新增許可權了;

先將之前的資料庫的備份通過mongorestore恢復一下;

再次檢視dbs的時候,我笑了?,在我恢復之際,對方給我新建了乙個db

勒索我。。。

建立使用者:

role可以選擇以下:built-in roles(內建角色):

1. 資料庫使用者角色:read、readwrite;

2. 資料庫管理角色:dbadmin、dbowner、useradmin;

3. 集群管理角色:clusteradmin、clustermanager、clustermonitor、hostmanager;

4. 備份恢復角色:backup、restore;

5. 所有資料庫角色:readanydatabase、readwriteanydatabase、useradminanydatabase、dbadminanydatabase

6. 超級使用者角色:root  

// 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbowner 、useradmin、useradminanydatabase)

7. 內部角色:__system

具體角色的功能: 

read:允許使用者讀取指定資料庫

readwrite:允許使用者讀寫指定資料庫

dbadmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile

useradmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和管理使用者

clusteradmin:只在admin資料庫中可用,賦予使用者所有分片和複製集相關函式的管理許可權。

readanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權

readwriteanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權

useradminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的useradmin許可權

dbadminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbadmin許可權。

root:只在admin資料庫中可用。超級賬號,超級許可權

進入/etc/mongod.conf,修改mongod的配置,開啟許可權驗證

...

security:

authorization: enabled

...

重啟mongod

systemctl start mongod

輸入命令mongo,任何命令都無法成功

切換到對應的資料庫下,輸入使用者的使用者名稱和密碼,驗證許可權

到這裡都ok啦?

大批MongoDB因配置漏洞被攻擊,資料被刪

大批mongodb因配置漏洞被攻擊,資料被刪,無需身份驗證的開放式 mongodb 資料庫例項正在遭受多個黑客組織的攻擊,被攻破的資料庫內容會被加密,受害者必須支付贖金才能找回自己的資料。攻擊者利用配置存在疏漏的開源 mongodb 資料庫展開了一系列勒索行為。此番針對 mongodb 的勒索行為最...

mongodb開啟審計 MongoDB身份驗證

本次我們從以下幾方面了解mongodb身份驗證。身份驗證是驗證客戶端身份的過程。當訪問控制 即授權 開啟的時候,mongodb要求所有客戶端進行身份認證,以確定他們的訪問許可權。儘管身份認證 authentication 和授權 authorization 緊密相連,但是身份認證和授權是不同的。身份...

攜程被攻擊

微博 范曉東 2015年05月29日07 49分享 摘要 攜程保證,資料和資料庫並未受到此次事件的影響,使用者訂單資料也完整無損。對於為何12小時後才恢復正常,攜程解釋稱 類似攜程這樣的大型 承載著繁多業務,其後台是乙個由soa 面向服務 架構組成的龐大伺服器集群,看似簡單的乙個頁面背後由上千個應用...