欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB安全配置詳解

 更新時(shí)間:2015年05月29日 09:49:12   投稿:junjie  
這篇文章主要介紹了MongoDB安全配置詳解,本文來自國內(nèi)安全廠商烏云平臺(tái),講解的還是比較全面的,需要的朋友可以參考下

0x00 MongoDB權(quán)限介紹

1.MongoDB安裝時(shí)不添加任何參數(shù),默認(rèn)是沒有權(quán)限驗(yàn)證的,登錄的用戶可以對(duì)數(shù)據(jù)庫任意操作而且可以遠(yuǎn)程訪問數(shù)據(jù)庫,需以--auth參數(shù)啟動(dòng)。

2.在剛安裝完畢的時(shí)候MongoDB都默認(rèn)有一個(gè)admin數(shù)據(jù)庫,此時(shí)admin數(shù)據(jù)庫是空的,沒有記錄權(quán)限相關(guān)的信息。當(dāng)admin.system.users一個(gè)用戶都沒有時(shí),即使mongod啟動(dòng)時(shí)添加了--auth參數(shù),如果沒有在admin數(shù)據(jù)庫中添加用戶,此時(shí)不進(jìn)行任何認(rèn)證還是可以做任何操作(不管是否是以--auth 參數(shù)啟動(dòng)),直到在admin.system.users中添加了一個(gè)用戶。

3.MongoDB的訪問分為連接和權(quán)限驗(yàn)證,即使以--auth參數(shù)啟動(dòng)還是可以不使用用戶名連接數(shù)據(jù)庫,但是不會(huì)有任何的權(quán)限進(jìn)行任何操作

4.admin數(shù)據(jù)庫中的用戶名可以管理所有數(shù)據(jù)庫,其他數(shù)據(jù)庫中的用戶只能管理其所在的數(shù)據(jù)庫。

5.在2.4之前版本中,用戶的權(quán)限分為只讀和擁有所有權(quán)限;2.4版本的權(quán)限管理主要分為:數(shù)據(jù)庫的操作權(quán)限、數(shù)據(jù)庫用戶的管理權(quán)限、集群的管理權(quán)限,建議由超級(jí)用戶在admin數(shù)據(jù)庫中管理這些用戶。不過依然兼容2.4版本之前的用戶管理方法。

0x01 MongoDB中用戶的角色說明

1. read角色

數(shù)據(jù)庫的只讀權(quán)限,包括:

復(fù)制代碼 代碼如下:

aggregate,checkShardingIndex,cloneCollectionAsCapped,collStats,count,dataSize,dbHash,dbStats,distinct,filemd5,mapReduce (inline output only.),text (beta feature.)geoNear,geoSearch,geoWalk,group

2. readWrite角色

數(shù)據(jù)庫的讀寫權(quán)限,包括:

read角色的所有權(quán)限

復(fù)制代碼 代碼如下:

cloneCollection (as the target database.),convertToCapped,create (and to create collections implicitly.),renameCollection (within the same database.)findAndModify,mapReduce (output to a collection.)
drop(),dropIndexes,emptycapped,ensureIndex()

3. dbAdmin角色

數(shù)據(jù)庫的管理權(quán)限,包括:

復(fù)制代碼 代碼如下:

clean,collMod,collStats,compact,convertToCappe
create,db.createCollection(),dbStats,drop(),dropIndexes
ensureIndex(),indexStats,profile,reIndex
renameCollection (within a single database.),validate

4. userAdmin角色

數(shù)據(jù)庫的用戶管理權(quán)限

5. clusterAdmin角色

集群管理權(quán)限(副本集、分片、主從等相關(guān)管理),包括:

復(fù)制代碼 代碼如下:

addShard,closeAllDatabases,connPoolStats,connPoolSync,_cpuProfilerStart_cpuProfilerStop,cursorInfo,diagLogging,dropDatabase
shardingState,shutdown,splitChunk,splitVector,split,top,touchresync
serverStatus,setParameter,setShardVersion,shardCollection
replSetMaintenance,replSetReconfig,replSetStepDown,replSetSyncFrom
repairDatabase,replSetFreeze,replSetGetStatus,replSetInitiate
logRotate,moveChunk,movePrimary,netstat,removeShard,unsetSharding
hostInfo,db.currentOp(),db.killOp(),listDatabases,listShardsgetCmdLineOpts,getLog,getParameter,getShardMap,getShardVersion
enableSharding,flushRouterConfig,fsync,db.fsyncUnlock()

6. readAnyDatabase角色

任何數(shù)據(jù)庫的只讀權(quán)限(和read相似)

7. readWriteAnyDatabase角色

任何數(shù)據(jù)庫的讀寫權(quán)限(和readWrite相似)

8. userAdminAnyDatabase角色

任何數(shù)據(jù)庫用戶的管理權(quán)限(和userAdmin相似)

9. dbAdminAnyDatabase角色

任何數(shù)據(jù)庫的管理權(quán)限(dbAdmin相似)

0x02 MongoDB安裝注意事項(xiàng)

1. 安裝的時(shí)候需要加--auth

加了--auth之后MongoDB才需要驗(yàn)證

2. 需要加--nohttpinterface

不加會(huì)有一個(gè)28017的端口監(jiān)聽,可以通過網(wǎng)頁管理mongodb,不需要請(qǐng)去掉

3. 可以加--bind_ip

加之后可以限制訪問的ip

4. 可以加--port

加了之后可以重新制定端口,默認(rèn)為27017

5. 安裝完之后需立即在admin數(shù)據(jù)庫中添加一個(gè)用戶
只有在admin數(shù)據(jù)庫中添加一個(gè)用戶后才能使認(rèn)證生效

注:安裝的過程其實(shí)就是添加1個(gè)服務(wù),指定啟動(dòng)時(shí)候的參數(shù)。

0x03 用戶授權(quán)

1. 2.4之前版本的用戶管理方式

1.1、進(jìn)入admin創(chuàng)建一個(gè)管理賬號(hào)

復(fù)制代碼 代碼如下:

use admin
db.addUser("test","test")

1.2、進(jìn)入需要使用的數(shù)據(jù)庫中創(chuàng)建一個(gè)程序使用用戶
復(fù)制代碼 代碼如下:

use test
db.addUser("test","test")默認(rèn)擁有讀寫權(quán)限
db.addUser("test","test",True)擁有讀取權(quán)限

2. 2.4版本的用戶管理,也可使用之前版本的方式
2.1、進(jìn)入admin創(chuàng)建一個(gè)管理賬號(hào)
復(fù)制代碼 代碼如下:

use admin
db.addUser("test","test")

2.2、進(jìn)入admin給使用的數(shù)據(jù)庫test創(chuàng)建一個(gè)對(duì)數(shù)據(jù)庫及日志擁有讀寫權(quán)限的賬戶
復(fù)制代碼 代碼如下:

use admin
db.addUser({
    "user": "test",
    "pwd": "test",
    "roles": [ ],
    "otherDBRoles": {
        "test": [
            "readWrite"
        ],
        "test_log": [
            "readWrite"
        ]
    }
})

0x04 安全配置方案

1. 安裝的時(shí)候加--auth,并立即在admin數(shù)據(jù)庫創(chuàng)建一個(gè)用戶

默認(rèn)情況下MongoDB是無需驗(yàn)證的,所以這是至關(guān)重要的一步

2. 可以考慮安裝的時(shí)候修改端口和指定訪問ip

具體根據(jù)實(shí)際情況來設(shè)定,也可以直接在服務(wù)器防火墻上做

3. 安裝的時(shí)候建議加上--nohttpinterface取消默認(rèn)的一個(gè)網(wǎng)頁管理方式

默認(rèn)的web管理一般不會(huì)用,且很多人不知道,最好關(guān)閉

4. 管理用戶處理

因需要在admin中建立一個(gè)管理賬戶用于管理,最好是設(shè)置強(qiáng)密碼,但是不要給其他程序使用

5. MongoDB服務(wù)運(yùn)行賬戶

windows下可以使用network service 或者新建一個(gè)用戶,使用默認(rèn)的USERS組,然后添加給予數(shù)據(jù)庫文件及日志存儲(chǔ)目錄的寫權(quán)限,并建議取消對(duì)cmd等程序的執(zhí)行權(quán)限。

linux下新建一個(gè)賬戶,給予程序的執(zhí)行權(quán)限和數(shù)據(jù)庫文件及日志目錄的讀寫權(quán)限,并建議取消對(duì)sh等程序的執(zhí)行權(quán)限。

6. 控制好網(wǎng)站或者其他程序使用的連接用戶權(quán)限
網(wǎng)站或者其他程序使用的用戶只給予對(duì)應(yīng)庫的權(quán)限,不要使用admin數(shù)據(jù)庫中的管理賬戶。

0x05 常用命令

1. 安裝

復(fù)制代碼 代碼如下:

mongod --dbpath d:\mongodb\data --logpath d:\mongodb\log\mongodb.log ----nohttpinterface --auth --install

2. 添加用戶
復(fù)制代碼 代碼如下:

use admin
db.addUser("test","test")

3. 顯示所有數(shù)據(jù)庫
復(fù)制代碼 代碼如下:

show dbs

4. 使用某個(gè)數(shù)據(jù)庫
復(fù)制代碼 代碼如下:

use test

5. 連接數(shù)據(jù)庫
復(fù)制代碼 代碼如下:

mongo test -uroot -p123456

6. 添加用戶認(rèn)證
復(fù)制代碼 代碼如下:

db.auth("username","password")

7. 查看用戶
復(fù)制代碼 代碼如下:

db.system.users.find()

就寫幾個(gè)基本的,其他的網(wǎng)上很多,或者用工具連上去之后操作。

0x06 管理工具

1. MongoVUE

客戶端形式的管理工具

2. rockmongo

基于php的web管理

不足之處求大牛指正!

相關(guān)文章

  • MongoDB系列教程(一):NoSQL起源

    MongoDB系列教程(一):NoSQL起源

    這篇文章主要介紹了MongoDB系列教程(一):NoSQL起源,本文講解了為什么出現(xiàn)NoSQL、NoSQL歷史、SQL和NoSql的區(qū)別、NoSQL數(shù)據(jù)庫類型等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • MongoDB的分片集群基本配置教程

    MongoDB的分片集群基本配置教程

    MongoDB擁有經(jīng)典的Sharding架構(gòu)能將數(shù)據(jù)分散存儲(chǔ)在數(shù)個(gè)服務(wù)器上以作集群,這里我們就來看一下MongoDB的分片集群基本配置教程:
    2016-07-07
  • Mongodb 利用mongoshell進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)方法

    Mongodb 利用mongoshell進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇Mongodb 利用mongoshell進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Mongodb 啟動(dòng)命令mongod參數(shù)說明(中文翻譯)

    Mongodb 啟動(dòng)命令mongod參數(shù)說明(中文翻譯)

    這篇文章主要介紹了Mongodb 啟動(dòng)命令mongod參數(shù)說明(中文翻譯)的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • MongoDB使用場景總結(jié)

    MongoDB使用場景總結(jié)

    這篇文章介紹了什么場景該用MongoDB,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • MongoDB特點(diǎn)與體系結(jié)構(gòu)等簡介

    MongoDB特點(diǎn)與體系結(jié)構(gòu)等簡介

    今天小編就為大家分享一篇關(guān)于MongoDB特點(diǎn)與體系結(jié)構(gòu)等簡介,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • MongoDB 內(nèi)存管理相關(guān)總結(jié)

    MongoDB 內(nèi)存管理相關(guān)總結(jié)

    這篇文章主要介紹了MongoDB 內(nèi)存管理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB中創(chuàng)建索引需要注意的事項(xiàng)

    MongoDB中創(chuàng)建索引需要注意的事項(xiàng)

    這篇文章主要介紹了MongoDB中創(chuàng)建索引需要注意的事項(xiàng),本文講解了創(chuàng)建索引可能會(huì)引發(fā)的問題并給出解決方法,需要的朋友可以參考下
    2015-03-03
  • MongoDB中游標(biāo)的深入學(xué)習(xí)

    MongoDB中游標(biāo)的深入學(xué)習(xí)

    MongoDB中find()函數(shù)返回一個(gè)游標(biāo),客戶端通過對(duì)游標(biāo)進(jìn)行一些設(shè)置就能對(duì)查詢結(jié)果進(jìn)行有效地控制,如可以限制查詢得到的結(jié)果數(shù)量、跳過部分結(jié)果、或?qū)Y(jié)果集按任意鍵進(jìn)行排序等!這篇文章主要介紹了MongoDB中的游標(biāo),有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • MongoDB安裝到windows服務(wù)的方法及遇到問題的完美解決方案

    MongoDB安裝到windows服務(wù)的方法及遇到問題的完美解決方案

    這篇文章主要介紹了MongoDB安裝到windows服務(wù)的方法及遇到問題的完美解決方案,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11

最新評(píng)論