25.0.0.3におけるFIPS 140-3のサポートとlibrary設定の簡素化
25.0.0.3リリースでは、連邦情報処理標準(FIPS)140-3のサポートと、fileとfolderの管理方法を簡素化する新しいlibrary設定オプションが追加されました。このリリースには、監査ログ、AESおよびハッシュ暗号化アルゴリズムの更新も含まれています。
Open Liberty 25.0.0.3では:以下のアップデートが行われました。
25.0.0.3で修正されたバグの一覧をご確認ください。
以前のOpen Liberty GAリリースのブログ投稿もご覧ください。
25.0.0.3を使用してアプリを開発および実行する
Mavenを使用している場合は、pom.xml
ファイルに以下の内容を含めます。
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.11.3</version>
</plugin>
Gradleを使用している場合は、build.gradle
ファイルに以下の内容を含めます。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.3'
}
}
apply plugin: 'liberty'
コンテナ イメージを使用している場合。
FROM icr.io/appcafe/open-liberty
または、ダウンロード・ページをご覧ください。
IntelliJ IDEA、Visual Studio Code、または Eclipse IDE を使用している場合は、オープンソースの Liberty developer tools を活用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。
fileとfolderの管理方法を簡素化する新しいlibrary設定オプション
Libertyでは、アプリケーションから参照するライブラリを設定する library で、file
、folder
、fileset
の各構成要素のリストを使った構成ができます。 file
要素と folder
要素は、設定のターゲットがファイル(JARなど)かフォルダかを事前に知っておく必要があります。 fileset
は、ファイルであるターゲットにマッチし、フォルダは無視します。 Liberty 25.0.0.3リリースでは、path
という新しい library
設定オプションが追加されました。 path
設定は、ファイルまたはフォルダのいずれかをターゲットにできます。 このオプションを使用すると、path
構成はファイルまたはフォルダーのどちらのターゲットも受け入れることができるため、事前にターゲットのタイプを知っておく必要はありません。
例えば、次のような someLib
の構成を考えてみます。
<library id="someLib">
<!-- path to a jar -->
<file name="libs/lib1.jar"/>
<!-- path to a folder -->
<folder dir="libs/lib2folder"/>
</library>
この someLib
の設定は、代わりに両方に path
を使うことができるようになりました。
<library id="someLib">
<!-- path to a jar -->
<path name="libs/lib1.jar"/>
<!-- path to a folder -->
<path name="libs/lib2folder"/>
</library>
LibertyとIBM JDK 8によるFIPS 140-3のサポート
FIPS 140-3はFIPS 140標準の最新バージョンで、暗号モジュールのセキュリティと完全性を保証するための一連のガイドラインを提供しています。
この更新以前は、FIPS 140-2がサポートされていましたが、IBM SDK 8に対するその認定は現在失効しています。新しい FIPS 140-3 サポートは、IBM SDK 8 を使用する Liberty ユーザーに、更新されたより安全な暗号モジュールを提供します。
サポートされているオペレーティング・システムなど、IBM SDK 8 の FIPS 140-3 サポートについては、IBM SDK 8 ドキュメントの FIPS 140-3 を参照してください。FIPS と Open Liberty の詳細については、Run FIPS-compliant applications on Open Liberty を参照してください。
FIPS 140-3の有効化
Liberty で FIPS 140-3 を有効にするには、以下の手順を実行します。IBM SDK for Java 8.0.8.30 以降を使用する必要があります。
-
Liberty サーバーが実行中の場合は、サーバーを停止します。
-
jvm.options
jvm.options ファイルで、次のシステム・プロパティを設定します:-Xenablefips140-3 -Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS
-
LTPA鍵がある場合、サーバを再起動する前にltpa.keysファイルを削除し、新しいFIPS 140-3準拠鍵を生成する。
詳細については、LTPA サポート のセクションを参照してください。
-
Liberty サーバーを再起動して、FIPS 140-3 を有効にします。
TLS サポート
FIPS 140-3は、TLS 1.2と1.3プロトコルのみをサポートしています。
LTPA サポート
FIPS 140-3が有効になっている場合、LTPAの鍵はFIPS 140-3が承認した暗号 アルゴリズムを使用します。LTPAシングルサインオン(SSO)を使用するには、すべての参加サーバがFIPS 140-3を使用するように構成されていなければいけません。
FIPS 140-3を有効にしてLTPA鍵を作成するには、以下のオプションの1つを選択します。
-
既存の
ltpa.keys
ファイルを削除し、FIPS 140-3 を構成した後にサーバを再起動する。このファイルのデフォルトの場所は、
${server.output.dir}/resources/security/ltpa.keys
です。Libertyサーバーが再起動すると、新しいltpa.keys
ファイルが作成されます。この新しいLTPA鍵は、FIPS 140-3標準に対応しています。 -
securityUtility
コマンドにcreateLTPAKeys
オプションをつけて実行する。LTPA 検証鍵がある場合は、FIPS 140-3を有効にした後、これらの鍵も削除し、新しい検証鍵を生成することが必要です。以下の例に示すように、securityUtility createLTPAKeys コマンドを使用して、新しい検証鍵を生成することができます。
securityUtility createLTPAKeys
コマンドを使用して、FIPS 140-3 で承認されたアルゴリズムを使用する LTPA キーを作成するには、コマンドを実行する前に、以下のシステムプロパティをエクスポートします。export JVM_ARGS="-Xenablefips140-3 -Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS"
その上で、
securityUtility createLTPAKeys
コマンドを実行します。securityUtility createLTPAKeys --password=mypassword --passwordEncoding=aes
LTPAの詳細については、Configuring LTPA in Libertyを参照してください。
監査ログの暗号化と署名に関する更新
25.0.0.3リリースから、Libertyは、FIPS 140-3が有効になっているかどうかに関係なく、監査ログの署名と暗号化に更新されたアルゴリズムを使用します。更新された auditUtility コマンドは、バージョン25.0.0.3より前に署名または暗号化された監査ログを読み取りません。これらの以前のバージョンのログを読み取るには、バージョン 25.0.0.2 以前の Liberty サーバーから auditUtility コマンドを実行します。
パスワードのハッシュおよびAESに関する更新
Starting with the 25.0.0.3 release, all new AES passwords in Liberty use AES 256
algorithms and all new hash passwords use PBKDF2WithHmacSHA512
algorithms, regardless of whether FIPS 140-3 is enabled. If FIPS 140-3 is not enabled, secrets from previous versions are tolerated. With FIPS 140-3 enabled, old secrets must be regenerated by using the securityUtility command.
25.0.0.3リリースから、Libertyの新しいAESパスワードはすべて AES 256
アルゴリズムを使用し、新しいハッシュパスワードはすべて PBKDF2WithHmacSHA512
アルゴリズムを使用します。FIPS 140-3が有効でない場合、以前のバージョンのsecrets(秘密鍵)も許容されます。FIPS 140-3 が有効な場合、古いsecretsは securityUtility コマンド を使用して再生成しなければいけません。
Open Liberty 25.0.0.3を今すぐ入手
Maven, Gradle, Docker,およびダウンロード可能なアーカイブ のリンクから入手できます。