FIPS 用の MongoDB の設定
Overview
連邦情報処理標準(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 Enterpriseエディションでのみ利用可能です。 MongoDB Enterpriseをダウンロードしてインストールするには、「 MongoDB MongoDB Enterpriseのインストール 」を参照してください。
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
が変更されていないことが保証されます。libcrypto
をプリリンクしないように Linux プレリンク プロセスを構成するには、次のコマンドを実行します。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. MongoDB インスタンスを FIPS モードで実行します
C. FIPS モードが実行されていることを確認する
サーバーのログファイルで FIPS がアクティブであることを確認します。
FIPS 140-2 mode activated
前提条件
Microsoft は、Windows 10および Windows Server 2016以降の FIPS モードの構成に関する次のリソースを提供しています。
➤Windows FIPS140 -2 検証Windows
FIPS 準拠の操作をサポートするように Windows システムを構成したら、以下の手順に従って、 mongod
またはmongos
インスタンスを FIPS モードで動作するように構成します。
手順
A. TLS/SSL を使用するように MongoDB を構成する
TLS/SSL を使用するように配置構成の詳細については、「 TLS/SSL 用にmongod
とmongos
を構成する 」を参照してください。 証明書が FIPS に準拠していることを確認します。
B. MongoDB インスタンスを FIPS モードで実行します
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. MongoDB インスタンスを FIPS モードで実行します
C. FIPS モードが実行されていることを確認する
サーバーのログファイルで FIPS がアクティブであることを確認します。
FIPS 140-2 mode activated
その他の考慮事項
MongoDB バージョン 4.2 以降では、次のプログラムの--sslFIPSMode
オプションが削除されます。
/mongos
インスタンスが FIPSmongod
モードを使用するように構成されて いる場合、プログラムはmongod
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 モードが有効になります。
Tip
以下も参照してください。
MongoDB ShellOpenSSL1.1 および OpenSSL を含む3 Goディストリビューションをダウンロードするには、MongoDB ダウンロード センター にアクセスし 。