[MongoDB 몽고디비] MongoDB Auth 설정 , 설치하고 아이디 비밀번호로 계정 인증 설정하기

728x90

 

MongoDB를 기본 설치하면 보안 관련 설정이 없어서 외부에 만약에 아이피를 열어두면 누구나 인증없이 DB에 접속 가능한 상태로 존재하게 된다.

DB에 접속하기 위해서는 아이디 비밀번호를 입력하게 만드는 기능을 추가하려고 한다.

이거 해두고 안해두고 큰 차이가 있으니 그냥 필수 보안이라고 생각하고 적용하자

개발한다고 ssh 다 열어두고 그러다보니 mongodb 해킹사례가 안그래도 많다...

 

1. MongoDB 사용자 생성

먼저, MongoDB에 접속할 수 있는 사용자를 생성하자. 아래 명령어는 accountUser라는 사용자를 생성하고 root 권한을 부여하는 명령어어다.

db.createUser({ user: "accountUser", pwd: "password", roles: [{ role: "root", db: "admin" }] })

여기서 권한(roles)은 root로 설정되어 있어 루트 어드민 권한을 얻는다.

 

2. 생성한 사용자로 접속

터미널에서 아래 명령어를 사용하여 MongoDB에 생성한 사용자로 접속을 시도해보자.

mongo -u accountUser -p
 

3. DB 설정 파일 수정

MongoDB 환경 변수 파일인 /etc/mongod.conf를 열어서 bindIp 부분을 0.0.0.0으로 변경하면 외부에서의 접근이 가능해진다.

특정 IP에서만 접근 가능하게 하려면 bindIp를 127.0.0.1, 특정IP와 같이 설정하면 되는데 아무거나 다 열어두지 말고 개발 PC에서만 열어두자.

 

4. MongoDB 재시작

모든 설정을 마치고 나면 MongoDB를 재시작하여 변경 사항을 적용하면 된다.

sudo service mongod restart
 

외부 또는 내가 허용한 특정 IP 에서 아이디와 패스워드를 사용하여 MongoDB에 접근할 수 있다.

'개발 > DB' 카테고리의 다른 글

MariaDB RDBMS 공식 가이드 doc  (0) 2023.03.06
[MongoDB 몽고디비] 존재하는 키 값 지우기 $unset  (1) 2023.03.06