MongoDB는 데이터 보안을 향상시키기 위해 일련의 구성 요소를 제공합니다. MongoDB에서는 데이터 보안이 가장 중요하므로 이러한 구성 요소를 활용하여 노출을 줄입니다. 개인 또는 클라우드 MongoDB 서버의 보안을 향상하는 데 사용할 수 있는 10가지 팁은 다음과 같습니다.
1. 인증 활성화 - 신뢰할 수 있는 네트워크에 MongoDB 서버를 배포하는 경우에도 인증을 활성화하는 것은 좋은 보안 방법입니다. 네트워크가 공격을 받을 때 "심층 방어"를 제공합니다. auth
1
auth = true
2를 활성화하도록 구성 파일을 편집합니다. 프로덕션 데이터베이스를 인터넷에 노출하지 마십시오. 데이터베이스에 대한 물리적 액세스를 제한하는 것은 매우 중요한 보안 조치입니다. 필요하지 않은 경우 프로덕션 환경 데이터베이스를 인터넷에 노출하지 마십시오. 공격자가 MongoDB 서버에 물리적으로 연결할 수 없다면 데이터는 지금보다 더 안전하지 않을 것입니다. Amazon Web Services(AWS)에 서비스를 배포하는 경우 Virtual Private Cloud(VPC)의 프라이빗 서브넷에 데이터베이스를 배포해야 합니다. 이에 대한 자세한 내용은 블로그 게시물 "프라이빗 클라우드(VPC)에 MongoDB 배포"를 참조하세요.
3. 방화벽 사용 - 방화벽을 사용하면 MongoDB 서버에 연결할 수 있는 엔터티가 제한될 수 있습니다. 가장 좋은 접근 방식은 자신의 애플리케이션 서버만 데이터베이스에 액세스하도록 허용하는 것입니다. Amazon Web Services(AWS)에 배포할 수 없는 경우 "보안 그룹" 기능을 사용하여 액세스를 제한할 수 있습니다. 방화벽 기능을 지원하지 않는 공급자의 호스트에 서비스를 배포하는 경우 "iptables"를 사용하여 서버를 직접 구성하면 됩니다. 현재 직면하고 있는 특정 환경에 맞게 iptables를 구성하려면 mongodb 설명서를 참조하세요.
4. 키 파일을 사용하여 복제 서버 클러스터를 설정합니다. 복제 클러스터의 MongoDB 인스턴스 간 통신을 활성화하려면 공유 키 파일을 지정하세요. 다음과 같이 구성 파일에 keyfile 매개변수를 추가합니다. 이 파일의 내용은 복제 클러스터의 모든 시스템에서 동일해야 합니다.
1
keyFile = /srv/mongodb/keyfile
5. HTTP 상태 인터페이스 비활성화 - 기본적으로 Mongodb는 "기본" 상태 페이지를 제공하기 위해 포트 28017에서 http 인터페이스를 실행합니다. 프로덕션 환경에서는 이 인터페이스를 사용하지 않는 것이 좋습니다. 이 인터페이스를 비활성화하는 것이 가장 좋습니다. 이 http 인터페이스는 "nohttpinterface" 구성 설정을 사용하여 비활성화할 수 있습니다.
1
nohttpinterface = true
6. REST 인터페이스 비활성화 - 프로덕션 환경에서는 MongoDB의 REST 인터페이스를 활성화하지 않는 것이 좋습니다. 이 인터페이스는 인증을 지원하지 않습니다. 이 인터페이스는 기본적으로 닫혀 있습니다. "나머지" 구성 옵션을 사용하여 이 인터페이스를 여는 경우 프로덕션 시스템에서 이를 꺼야 합니다.
1
rest = false
7. bind_ip 구성 - 시스템이 여러 네트워크 인터페이스를 사용하는 경우 "bind_ip" 옵션을 사용하여 mongodb 서버가 이 구성 항목과 연결된 인터페이스만 수신하도록 제한할 수 있습니다. 기본적으로 mongoDB는 모든 인터페이스를 바인딩합니다.
1
bind_ip = 10.10.0.25,10.10.0.26
8 SSL 활성화 - SSL을 사용하지 않는 경우 MongoDB 클라이언트와 MongoDB 서버 간에 전송하는 데이터는 일반 텍스트이므로 도청될 수 있습니다. . 변조 및 "중간자" 공격. 인터넷과 같이 보안되지 않은 네트워크를 통해 MongoDB 서버에 연결하는 경우 SSL을 활성화하는 것이 매우 중요합니다.
9. 역할 기반 인증 - MongoDB는 역할 기반 인증을 지원하므로 각 사용자가 수행할 수 있는 작업을 세밀하게 제어할 수 있습니다. 모든 사용자가 관리자가 되지 않도록 역할 기반 인증을 사용하여 데이터베이스에 대한 액세스를 제한합니다. 자세한 내용은 역할 문서를 참조하세요.
10. 엔터프라이즈급 MongoDB 및 kerberos - 엔터프라이즈급 mongodb는 kerberos 인증을 상속합니다. 이에 대한 자세한 내용은 mongodb 문서를 참조하세요. 사용자 이름/비밀번호 기반 시스템은 본질적으로 안전하지 않으므로 가능하면 Kerberos 기반 인증을 사용하십시오.
위 내용은 MongoDB의 보안을 향상하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!