久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

解決mongoDB各種安全隱患問題

 集微筆記 2014-07-03

投稿者:admin 發(fā)表于:2014-07-02   點(diǎn)擊:1

Mongo的默認(rèn)安裝經(jīng)常會導(dǎo)致各種安全問題,,例如鳳凰網(wǎng)某系統(tǒng)和mongodb未授權(quán)訪問,。

解決mongodb各種安全隱患問題

今天我們來聊聊MongoDB的安全配置。

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

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

3.MongoDB的訪問分為連接和權(quán)限驗證,即使以–auth參數(shù)啟動還是可以不使用用戶名連接數(shù)據(jù)庫,,但是不會有任何的權(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)限,,建議由超級用戶在admin數(shù)據(jù)庫中管理這些用戶,。不過依然兼容2.4版本之前的用戶管理方法。

0×01 MongoDB中用戶的角色說明

1. read角色

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

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)限

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)限,,包括:

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)管理),包括:

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相似)

0×02 MongoDB安裝注意事項

1. 安裝的時候需要加–auth

加了–auth之后MongoDB才需要驗證

2. 需要加–nohttpinterface

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

3. 可以加–bind_ip

加之后可以限制訪問的ip

4. 可以加–port

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

5. 安裝完之后需立即在admin數(shù)據(jù)庫中添加一個用戶

只有在admin數(shù)據(jù)庫中添加一個用戶后才能使認(rèn)證生效

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

0×03 用戶授權(quán)

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

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

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

1.2,、進(jìn)入需要使用的數(shù)據(jù)庫中創(chuàng)建一個程序使用用戶

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)建一個管理賬號

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

2.2,、進(jìn)入admin給使用的數(shù)據(jù)庫test創(chuàng)建一個對數(shù)據(jù)庫及日志擁有讀寫權(quán)限的賬戶

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

0×04 安全配置方案

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

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

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

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

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

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

4. 管理用戶處理

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

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

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

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

6. 控制好網(wǎng)站或者其他程序使用的連接用戶權(quán)限

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

0×05 常用命令

1. 安裝

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

2. 添加用戶

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

3. 顯示所有數(shù)據(jù)庫

show dbs

4. 使用某個數(shù)據(jù)庫

use test

5. 連接數(shù)據(jù)庫

mongo test -uroot -p123456

6. 添加用戶認(rèn)證

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

7. 查看用戶

db.system.users.find()

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

0×06 管理工具

1. MongoVUE

客戶端形式的管理工具

2. rockmongo

基于php的web管理

不足之處求大牛指正!


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多