Docs Menu
Docs Home
/ / /
Laravel MongoDB
/ /

TLS 활성화 및 구성

이 페이지의 내용

  • 개요
  • TLS 활성화
  • 인증서 구성
  • 참조 인증서
  • 추가 정보

이 가이드에서는 TLS 프로토콜을 사용하여 MongoDB deployment에 대한 연결을 보호하는 방법을 배울 수 있습니다. TLS를 사용하도록 연결을 구성하려면 TLS 옵션을 활성화하고 선택적으로 애플리케이션의 config/database.php 파일에 유효성 검사를 위한 인증서를 제공합니다.

TLS에 대해 자세히 알아보려면 전송 계층 보안에 대한 Wikipedia 항목을 참조하세요.

애플리케이션의 config/database.php 파일에서 다음 방법 중 하나를 사용하여 MongoDB deployment에 대한 연결에서 TLS를 활성화할 수 있습니다.

  • 연결 문자열에서 tls 옵션을 true(으)로 설정

  • mongodb 연결 항목의 options 속성에서 tls 옵션을 true 로 설정합니다.

다음 Connection StringConnection Options 탭에서 선택하여 해당 코드 샘플을 확인합니다.

'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => 'mongodb://<hostname>:<port>/?tls=true',
'database' => 'myDB',
]
]
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => '<connection string>',
'database' => 'myDB',
'options' => [
'tls' => true,
],
]
]

연결 옵션의 전체 목록을 보려면 연결 옵션을 참조하세요.

참고

연결 문자열이 mongodb+srv 접두사를 포함하여 DNS SRV 레코드를 사용하는 경우 연결에서 기본적으로 TLS가 사용하도록 설정됩니다.

TLS 요청 을 성공적으로 시작하려면 애플리케이션 에서 ID를 증명하는 암호화 인증서를 제시해야 할 수 있습니다. 연결 시 TLS를 활성화 하려면 애플리케이션의 인증서를 PEM 파일로 저장해야 합니다.

중요

프로덕션 용도의 경우 MongoDB deployment에서 동일한 인증 기관에서 생성하고 서명한 유효한 인증서를 사용하는 것이 좋습니다. 테스트를 위해 배포에서 자체 서명된 인증서를 사용할 수 있습니다.

다음 목록에서는 클라이언트 가 TLS 지원 연결을 설정하기 위해 제시할 수 있는 구성 요소에 대해 설명합니다.

TLS 구성 요소
설명
인증 기관(CA)
TLS 연결 시 신뢰할 수 있는 하나 이상의 인증 기관입니다. 이 파일의 경로를 tlsCAFile 옵션에 전달할 수 있습니다.
클라이언트 인증서
서버가 애플리케이션의 ID를 확인하여 암호화된 네트워크 연결을 설정할 수 있도록 하는 디지털 인증서입니다. 이 파일의 경로를 tlsCertificateKeyFile 옵션에 전달할 수 있습니다.
인증서 키
클라이언트 인증서 비공개 키 파일 입니다. 이 키는 인증서 파일 자체에 포함되는 경우가 많습니다. 이 항목을 제공해야 하는 경우 인증서와 키를 하나의 파일 로 연결하여 tlsCertificateKeyFile 옵션에 전달할 수 있어야 합니다.
암호 구문
비공개 클라이언트 키가 암호화된 경우 이를 해독하기 위한 비밀번호입니다. 이 파일의 경로를 tlsCertificateKeyFilePassword 옵션에 전달할 수 있습니다.

필요한 경우 클라이언트가 연결되기 전에 서버가 인증서의 유효성을 검사할 수 있도록 mongodb 연결을 구성할 때 인증서를 참조해야 합니다.

연결 string 대신 연결 구성의 options 속성에서 인증서를 참조하고 다른 TLS 옵션을 설정하는 것이 좋습니다. 이렇게 하면 애플리케이션의 코드 가독성이 향상됩니다.

options 속성에서 다음 옵션을 설정하여 인증서를 참조합니다.

  • tlsCAFile

  • tlsCertificateKeyFile

  • tlsCertificateKeyFilePassword

참고

테스트 목적으로 다음 옵션을 true 으)로 설정하여 유효성 검사를 비활성화할 수 있습니다.

  • tlsAllowInvalidCertificates

  • tlsAllowInvalidHostnames

또는 tlsInsecure 옵션을 true 로 설정하여 앞의 두 옵션을 모두 암시적으로 설정할 수 있습니다.

프로덕션 환경에서 이러한 옵션을 지정하면 애플리케이션이 안전하지 않을 수 있습니다. 자세한 내용은 MongoDB Server 매뉴얼의 연결 옵션 참조를 참조하세요.

다음 예에서는 TLS를 활성화하여 연결을 구성합니다.

'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => '<connection string>',
'database' => 'myDB',
'options' => [
'tls' => true,
'tlsCAFile' => '<path to CA certificate>',
'tlsCertificateKeyFile' => '<path to private client certificate>',
'tlsCertificateKeyFilePassword' => '<path to client key passphrase>',
]
]
]

URI 옵션 설정에 대해 자세히 알아보려면 MongoDBDriverManager::__construct() API 문서.

연결에서 TLS를 활성화하는 방법에 대해 자세히 알아보려면 다음 서버 매뉴얼 문서를 참조하세요.

돌아가기

연결 옵션

다음

데이터베이스 및 컬렉션