Oracle Enterprise Manager FIPS140-2の設定
13cリリース5更新21以降、Oracle Enterprise Managerは、米国連邦情報処理規格140-2 (FIPS 140-2)に準拠して実行できます。次の各項のステップに従って、すべてのEMコンポーネントがFIPSモードで実行されていることを確認します:
前提条件:
前提条件として、最新のOMSパッチがインストールされていることを確認してください。詳細な手順は、MOSドキュメントID 2776765.1を参照してください。
FIPSモードのOracle HTTP Server
-
AES暗号化ウォレットを使用してOMSを保護します
すべてのウォレットは、キー・サイズ2048でAES暗号化する必要があります(orapkiは12.1以降、AESを使用して
ewallet.p12
を暗号化します、MOSドキュメントID 2198551.1)。FIPSモードのWebLogicでは、2048ビット・キーのエージェント証明書のみを生成できます。エージェント証明書は、OMS CA証明書と同じキー・サイズで作成されます。次のステップに従って、2048ビット・キーで新しいOMS CA証明書を作成し、すべてのエージェントを再保護します:
-
OMS CA証明書が2048ビットより長いかどうかを確認します:
<OMS_HOME>/bin/emcli login -username=sysman <OMS_HOME>/bin/emcli sync emcli get_ca_info
出力例:
Info about CA with ID: 1 CA is not configured Signature algorithm : sha512 Key strength : 1024 DN: CN=example.com,C=US,ST=CA,L=EnterpriseManager on example.com,OU=EnterpriseManager on example.com,O=EnterpriseManager on example.com Serial# : -4357905706800919315 Valid From: Tue Apr 14 07:43:33 PDT 2020 Valid Till: Sat Apr 13 07:43:33 PDT 2030 Number of Agents registered with CA ID CA ID 1 is 1
OMS CA証明書のキーが2048ビットより短い場合は、次のステップ4の手順に従って新しいOMS CAを作成します。
-
OMSウォレットを作成します:
OMSがサード・パーティ証明書(2048ビットのキー・サイズ)ですでにセキュアである場合、新しいAESウォレットを同じ秘密キーおよび証明書を使用して変換または作成できます。
- ウォレットをAESに変換するには:
orapki wallet convert -wallet <wallet_path> -compat_v12 -pwd <wallet_password>
証明書キー・サイズが1024の場合、OMSコンソール用に新しいウォレットを作成します:
- OMSコンソールからOMSアップロードに移動し、WebLogicで
-compat_v12
オプションを指定してorapki
ツールを使用します
ノート:
SSL証明書を使用してOMSを構成する方法の詳細は、ドキュメントID 2202569.1を参照してください。 - ウォレットをAESに変換するには:
-
ウォレットが新しく作成された場合は、ルートCA証明書をトラスト・ストアに追加します:
<OMS_HOME>/bin/emctl secure oms -trust_certs_loc $WALLET_BASE/rootCA/cert.pem
SLBが構成されている場合は、かわりに次のコマンドを実行します:
<OMS_HOME>/bin/emctl secure oms -host <SLB hostname> -secure_port <port> -slb_port <port> -slb_console_port <port> -trust_certs_loc $WALLET_BASE/rootCA/cert.pem
ノート:
次のステップを完了するまで、OMSをバウンスしないでください。 -
OMS CA証明書のキーの強度が2048ビット未満(ステップ1)の場合は、新しいCAを作成します:
<OMS_HOME>/bin/emctl secure createca -key_strength 2048
出力例:
Oracle Enterprise Manager 24ai Release 1 Copyright (c) 1996, 2024 Oracle Corporation. All rights reserved. Creating CA... Started. Enter Enterprise Manager Root (SYSMAN) Password : Successfully created CA with ID 2
-
すべてのエージェントを保護します
OMS CAは2048ビット・サイズで再生成されているため、OMSウォレットが新しく作成されているかどうかに関係なく、すべてのエージェントを保護します。
emcliコマンドを使用して、複数のエージェントをまとめて保護することもできます。
<AGENT_HOME>/bin/emctl secure_agents [-agt_names="agt1;agt2;..."] [-agt_names_file="<file>"]
-
AES暗号化を使用してOMSを保護します
<OMS_HOME>/bin/emctl secure oms -wallet $WALLET_BASE/em_cert -trust_certs_loc $WALLET_BASE/rootCA/cert.pem
SLBが構成されている場合は、かわりに次のコマンドを実行します:
<OMS_HOME>/bin/emctl secure oms -host <SLB hostname> -wallet $WALLET_BASE/slb_cert -secure_port <port> -slb_port <port> -slb_console_port <port> -trust_certs_loc $WALLET_BASE/rootCA/cert.pem
-
AES暗号化を使用してOMSコンソールを保護します
<OMS_HOME>/bin/emctl secure console -wallet $WALLET_BASE/em_cert
SLBが構成されている場合は、かわりに次のコマンドを実行します:
<OMS_HOME>/bin/emctl secure console -wallet $WALLET_BASE/slb_cert -host <SLB HostName>
-
AES暗号化ウォレットを使用してWeblogicを保護します
<OMS_HOME>/bin>emctl secure wls -wallet $WALLET_BASE/em_cert
-
すべてのOMSでステップgからhを繰り返します
-
OMSを再起動します
最初にプライマリ、次にセカンダリを一度に1つずつ行います:
emctl stop oms -all
emctl start oms
-
-
FIPSモード・フラグを有効にします
次のファイルの
<IfModule ossl_module>
内にSSLFIPS ON
を追加します:ノート:
<VirtualHost>のファイル内にSSLFIPS ON
を追加しないでくださいプライマリOMS:
$DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/ssl.conf $DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs1/ssl.conf
その他のOMS (ohs2を該当するohsインスタンスに置換):
$DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs2/ssl.conf $DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs2/ssl.conf.emctl_secure (if exists)
例:
次の場所に移動します:
$INSTANCE_HOME/user_projects/domains/GCDomain/config/fmwconfig/components/OHS/ohs1/ssl.conf
ssl.conf
ファイルを次のように更新します:# Some MIME-types for downloading Certificates and CRLs SSLFIPS ON
FIPSモードのEMリポジトリ・データベース
- 透過的データ暗号化(TDE)および
DBMS_CRYPTO
PL/SQLパッケージ・プログラム-
構成します:
透過的データ暗号化およびDBMS_CRYPTO PL/SQLパッケージ・プログラム・ユニットをFIPSモードで実行するよう構成するには、DBFIPS_140初期化パラメータをTRUEに設定します。
sqlplus / as sysdba SQL>SELECT name,value FROM SYS.V$PARAMETER WHERE NAME = 'DBFIPS_140'; DBFIPS_140 FALSE SQL>ALTER SYSTEM SET DBFIPS_140 = TRUE SCOPE=SPFILE ; SQL> shutdown immediate SQL> startup SQL> SELECT name,value FROM SYS.V$PARAMETER WHERE NAME = 'DBFIPS_140'; DBFIPS_140 TRUE SQL> exit
-
テストします
select DBMS_CRYPTO.hash(UTL_RAW.CAST_TO_RAW ('TestString'), 2) from dual; second param is Hash algorithm HASH_MD4 (128 bit hash) 1 HASH_MD5 (128 bit hash) 2 HASH_SH1 (160 bit hash) 3 HASH_SH256 4 HASH_SH384 5 HASH_SH512 6 Above query (MD4, MD5 hash) works in non FIPS mode (DBFIPS_140=FALSE) and fails in FIPS mode (DBFIPS_140=TRUE)
-
-
SSLトランスポートのセキュリティ
-
DBウォレットを作成します
新しいウォレットを作成するには、OMSコンソールからOMSアップロードに移動し、Weblogicで
orapki
ツールを使用します。 -
SSL通信を構成します
次にSSLFIPS_140=TRUE
フラグを追加します$DB_HOME/ldap/admin/fips.ora
SSL通信の構成の詳細は、「Enterprise ManagerリポジトリにTLSv1.2を構成する」を参照してください
-
リスナーを再起動します
$DB_HOME/bin/lsnrctl stop
$DB_HOME/bin/lsnrctl start
-
-
TCPSリスナーを使用するようにEMを構成します
TCPSリスナーを使用するようにEMを構成する方法の詳細は、TLSv1.2対応のEnterprise Managerリポジトリに接続するようにOracle Management Serviceを構成するを参照してください。
Oracle WebLogic Server
-
RSA JSSEおよびRSA JCEプロバイダを追加します
<OMS_HOME>/oracle_common/jdk/jre/lib/security/java.security
ファイルで、RSAプロバイダを一番上に追加し、他の既存のプロバイダを適宜下に移動します:security.provider.1=com.rsa.jsafe.provider.JsafeJCE security.provider.2=com.rsa.jsse.JsseProvider security.provider.3=sun.security.provider.Sun security.provider.4=sun.security.rsa.SunRsaSign security.provider.5=sun.security.ec.SunEC security.provider.6=com.sun.net.ssl.internal.ssl.Provider security.provider.7=com.sun.crypto.provider.SunJCE security.provider.8=sun.security.jgss.SunProvider security.provider.9=com.sun.security.sasl.Provider security.provider.10=org.jcp.xml.dsig.internal.dom.XMLDSigRI security.provider.11=sun.security.smartcardio.SunPCSC
-
クラス・パスにFIPS準拠のトラストストアおよびプロバイダJarを追加します
次のステップに従って、2つの
.jar
ファイルをWebロジックおよびノード・マネージャに$ORACLE_HOME/wlserver/server/lib
から追加します:<OMS_HOME>/wlserver/server/lib/jcmFIPS.jar
<OMS_HOME>/wlserver/server/lib/sslj.jar
-
<EM_INSTANCE_BASE/user_projects/domains/GCDomain/bin/startEMServer.sh
のEXT_POST_CLASSPATH="<omshome>/sysman/jlib/emagentPermissions.jar"
exportEXT_POST_CLASSPATH
行の後にFIPS構成を追加します:JAVA_OPTIONS="-Doracle.net.isFipsMode=true -Dcom.sun.net.ssl.enableECC=false ${JAVA_OPTIONS} " export JAVA_OPTIONS
PRE_CLASSPATH="<OMS_HOME>/wlserver/server/lib/jcmFIPS.jar:<OMS_HOME>/wlserver/server/lib/sslj.jar:${PRE_CLASSPATH}"
ドメイン・ホームの例:
/u01/app/Oracle/gc_inst/user_projects/domains/GCDomain/bin/startEMServer.sh
-
$DOMAIN_HOME/bin/startNodeManager.sh
の# start node manager ...
行の上にFIPS構成を追加します:JAVA_OPTIONS=" -Dcom.sun.net.ssl.enableECC=false ${JAVA_OPTIONS} " PRE_CLASSPATH="<OMS_HOME>/wlserver/server/lib/jcmFIPS.jar:<OMS_HOME>/wlserver/server/lib/sslj.jar"
export JAVA_OPTIONS export PRE_CLASSPATH
-
ノード・マネージャを起動します:
$DOMAIN_HOME/bin/startNodeManager.sh
- opensslを使用して、
aes-256-cbc
などのFIPS準拠のアルゴリズムによるパスワード・ベースの暗号化を使用してトラスト・ストアおよびキーストアを再作成します。 -
<EM_INSTANCE_BASE/em/omrWallets/<trustStore>
および<EM_INSTANCE_BASE/em/omrWallets/<keyStore>
の下のPKCS12ウォレットを、新しく更新されたPKCS12ウォレットのトラストおよびキーで更新します。openssl pkcs12 -in ewallet.p12 -out cert.pem <genrate pem file from already generated wallet under trsuststore and keystore >
openssl pkcs12 -keypbe aes-256-cbc -certpbe aes-256-cbc -export -in <path to .pem file and file name> -out <path to .pfx file and file name>
ドメイン・ホームの例:
/u01/app/Oracle/gc_inst/em/omrWallets
- すべてのコンポーネントをバウンスします:
emctl stop oms -all emctl start oms
-
FIPSモードのOracle EMエージェント
エージェントの通信
この表は、Oracle EMエージェントでサポートされるデフォルトの暗号を示しています。一部の暗号はFIPS準拠ではないため、エージェントのemd.properties
ファイルに暗号を明示的に追加し、エージェントをバウンスしてFIPS準拠にします:
SSLCipherSuites=ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:ECDHE_RSA_WITH_AES_128_GCM_SHA256:AES_128_CCM_8_SHA256:AES_128_CCM_SHA256:AES_128_GCM_SHA256:AES_256_GCM_SHA384:DHE_DSS_WITH_AES_:28_GCM_SHA256:DHE_DSS_WITH_AES_256_GCM_SHA384:DHE_RSA_WITH_AES_128_GCM_SHA256:DHE_RSA_WITH_AES_256_GCM_S:A384:ECDHE_RSA_WITH_AES_256_GCM_SHA384:DH_DSS_WITH_AES_128_GCM_SHA256:DH_DSS_WITH_AES_256_GCM_SHA384:TLS:DH_RSA_WITH_AES_128_GCM_SHA256:DH_RSA_WITH_AES_256_GCM_SHA384:ECDH_ECDSA_WITH_AES_128_GCM_SHA256:ECDH_EC:SA_WITH_AES_256_GCM_SHA384:ECDH_RSA_WITH_AES_128_GCM_SHA256:ECDH_RSA_WITH_AES_256_GCM_SHA384:DHE_DSS_WITH_AES_128_CB:_SHA:DHE_DSS_WITH_AES_128_CBC_SHA256:DHE_DSS_WITH_AES_256_CBC_SHA:DHE_DSS_WITH_AES_256_CBC_SHA256:DHE_:SA_WITH_AES_128_CBC_SHA:DHE_RSA_WITH_AES_128_CBC_SHA256:DHE_RSA_WITH_AES_256_CBC_SHA:DHE_RSA_WITH_AES_256_:BC_SHA256:ECDH_ECDSA_WITH_AES_128_CBC_SHA:ECDH_ECDSA_WITH_AES_128_CBC_SHA256:ECDH_ECDSA_WITH_AES_256_CBC_S:A:ECDH_ECDSA_WITH_AES_256_CBC_SHA384:ECDH_RSA_WITH_AES_128_CBC_SHA:ECDH_RSA_WITH_AES_128_CBC_SHA256:EC:H_RSA_WITH_AES_256_CBC_SHA:ECDH_RSA_WITH_AES_256_CBC_SHA384:ECDHE_ECDSA_WITH_AES_128_CBC_SHA:ECDHE_ECDSA_W:TH_AES_128_CBC_SHA256:ECDHE_ECDSA_WITH_AES_256_CBC_SHA:ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:ECDHE_RSA_WITH_:ES_128_CBC_SHA:ECDHE_RSA_WITH_AES_128_CBC_SHA256:ECDHE_RSA_WITH_AES_256_CBC_SHA:ECDHE_RSA_WITH_AES_256_CBC:SHA384:RSA_WITH_AES_128_CBC_SHA:RSA_WITH_AES_128_CBC_SHA256:RSA_WITH_AES_128_GCM_SHA256:RSA_WITH_AES_2:6_CBC_SHA:RSA_WITH_AES_256_CBC_SHA256:RSA_WITH_AES_256_GCM_SHA384
暗号 | FIPS |
---|---|
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_AES_128_CCM_8_SHA256 | はい |
TLS_AES_128_CCM_SHA256 | はい |
TLS_AES_128_GCM_SHA256 | はい |
TLS_AES_256_GCM_SHA384 | はい |
TLS_CHACHA20_POLY1305_SHA256 | いいえ |
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 | はい |
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 | はい |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | いいえ |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | いいえ |
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 | はい |
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 | はい |
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_DH_DSS_WITH_AES_128_CBC_SHA | いいえ |
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 | いいえ |
TLS_DH_DSS_WITH_AES_256_CBC_SHA | いいえ |
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 | いいえ |
TLS_DH_RSA_WITH_AES_128_CBC_SHA | いいえ |
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 | いいえ |
TLS_DH_RSA_WITH_AES_256_CBC_SHA | いいえ |
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 | いいえ |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA | はい |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | はい |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA | はい |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | はい |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA | はい |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | はい |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA | はい |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 | はい |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA | はい |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 | はい |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA | はい |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 | はい |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA | はい |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 | はい |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA | はい |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 | はい |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | はい |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | はい |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | はい |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 | はい |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | はい |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | はい |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | はい |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | はい |
TLS_RSA_WITH_AES_128_CBC_SHA | はい |
TLS_RSA_WITH_AES_128_CBC_SHA256 | はい |
TLS_RSA_WITH_AES_128_GCM_SHA256 | はい |
TLS_RSA_WITH_AES_256_CBC_SHA | はい |
TLS_RSA_WITH_AES_256_CBC_SHA256 | はい |
TLS_RSA_WITH_AES_256_GCM_SHA384 | はい |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA | いいえ |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA | いいえ |
AgentCryptoの対称キー・アルゴリズムは、AES-128
(FIPS準拠)です
FIPSモードで新しいOMSをさらに追加するステップ
-
プライマリOMSでのみwls証明書に戻します:
emctl secure wls -use_demo_cert
- プライマリOMSをバウンスします
-
新しいマシンにOMSソフトウェアをインストールします
- 「サイレント・モードでの追加のOracle Management Serviceのインストール」で説明されているステップに従います。ソフトウェアのみのインストールとして、プラグインをデプロイし、最初のOMSに適用したパッチをすべて適用します。
-
新しいOMSマシンにウォレットをコピーします
-
RootCAをjavaトラストストアに追加します
export ORACLE_HOME=<OMS_HOME>
keytool -importcert -file <WalletPath ROOTCA>/cert.pem -alias emreprootca -keystore $ORACLE_HOME/oracle_common/jdk/jre/lib/security/cacerts -storepass "changeit"
-
最初のOMSから構成の詳細をエクスポートし、bkaファイルを新しいOMSマシンにコピーします
$<ORACLE_HOME>/bin/emctl exportconfig oms -dir <absolute_path_to_directory>
-
OMSCAコマンドを実行します
$<ORACLE_HOME>/bin/omsca recover -ms -backup_file <absolute_path_to_bka_file> [-AS_HTTPS_PORT <port> -MSPORT <port> -MS_HTTPS_PORT <port> -EM_NODEMGR_PORT <port> -EM_UPLOAD_PORT <port> -EM_UPLOAD_HTTPS_PORT <port> -EM_CONSOLE_PORT <port> -EM_CONSOLE_HTTPS_PORT <port> -config_home <absolute_path_to_instance_dir> -EM_INSTANCE_HOST <second_oms_host_name>] -nostart
このコマンドは、追加の
-nostart
フラグを指定した「サイレント・モードでの追加のOracle Management Serviceのインストール」のステップ8のコマンドと同じです -
新しいOMSで、前述のOracle HTTP Serverセクションの起動以外のすべてのステップを繰り返します。
-
新しいOMSで、前述のOracle Web-Logicサーバーセクションの起動以外のすべてのステップを繰り返します。
-
次のステップを使用して、新しいOMSを起動します:
emctl stop oms -all emctl start oms
-
カスタム証明書を使用するためにプライマリOMSを再保護します