Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule 4 Runtime は、Federal Information Processing Standard (FIPS) 140-2 認証済み環境で実行するように設定できます。これには、HTTP Connector などのすべての Runtime Connector を含みます。Mule は、デフォルトでは FIPS セキュリティモードで実行されません。2 つの要件があります。
認証済みの Cryptography Module が Java 環境にインストールされている。
Mule Runtime の設定が FIPS セキュリティモードで実行されるように調整されている。
Government Cloud はデフォルトで FIPS 140-2 向けに設定されています。そのため、Government Cloud を使用している場合は、次の手順を実行する必要はありません。 Runtime Fabric を使用している場合は、これらの手順を実行せずに「Enabling FIPS 140-2 Compliance Mode for Runtime Fabric (Runtime Fabric での FIPS 140-2 コンプライアンスモードの有効化)」を参照してください。 |
このドキュメントは、読者が FIPS 140-2 に精通していることを前提としています。FIPS 140-2 は、米国政府のセキュリティ標準で、準拠者は NIST によって認証された暗号化アルゴリズムおよび手法のみを使用することが求められます。このドキュメントは、読者が 認証済みセキュリティプロバイダー
を選択、取得済みであることも前提としています。
Mule は、FIPS に準拠するセキュリティモジュールの提供を Java ランタイムに依存しています。そのため、最初の要件は、FIPS 140-2 Java 環境が適切にセットアップされていることです。FIPS に準拠するシステムを初めてセットアップしていて、認証済みセキュリティプロバイダーをまだ設定していない場合は、まず 認証済みセキュリティプロバイダーを選択して取得してから、選択したプロバイダーに固有の手順に従って Java 環境をセットアップする必要があります。
このプロセスの詳細は、選択したセキュリティプロバイダーによって異なります。セキュリティプロバイダーのドキュメントを参照して手順を実行してください。
次の手順は、FIPS 140-2 Java 環境をセットアップする方法を示しています。
Java 8 で Bouncy Castle セキュリティプロバイダーをインストールして設定する手順は次のとおりです。
BouncyCastle の Web ページからプロバイダーファイルをダウンロードします。
必要な JAR ファイルを $JAVA_HOME/lib/ext
フォルダーにインストールします。
セキュリティプロバイダーを、$JAVA_HOME/lib/security
フォルダーのセキュリティプロパティファイルに登録します。
java.security
ファイルを開き、プロバイダーのクラス (org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
など) をプロバイダーリストの最初の項目として追加します。
SSL プロバイダーの行を Bouncy Castle プロバイダーを使用するように変更します (security.provider.4=com.sun.net.ssl.internal.ssl.Provider BCFIPS
)。
他のセキュリティプロバイダーの番号を調整して、番号が連続するようにします。
変更を保存します。
Java 11 以降で Bouncy Castle セキュリティプロバイダーをインストールして設定する手順は次のとおりです。
Java 11 以降を使用していて、JAVA_HOME
が設定されていることを確認します。
BouncyCastle の Web ページからプロバイダーファイルをダウンロードします。
Provider:bc-fips-1.0.2.4 TLS: bctls-fips-1.0.17.jar PKIX: bcpkix-fips-1.0.7.jar
ダウンロードした 3 つのファイルを Mule Runtime の /lib/boot
フォルダー (Mule Runtime 用に必要) と /mule-agent-plugin/lib
フォルダー (Mule エージェント用に必要) にコピーします。
amc_setup
を実行し、Mule Runtime を登録します。たとえば、[Add Server (サーバーを追加)] には登録トークン /amc_setup -H d32c4bde-7184-444a-bd87-7a274623e14f---704247 node10 --fips
が表示されます。ここで d32c4bde-7184-444a-bd87-7a274623e14f---704247
は Anypoint Runtime Manager からのキーです。
FIPS を有効にするには、$MULE_HOME/conf/wrapper.conf
を更新します。プロパティ wrapper.java.additional.<n>=-Dmule.security.model=fips140-2
と wrapper.java.additional.<n>=-Dmule.cluster.network.encryption.key={someKey}
を追加します。ここで、someKey
はクラスターからのキーで、クラスター環境を使用する場合には定義する必要があります。
最新の Mule Runtime ディストリビューション 4.5.x
を取得すると、プロバイダー BouncyCastleFipsProvider
と BouncyCastleJsseProvider
が有効になります。次に、アルゴリズムを PKIX に設定します。
Mule Runtime を起動します。
FIPS 140-2 Java 環境のセットアップの手順に従った後に、Mule インスタンスが FIPS 140-2 準拠環境で動作するようにセットアップするために、Mule アプリケーションサーバーを起動するラッパーの設定を更新します。
wrapper.conf
ファイルを開きます ($MULE_HOME/conf
フォルダー内)。
Mule が FIPS セキュリティモードで動作するように設定する行のコメントを解除します (図を参照)。<n>
を wrapper.conf
ファイル内の連続する次の番号に置き換えます。
変更を保存します。
Mule がもう一度起動すると、起動時の表示に FIPS セキュリティモードが有効になっていることが示されます。
FIPS セキュリティモードが有効になると、Mule では自動的にプロトコルネゴシエーションが制限され、承認された暗号化スイートのサブセットのみが使用されます。すべての HTTPS Connector と TLS セキュリティレイヤーを使用するその他のコネクタは、自動的にこの制限の影響を受けます。
クラスター化された環境で Mule Runtime を使用して FIPS モードで実行している場合、クラスターの暗号化キーを定義する必要があります。詳細は、「クラスターリファレンス」を参照してください。
次のリストには、サポートされる FIPS 140-2 準拠の暗号化スイートが記載されています。 オンプレミス Mule インストールで使用される暗号化スイートを設定するには、SSL Connector の微調整を参照してください。
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Mule conf フォルダーには、SSL Connector の設定を微調整するための 2 つのファイルがあります。これらのファイルでは、Mule が使用できる暗号化スイートと許可される SSL プロトコルを手動で設定できます。
tls-default.conf
(Mule が FIPS セキュリティモードで実行するように設定されていない場合に微調整できます)
tls-fips140-2.conf
(Mule が FIPS セキュリティモードで実行されている場合に微調整できます)
該当するファイルを開き、リストの項目をコメントアウトまたはコメント解除して、使用できる暗号化スイートと SSL プロトコルを手動で設定します。これらのファイルを変更しない場合、Mule では、設定されたセキュリティマネージャーが暗号化スイートとプロトコルを選択することが許可されます。
Mule Runtime の配布にバンドルされている Bouncy Castle セキュリティプロバイダーは、FIPS 認証済みではありません。Mule が FIPS セキュリティモードを開始すると、Bouncy Castle プロバイダーは登録されず、使用されません。
『Mule Cryptography Module』 と 『Mule セキュアプロパティ』の設定オプションに含まれる一部の暗号化スキームと署名は FIPS に準拠していません。アプリケーションで FIPS 認証済みでないアルゴリズムを使用している場合は、実行時に次のようなエラーが表示されます。
Could not find encryption algorithm '<algorithm-name>'. (暗号化アルゴリズム「<algorithm-name>」が見つかりません。) You are running in FIPS mode, so please verify that the algorithm is compliant with FIPS. (FIPS モードで実行中です。アルゴリズムが FIPS に準拠していることを確認してください。)
環境によってセキュリティ設定が異なり、暗号化スキームやアルゴリズムの選択も異なる可能性があることに注意してください。そのため、セットアップ方法に応じて、一部の環境でこのエラーが表示され、他の環境では表示されないことがあります。