服務(wù)公告
關(guān)于MongoDB數(shù)據(jù)庫(kù)權(quán)限提升漏洞的安全預(yù)警
2019-02-19
一、概要
近日,業(yè)界報(bào)告了若干利用MongoDB權(quán)限提升漏洞(編號(hào)SSV-88997、SSV-60914)導(dǎo)致信息泄露的安全事件。SSV-88997漏洞使得攻擊者無(wú)需進(jìn)行賬號(hào)認(rèn)證即可登錄MongoDB數(shù)據(jù)庫(kù)服務(wù)器,SSV-60914漏洞允許經(jīng)過(guò)授權(quán)的遠(yuǎn)程攻擊者可通過(guò)任意數(shù)據(jù)庫(kù)中的‘__system’用戶名獲得內(nèi)部系統(tǒng)權(quán)限。通過(guò)這兩個(gè)漏洞的配合,攻擊者可直接登錄數(shù)據(jù)庫(kù)服務(wù)器,竊取數(shù)據(jù)庫(kù)中的任何信息。
華為云提醒各位租戶,請(qǐng)您加強(qiáng)對(duì)MongoDB等數(shù)據(jù)庫(kù)的安全加固,保障數(shù)據(jù)安全。
二、威脅級(jí)別
威脅級(jí)別:【嚴(yán)重】
(說(shuō)明:威脅級(jí)別共四級(jí):一般、重要、嚴(yán)重、緊急。)
三、排查和處置方法
排查方法:
1. 檢查數(shù)據(jù)庫(kù)是否部署在互聯(lián)網(wǎng)邊界;
2. 檢查數(shù)據(jù)庫(kù)實(shí)例是否由root賬戶啟動(dòng);
3. 庫(kù)實(shí)例是否具有訪問(wèn)控制;
4. 檢查數(shù)據(jù)庫(kù)是否修改了默認(rèn)端口;
5. 檢查數(shù)據(jù)庫(kù)是否限制了終端訪問(wèn)地址;
6. 檢查數(shù)據(jù)庫(kù)是否禁用HTTP接口;
7. 檢查數(shù)據(jù)庫(kù)是否禁用REST接口;
8. 檢查數(shù)據(jù)庫(kù)管理時(shí)是否啟用SSL協(xié)議;
9. 檢查數(shù)據(jù)庫(kù)用戶權(quán)限是否為最小授權(quán);
10. 檢查數(shù)據(jù)庫(kù)是否啟用審計(jì)功能;
11. 集群復(fù)制時(shí)是否采用Keyfile訪問(wèn)控制部署新副本集;
12. 檢查數(shù)據(jù)庫(kù)是否安裝了最新系統(tǒng)漏洞補(bǔ)丁包。
處置方案:
1. 數(shù)據(jù)庫(kù)與應(yīng)用平臺(tái)分開(kāi)部署,不能部署在同一臺(tái)服務(wù)器上,且不能部署在互聯(lián)網(wǎng)邊界及DMZ區(qū),數(shù)據(jù)庫(kù)應(yīng)部署在核心網(wǎng)段中,并在網(wǎng)絡(luò)層做好相應(yīng)的訪問(wèn)控制策略;
2. 不要對(duì)MongoDB設(shè)置過(guò)多角色,普通用戶權(quán)限已經(jīng)滿足日常維護(hù)需求。另外,對(duì)以下文件要配置適應(yīng)的文件權(quán)限,如,只允許mongodb用戶自己進(jìn)行讀寫(1、數(shù)據(jù)文件;2、秘鑰、證書文件(只讀)、日志文件);
3. 數(shù)據(jù)庫(kù)應(yīng)帶-auth參數(shù)啟動(dòng);
4. 數(shù)據(jù)庫(kù)應(yīng)修改27017默認(rèn)端口;
5. 數(shù)據(jù)庫(kù)應(yīng)通過(guò)bind_ip來(lái)進(jìn)一步限制MongoDB會(huì)在哪一個(gè)網(wǎng)絡(luò)接口上監(jiān)聽(tīng);
6. 在業(yè)務(wù)不需要的情況下關(guān)閉HTTP接口;
7. 在業(yè)務(wù)不需要的情況下關(guān)閉REST接口;
8. MongoDB集群之間,以及從客戶端連接到MongoDB實(shí)例的連接應(yīng)該使用SSL,使用SSL對(duì)性能沒(méi)有影響,并且可以防范類似于man-in-the-middle的攻擊;
9. 為數(shù)據(jù)庫(kù)用戶分配合理的角色和權(quán)限,不建議(1、僅僅使用一個(gè)高權(quán)限用戶(如root)來(lái)執(zhí)行所有操作;2、給用戶分配不需要的權(quán)限;3、使用簡(jiǎn)單密碼或者多個(gè)賬號(hào)同用一個(gè)密碼;4、刪除數(shù)據(jù)庫(kù)后沒(méi)有刪除相應(yīng)的用戶);
10. 啟用數(shù)據(jù)庫(kù)審計(jì)功能或采用第三方數(shù)據(jù)庫(kù)審計(jì)產(chǎn)品對(duì)數(shù)據(jù)庫(kù)的操作進(jìn)行審計(jì);
11. 使用KeyFile認(rèn)證,副本集中的每個(gè)MongoDB實(shí)例使用KeyFile內(nèi)容作為認(rèn)證其他成員的共享密碼,只有有正確的KeyFile的MongoDB實(shí)例可以加入副本集;
12. 關(guān)注數(shù)據(jù)庫(kù)漏洞情況,發(fā)現(xiàn)重大安全漏洞時(shí)及時(shí)更新補(bǔ)丁。
注意:修復(fù)漏洞前請(qǐng)將資料備份,并進(jìn)行充分測(cè)試。