MongoDB 보안 설정 상세 설명
1.MongoDB 를 설치 할 때 인 자 를 추가 하지 않 습 니 다.기본적으로 인증 할 수 있 는 권한 이 없습니다.로그 인 한 사용 자 는 데이터 베 이 스 를 임의로 조작 할 수 있 고 데이터 베 이 스 를 원 격 으로 방문 할 수 있 습 니 다.-auth 매개 변수 로 시작 해 야 합 니 다.
2.설치 가 끝 났 을 때 MongoDB 는 기본적으로 admin 데이터 베 이 스 를 가지 고 있 었 습 니 다.이때 admin 데이터 베 이 스 는 비어 있 고 권한 과 관련 된 정 보 를 기록 하지 않 았 습 니 다.admin.system.users 에 사용자 가 한 명도 없 을 때 mongod 가 시 작 될 때--auth 인 자 를 추가 하 더 라 도 admin 데이터베이스 에 사용 자 를 추가 하지 않 았 다 면 인증 을 하지 않 아 도 모든 작업 을 할 수 있 습 니 다.admin.system.users 에 사용 자 를 추가 할 때 까지.
3.MongoDB 의 접근 은 연결 과 권한 검증 으로 나 뉘 는데--auth 매개 변수 로 시작 하 더 라 도 사용자 이름 으로 데이터 베 이 스 를 연결 하지 않 아 도 되 지만 어떠한 조작 도 할 수 있 는 권한 이 없습니다.
4.admin 데이터베이스 에 있 는 사용자 이름 은 모든 데이터 베 이 스 를 관리 할 수 있 고 다른 데이터베이스 에 있 는 사용 자 는 데이터베이스 만 관리 할 수 있 습 니 다.
5.2.4 이전 버 전에 서 사용자 의 권한 은 읽 기 전용 과 모든 권한 을 가 진 것 으로 나 뉜 다.2.4 버 전의 권한 관 리 는 주로 데이터 뱅 크 의 조작 권한,데이터 뱅 크 사용자 의 관리 권한,클 러 스 터 의 관리 권한 으로 나 뉘 는데 슈퍼 사용자 가 admin 데이터 베이스 에서 이 사용 자 를 관리 하 는 것 을 권장 합 니 다.그러나 2.4 버 전의 사용자 관리 방법 은 여전히 호 환 된다.
0x 01 MongoDB 에서 사용자 의 역할 설명
1.캐릭터 읽 기
데이터베이스 읽 기 전용 권한:
aggregate,checkShardingIndex,cloneCollectionAsCapped,collStats,count,dataSize,dbHash,dbStats,distinct,filemd5,mapReduce (inline output only.),text (beta feature.)geoNear,geoSearch,geoWalk,group
2.readWrite 캐릭터데이터베이스 읽 기와 쓰기 권한:
read 캐릭터 의 모든 권한
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 역할데이터베이스 관리 권한:
clean,collMod,collStats,compact,convertToCappe
create,db.createCollection(),dbStats,drop(),dropIndexes
ensureIndex(),indexStats,profile,reIndex
renameCollection (within a single database.),validate
4.userAdmin 역할데이터베이스 사용자 관리 권한
5.clusterAdmin 역할
클 러 스 터 관리 권한(던 전 집합,필름 분할,주종 등 관련 관리)은 다음 을 포함한다.
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 역할모든 데이터베이스 의 읽 기 전용 권한(read 와 비슷)
7.readWriteAnyDatabase 캐릭터
모든 데이터베이스 의 읽 기와 쓰기 권한(readWrite 와 비슷 함)
8.userAdminAnyDatabase 캐릭터
모든 데이터베이스 사용자 의 관리 권한(userAdmin 과 유사)
9.dbAdminAnyDatabase 캐릭터
모든 데이터베이스 관리 권한(dbAdmin 유사)
0x 02 MongoDB 설치 주의사항
1.설치 할 때 추가--auth
추가--auth 이후 MongoDB 는 검증 이 필요 합 니 다.
2.추가--nohttpinterface 필요
28017 포트 감청 이 추가 되 지 않 습 니 다.웹 페이지 를 통 해 mongodb 를 관리 할 수 있 습 니 다.제거 할 필요 가 없습니다.
3.추가 가능-bidip
추가 후 접근 제한 ip
4.추가 가능-port
추가 후 포트 를 다시 만 들 수 있 습 니 다.기본 값 은 27017 입 니 다.
5.설치 후 즉시 admin 데이터베이스 에 사용 자 를 추가 해 야 합 니 다.
admin 데이터베이스 에 사용 자 를 추가 해 야 인증 이 유효 합 니 다.
주:설치 과정 은 사실 하나의 서 비 스 를 추가 하고 시작 할 때의 인 자 를 지정 하 는 것 입 니 다.
0x 03 사용자 권한 부여
1.2.4 이전 버 전의 사용자 관리 방식
1.1.admin 에 들 어가 관리 계 정 을 만 듭 니 다.
use admin
db.addUser("test","test")
1.2 사용 할 데이터베이스 에 들 어가 서 사용 자 를 위 한 프로그램 을 만 듭 니 다.
use test
db.addUser("test","test")
db.addUser("test","test",True)
2.2.4 버 전의 사용자 관리,이전 버 전의 방식 도 사용 가능2.1 admin 에 들 어가 관리 계 정 을 만 듭 니 다.
use admin
db.addUser("test","test")
2.2 admin 에 들 어가 서 사용 하 는 데이터베이스 test 에 데이터베이스 와 로그 에 읽 기와 쓰기 권한 을 가 진 계 정 을 만 듭 니 다.
use admin
db.addUser({
"user": "test",
"pwd": "test",
"roles": [ ],
"otherDBRoles": {
"test": [
"readWrite"
],
"test_log": [
"readWrite"
]
}
})
0x 04 보안 설정 방안1.설치 할 때 auth 를 추가 하고 admin 데이터베이스 에 사용 자 를 만 듭 니 다.
기본적으로 MongoDB 는 검증 이 필요 없 기 때문에 중요 한 단계 입 니 다.
2.설치 할 때 포트 를 수정 하고 ip 에 접근 하 는 것 을 고려 할 수 있 습 니 다.
구체 적 으로 실제 상황 에 따라 설정 할 수도 있 고 서버 방화벽 에서 직접 할 수도 있다.
3.설치 할 때 기본 웹 관리 방식 을 취소 하 는 것 을 권장 합 니 다.
기본 웹 관 리 는 일반적으로 사용 하지 않 으 며,많은 사람들 이 모 르 므 로 닫 는 것 이 좋 습 니 다.
4.사용자 관리
admin 에 관리 계 정 을 만들어 야 하기 때문에 강 한 암 호 를 설정 하 는 것 이 좋 지만 다른 프로그램 에 사용 하지 않 는 것 이 좋 습 니 다.
5.MongoDB 서비스 운영 계 정
windows 에 서 는 network service 를 사용 하거나 새 사용 자 를 만 들 수 있 습 니 다.기본 USERS 그룹 을 사용 한 다음 데이터베이스 파일 및 로그 저장 디 렉 터 리 에 대한 쓰기 권한 을 추가 하고 cmd 등 프로그램 에 대한 실행 권한 을 취소 하 는 것 을 권장 합 니 다.
Liux 다음 새 계 정 은 프로그램의 실행 권한 과 데이터베이스 파일 및 로그 디 렉 터 리 에 대한 읽 기와 쓰기 권한 을 부여 하고 sh 등 프로그램 에 대한 실행 권한 을 취소 하 는 것 을 권장 합 니 다.
6.사이트 나 다른 프로그램 에서 사용 하 는 연결 사용자 권한 제어
사이트 나 다른 프로그램 에서 사용 하 는 사용 자 는 라 이브 러 리 에 대한 권한 만 부여 하고 admin 데이터베이스 에 있 는 관리 계 정 을 사용 하지 마 십시오.
0x 05 상용 명령
1.설치
mongod --dbpath d:\mongodb\data --logpath d:\mongodb\log\mongodb.log ----nohttpinterface --auth --install
2.사용자 추가
use admin
db.addUser("test","test")
3.모든 데이터베이스 보이 기
show dbs
4.데이터베이스 사용
use test
5.데이터베이스 연결
mongo test -uroot -p123456
6.사용자 인증 추가
db.auth("username","password")
7.사용자 보기
db.system.users.find()
몇 가지 기본 적 인 것 만 쓰 고 다른 인터넷 은 많 거나 도구 로 연결 해서 조작 합 니 다.0x 06 관리 도구
1. MongoVUE
클 라 이언 트 형식의 관리 도구
2. rockmongo
php 기반 웹 관리
부족 한 점 은 큰 소의 지적 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHP.ini 보안 설정 검사 도구 pcc 에 대한 간단 한 설명개술 얼마 전에 작업 중 에 오픈 소스 프로그램 을 만 났 습 니 다.이 프로그램 은 주로 PHP 프로필 에 있 는 설정 항목 에 안전 위험 이 있 는 지 확인 하고 해당 하 는 설정 제안 을 해서 PHP 프로그램 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.