티스토리 뷰
몽고DB를 설치하면 기본적으로 계정 인증 설정이 되어있지 않아 랜섬웨어 같은 공격에 노출되어 피해를 입을 수 있다.
그래서 포트도 기본 포트에서 새로 변경을 하는 것이 좋고 계정 인증 시스템도 사용하는 것이 좋다.
먼저 mongodb를 설치하고 실행을 한 후 admin 계정을 생성한다.
> mongo // 몽고DB 실행 (포트를 변경한 경우 > mongo -port 20177 이런 식으로 해당 포트로 실행한다.)
// 몽고 DB 실행 후 admin DB 접속
> use admin
// 어드민 계정 생성
> db.createUser( { user: "계정이름",
pwd: "비밀번호",
roles: [ "userAdminAnyDatabase",
"dbAdminAnyDatabase",
"readWriteAnyDatabase"
] } )
두번째로 사용자DB에 사용할 계정을 만든다.
// 사용자 계정 및 권한 설정
> use 유저DB명
> db.createUser({ user: "사용자 계정 이름",
pwd: "비밀번호",
roles: ["dbAdmin", "readWrite"]
})
이런식으로 보안을 위해 사용자 계정을 만들어 사용한다.
만약 관리자나 사용자 계정을 삭제할 경우에는 아래와 같이 삭제 할 수 있다.
> use 삭제할 관리자 및 사용자 DB명
> db.dropUser("삭제할 사용자 계정 이름")
여기까지 했으면 실행한 몽고DB와 접속한 창을 모두 꺼준다.
마지막으로 config 파일에서 auth 설정을 해준 후 몽고DB를 재실행 하면 된다.
# mongodb.conf
# Where to store the data.
dbpath=C:\Users\mongoDB\data
#where to log
logpath=C:\Users\mongoDB\log\mongodb.log
logappend=true
bind_ip = 127.0.0.1
port = 20172
# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true
# Enables periodic logging of CPU utilization and I/O wait
#cpu = true
# Turn on/off security. Off is currently the default
#noauth = true
auth = true
# Verbose logging output.
서버에서 db_url로 접근 할때는 아래와 같이 url로 접속하면 된다.
db_url: 'mongodb://사용자명:비밀번호@서버주소:포트번호/사용자DB이름'
예) db_url: 'mongodb://nickname:pass1234@210.113.26.161:20172/UsrerDB'
'Programming > mongoDB' 카테고리의 다른 글
[mongoDB] 필드 데이터 타입 변경(string -> int) (0) | 2021.05.12 |
---|---|
[mongoDB] 모든 문서에 새필드 추가 하기 (0) | 2020.10.12 |
[mongoDB] 데이터베이스 생성 및 삭제 (0) | 2019.03.19 |
[mongoDB] 몽고DB서버를 외부 서버에서 접속하기 (0) | 2018.01.15 |