운영 MongoDB 서버를 안전하게 구성하는 방법

운영 MongoDB 서버를 안전하게 구성하는 방법

2022-06-01 last update

6 minutes reading MongoDB

운영 MongoDB 서버 보안 구성


만약 MongoDB가 당신의 첫 번째 문서 저장소라면, 본고는 생산 환경에 적응하기 위해 모든 내용을 안전하고 정확하게 설정하는 데 도움을 줄 것입니다.
The MongoDB Installation Tutorial 물방울에 MongoDB를 설치하는 방법을 소개했다.
예전과 같이 Security and Authentication의 공식 문서를 읽어 주십시오.

단계


두 가지 다른 추천 경로가 있습니다.우선 SSH 터널을 통해 데이터베이스에 안전하게 연결합니다.또 다른 방법은 인터넷을 통해 데이터베이스에 연결할 수 있도록 하는 것이다.이 두 가지 선택 중 전자를 사용하는 것을 권장합니다.

SSH 터널을 통해 연결


SSH 터널을 통해 Mongo 가상 전용 서버에 연결하면 잠재적인 보안 문제를 피할 수 있습니다.주의해야 할 것은 VPS가 완전히 잠겨 있어야 하고 다른 포트가 적거나 열리지 않아야 한다는 것입니다.권장 SSH는 키 또는 키 + 암호로만 구성됩니다.
SSH 터널을 설정하려면 다음을 확인해야 합니다.
  • SSH를 통해 Mongo Droplet에 연결할 수 있음
  • 당신의 몬고 실례가 localhost에 귀속되었습니다
  • 다음 명령을 실행하여 연결을 초기화합니다.
    # 명령의 행을 늘리고 가독성을 높이기 위해
    ssh\
    - L 4321: 로컬 호스트: 27017\
    - 나~/.ssh/my\u secure\u 키\
    [email protected]_db_droplet_host_or_ip
    한 걸음 한 걸음 다음 단계를 완성합시다.
  • SSH 터널에는 SSH만 필요합니다. 별도의 프로그램/바이너리 파일이 필요하지 않습니다
  • "-L"옵션은 SSH에 터널을 설치하고 현재 컴퓨터의 포트 4321이 SSH를 통해 연결할 Mongo Droplet 상단 포트 27017의 호스트 "localhost"
  • 로 전송된다는 것을 알려줍니다.
  • "-i"옵션은 암호가 아닌 SSH 키를 사용하는 것이 좋습니다.
  • [email protected]_db_droplet_host_or_ip`은(는) SSH 연결을 위한 표준입니다
  • 제2조는 진정한 지도 내용이다.이것은 응용 프로그램이나 서비스가 MongoDB Drops에 연결되는 방법을 결정합니다.

    인터넷을 통한 연결


    SSH 터널을 통해 연결하지 않으면 인터넷을 통해 연결할 수 있습니다.여기에는 고려해야 할 안전 전략이 있다.
    첫 번째는 비표준 포트를 사용하는 것이다.이것은 일종의 혼동 기술처럼 기본 연결 어댑터가 작동할 수 없다는 것을 의미할 뿐이다.
    # MongoDB 구성 파일에서 다음 행을 27017 이외의 내용으로 변경
    포트 = 27017
    그 다음으로 Mongo를 애플리케이션 서버의 IP 주소에 직접 연결해야 합니다.이를 127.0.0.1로 설정하면 Mongo가 로컬 연결만 사용할 수 있습니다.
    # MongoDB 구성 파일에서 다음 행을 응용 프로그램 서버의 IP 주소로 변경
    bind\u ip=127.0.0.1
    마지막으로 MongoDB의 인증 기능을 사용하고 사용자 이름과 비밀번호를 설정하는 것을 고려합니다.설정을 하려면 "mongo"명령을 사용하여 관리자로 MongoDB 셸에 연결하고 사용자를 추가합니다.완료되면 MongoDB 연결 문자열에 새로 추가된 사용자 이름/암호가 추가되었는지 확인합니다.

    결론


    위의 내용을 종점이 아닌 MongoDB 보안의 시작점으로 간주하십시오.여기서 언급하지 않은 관건적인 요소 중 하나는 서버 방화벽 규칙이다.MongoDB에 대한 10gen 방화벽 권장 사항을 확인하려면security documentation을 방문하십시오.

    리소스

  • http://serverfault.com/questions/237762/how-to-make-a-secure-mongodb-server
  • http://security.stackexchange.com/questions/7610/how-to-secure-a-mongodb-instance/7655#7655
  • http://www.mongodb.org/display/DOCS/Home
  • http://www.mongodb.org/display/DOCS/Security+and+Authentication
  • http://hamant.net/2011/05/09/ssh-tricks/
  • 저자: Etel Sverdlov