FIPS를 위한 MongoDB 구성
개요
FIPS(연방 정보 처리 표준)는 데이터를 안전하게 암호화하고 해독하는 소프트웨어 모듈 및 라이브러리를 인증하는 데 사용되는 미국 정부의 컴퓨터 보안 표준입니다. MongoDB를 OpenSSL용 FIPS 140-2 인증 라이브러리와 함께 실행되도록 구성할 수 있습니다. 기본적으로 실행되거나 명령줄에서 필요에 따라 실행되도록 FIPS를 구성합니다.
FIPS 및 TLS/SSL에 대한 자세한 설명은 이 문서의 범위를 벗어납니다. 이 튜토리얼은 FIPS 및 TLS/SSL에 대한 사전 지식이 있다고 가정합니다.
중요
MongoDB 및 FIPS
FIPS는 액세스 제어 시스템이 아닌 암호화 시스템의 속성입니다. 그러나 사용 중인 환경에 FIPS 준수 암호화 및 액세스 제어가 필요한 경우, 액세스 제어 시스템이 FIPS 준수 암호화만 사용하도록 해야 합니다.
MongoDB의 FIPS 지원은 MongoDB가 네트워크 암호화, SCRAM 인증, x.509 인증에 SSL/TLS 라이브러리를 사용하는 방식을 다룹니다. Kerberos 또는 LDAP 인증을 사용하는 경우 이러한 외부 메커니즘이 FIPS를 준수하는지 확인해야 합니다.
참고
MongoDB는 TLS 1.1 이상이 사용 가능한 시스템에서 TLS 1.0 암호화를 지원하지 않습니다.
플랫폼 지원
FIPS 모드 는 MongoDB 엔터프라이즈 에디션에서만 사용할 수 있습니다.MongoDB Enterprise 설치를 참조하여 MongoDB 엔터프라이즈 MongoDB 엔터프라이즈 를다운로드 하고 설치합니다.
FIPS 모드는 다음 플랫폼에서 지원됩니다:
플랫폼 | TLS/SSL 라이브러리 |
---|---|
Linux | OpenSSL |
Windows | 보안 채널(Schannel) |
macOS | 보안 전송 |
FIPS 구성
아래에서 플랫폼에 맞는 탭을 선택합니다:
전제 조건
MongoDB의 FIPS 모드를 지원하려면 Linux 시스템에 FIPS 140-2 모듈로 구성된 OpenSSL 라이브러리가 있어야 합니다.
다음 명령을 실행하여 OpenSSL 소프트웨어에 FIPS 지원이 포함되어 있는지 확인하세요.
openssl version Red Hat Enterprise Linux 6.x(RHEL 6.x) 또는 CentOS 6.x와 같은 파생 버전의 경우, FIPS 모드 를 사용하려면 OpenSSL 툴킷의 버전이
openssl-1.0.1e-16.el6_5
이상이어야 합니다. 이러한 플랫폼에서 OpenSSL 라이브러리를 업그레이드 하려면 다음 명령을 실행 합니다.sudo yum update openssl 일부 Linux 버전은 사전 할당된 주소로 동적 라이브러리를 사전 연결하는 프로세스를 주기적으로 실행합니다. 이 프로세스는 OpenSSL 라이브러리, 특히
libcrypto
을(를) 수정합니다. 이후 OpenSSL FIPS 모드는 시작 시 수행된 서명 확인에 실패하여 컴파일 이후libcrypto
이(가) 수정되지 않았는지 확인합니다.Linux 사전 링크 프로세스가
libcrypto
을(를) 사전 링크하지 않도록 구성하려면 다음 명령을 실행합니다.sudo bash -c "echo '-b /usr/lib64/libcrypto.so.*' >>/etc/prelink.conf.d/openssl-prelink.conf"
FIPS 호환 작업을 지원하도록 Linux 시스템을 구성한 후에는 아래 단계에 따라 mongod
또는 mongos
인스턴스가 FIPS 모드에서 작동하도록 구성합니다.
절차
A. TLS/SSL을 사용하도록 MongoDB 구성
TLS/SSL을 사용하도록 배포서버를 구성하는 방법에 관한 자세한 내용은 TLS/SSL을 위한 mongod
및 mongos
구성에서 확인하세요. 인증서가 FIPS를 준수하는지 확인합니다.
B. FIPS 모드에서 MongoDB 인스턴스 실행
TLS/SSL을 위해 mongod
및 mongos
구성 후 이 단계를 수행합니다.
C. FIPS 모드가 실행 중인지 확인
서버 로그 파일에서 FIPS가 활성화되었다는 메시지를 확인합니다.
FIPS 140-2 mode activated
전제 조건
Microsoft 는 Windows 10 및 Windows Server 2016 이상의 FIPS 모드 구성에 대한 다음 리소스 를 제공합니다.
➤ FIPS 140- 에서2 유효성 검사 Windows
FIPS 호환 작업을 지원 하도록 Windows 시스템을 구성한 후에는 아래 단계에 따라 mongod
또는 mongos
인스턴스 가 FIPS 모드 에서 작동하도록 구성합니다.
절차
A. TLS/SSL을 사용하도록 MongoDB 구성
TLS/SSL을 사용하도록 배포서버를 구성하는 방법에 관한 자세한 내용은 TLS/SSL을 위한 mongod
및 mongos
구성에서 확인하세요. 인증서가 FIPS를 준수하는지 확인합니다.
B. FIPS 모드에서 MongoDB 인스턴스 실행
TLS/SSL을 위해 mongod
및 mongos
구성 후 이 단계를 수행합니다.
C. FIPS 모드가 실행 중인지 확인
서버 로그 파일에서 FIPS가 활성화되었다는 메시지를 확인합니다.
FIPS 140-2 mode activated
전제 조건
지원되는 macOS 버전은 기본값 FIPS를 준수합니다. 컴플라이언스 상태를 확인하려면 사용 중인 macOS 버전에 대한 설명서를 확인하세요. 예를 예시 Apple은 macOS 10.14 에 대해 다음 리소스 를 제공합니다.
호환되는 macOS 버전에서는 아래 단계에 따라 mongod
또는 mongos
인스턴스 가 FIPS 모드 에서 작동하도록 구성합니다.
절차
A. TLS/SSL을 사용하도록 MongoDB 구성
TLS/SSL을 사용하도록 배포서버를 구성하는 방법에 관한 자세한 내용은 TLS/SSL을 위한 mongod
및 mongos
구성에서 확인하세요. 인증서가 FIPS를 준수하는지 확인합니다.
B. FIPS 모드에서 MongoDB 인스턴스 실행
TLS/SSL을 위해 mongod
및 mongos
구성 후 이 단계를 수행합니다.
C. FIPS 모드가 실행 중인지 확인
서버 로그 파일에서 FIPS가 활성화되었다는 메시지를 확인합니다.
FIPS 140-2 mode activated
추가 고려 사항
버전 4.2부터 MongoDB는 다음 프로그램에 대한 --sslFIPSMode
옵션을 제거합니다.
/ mongod
mongos
mongod
인스턴스가 FIPS 모드를 사용하도록 mongos
구성된 경우 프로그램은 / 에 대한 FIPS 호환 연결을 사용합니다.
MD5는 필요하지만 암호화 목적으로는 사용되지 않습니다.
FIPS 모드 를 사용하는 경우 SCRAM-SHA-1 대신 다음을 사용합니다.
Database Tools 및 FIPS 모드
다음 프로그램은 더 이상 --sslFIPSMode
옵션을 지원하지 않습니다.
mongod
, mongos
및 FIPS 모드
FIPS 모드를 사용하도록 mongod
및 mongos
를 구성한 경우, mongod
및 mongos
는 FIPS 호환 연결을 사용합니다.
MongoDB Shell 및 FIPS 모드
기본 mongosh
배포:
MongoDB는 다음을 사용할 수 있는 MongoDB Shell 배포판도 제공합니다.
서버에 설치된 OpenSSL 1.1 및 OpenSSL 3.
--tlsFIPSMode
옵션.mongosh
FIPS 모드를 활성화합니다.