상세 컨텐츠

본문 제목

[Mongo DB] 보안 관련 ("READ_ME_TO_RECOVER_YOUR_DATA")

Developer

by South Korea life 2021. 1. 7. 23:33

본문

728x90
반응형

기존에 local PC의 SSD에 Mongo DB 데이터베이스를 저장하고 있었다.

local PC에 용량이 점차 쌓여감에 따라, 얼마전 구입한 Synology NAS의 storage를 활용할 생각을 하게되었다.

 

Synology NAS에 Docker를 사용해서 Mongo DB와 Mongo express를 설치하고, 

기존 Node.JS 기반 서버를 해당 데이터베이스로 연결하였다.

 

이때까지만 해도, 데이터베이스를 저장할 용량을 확보한 것으로 인해 많이 기뻤다.

하지만, 그 기쁨도 잠시...

서버를 약 10일간 가동하였을 때... 기존에 저장된 데이터 베이스가 보이지 않았다...

^^;;;;;;;;;;;;

 

약간의 멘붕은 잠시...

Mongo DB를 확인해보니, 새로운 데이터베이스가 하나 눈에 띄었다...

그 데이터베이스는 바로...

"READ_ME_TO_RECOVER_YOUR_DATA"

 

처음에는 뭔가 했다... 

  • NAS의 성능 저하로 인해 생긴 log인가 생각이 들었다...

 

다시 기존 데이터베이스를 어느 정도 복구하고, 하루가 흘렀다...

복구한 데이터베이스가 또 사라졌다.... ^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

그래서, 뭐가 문제인가 싶어서 googling을 해보았다...

몇번의 검색 후... 

"READ_ME_TO_RECOVER_YOUR_DATA"란 데이터베이스는 랜섬웨어 공격을 당한 흔적이라는 것을 알게되었다ㅠㅠㅠ

 

그래서 더 이상의 공격을 막고자 방법을 찾아보았다.

크게 2가지 방법이 있으며, 2가지를 동시 적용하는 것이 Mongo DB 보안에 가장 강할 것으로 보였다.

 

 

  • 방법 1. 기본 접속 port 변경
    • Mongo DB의 기본 접속 port는 27017이다. 이 접속 port를 변경해주는 것만으로도 어느 정도 공격을 예방할 수 있다.
  • 방법 2. 데이터베이스 접속 계정 설정
    • 급하게 Mongo DB를 Node.JS 서버에 연결한다고, 이 부분을 깜빡한 게 화근이였다 ㅠ
    • Mongo DB에 접속 후...
      => admin 데이터베이스 접근
      => ID와 password 설정
mongo 접속

show dbs  # Mongo DB 데이터베이스 확인
use admin    # admin 데이터베이스 접근
db.auth('ID', 'PW')    # ID와 password 설정

 

    • 설정한 ID와 password로 접속
mongo -u ID -p PW -autheticationDatabase 데이터베이스 이름

 

728x90
반응형

관련글 더보기

댓글 영역