|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "25.0.0.3におけるFIPS 140-3のサポートとlibrary設定の簡素化" |
| 4 | +# Do NOT change the categories section |
| 5 | +categories: blog |
| 6 | +author_picture: https://avatars3.githubusercontent.com/dmuelle |
| 7 | +author_github: https://github.com/dmuelle |
| 8 | +seo-title: 25.0.0.3におけるFIPS 140-3のサポートとlibrary設定の簡素化 - OpenLiberty.io |
| 9 | +seo-description: 25.0.0.3リリースでは、連邦情報処理標準(FIPS)140-3のサポートと、fileとfolderの管理方法を簡素化する新しいlibrary設定オプションが追加されました。このリリースには、監査ログ、AESおよびハッシュ暗号化アルゴリズムの更新も含まれています。 |
| 10 | +blog_description: 25.0.0.3リリースでは、連邦情報処理標準(FIPS)140-3のサポートと、fileとfolderの管理方法を簡素化する新しいlibrary設定オプションが追加されました。このリリースには、監査ログ、AESおよびハッシュ暗号化アルゴリズムの更新も含まれています。 |
| 11 | +open-graph-image: https://openliberty.io/img/twitter_card.jpg |
| 12 | +open-graph-image-alt: Open Liberty Logo |
| 13 | +blog-available-in-languages: |
| 14 | +- lang: en |
| 15 | + path: /blog/2025/03/25/25.0.0.3.html |
| 16 | +--- |
| 17 | += 25.0.0.3におけるFIPS 140-3のサポートとlibrary設定の簡素化 |
| 18 | +David Mueller <https://github.com/dmuelle> |
| 19 | +:imagesdir: / |
| 20 | +:url-prefix: |
| 21 | +:url-about: / |
| 22 | +//Blank line here is necessary before starting the body of the post. |
| 23 | + |
| 24 | +25.0.0.3リリースでは、連邦情報処理標準(FIPS)140-3のサポートと、fileとfolderの管理方法を簡素化する新しいlibrary設定オプションが追加されました。このリリースには、監査ログ、AESおよびハッシュ暗号化アルゴリズムの更新も含まれています。 |
| 25 | + |
| 26 | +link:{url-about}[Open Liberty] 25.0.0.3では:以下のアップデートが行われました。 |
| 27 | + |
| 28 | +* <<library, fileとfolderの管理方法を簡素化する新しいlibrary設定オプション>> |
| 29 | +* <<FIPS, LibertyとIBM JDK 8によるFIPS 140-3のサポート>> |
| 30 | +* <<audit, 監査ログの暗号化と署名に関する更新>> |
| 31 | +* <<hash, パスワードのハッシュおよびAESに関する更新>> |
| 32 | + |
| 33 | + |
| 34 | +link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A25003+label%3A%22release+bug%22[25.0.0.3]で修正されたバグの一覧をご確認ください。 |
| 35 | + |
| 36 | +link:{url-prefix}/blog/?search=release&search!=beta[以前のOpen Liberty GAリリースのブログ投稿]もご覧ください。 |
| 37 | + |
| 38 | + |
| 39 | +[#run] |
| 40 | + |
| 41 | +== 25.0.0.3を使用してアプリを開発および実行する |
| 42 | + |
| 43 | +link:{url-prefix}/guides/maven-intro.html[Maven]を使用している場合は、`pom.xml` ファイルに以下の内容を含めます。 |
| 44 | + |
| 45 | +[source,xml] |
| 46 | +---- |
| 47 | +<plugin> |
| 48 | + <groupId>io.openliberty.tools</groupId> |
| 49 | + <artifactId>liberty-maven-plugin</artifactId> |
| 50 | + <version>3.11.3</version> |
| 51 | +</plugin> |
| 52 | +---- |
| 53 | + |
| 54 | +link:{url-prefix}/guides/gradle-intro.html[Gradle]を使用している場合は、`build.gradle` ファイルに以下の内容を含めます。 |
| 55 | + |
| 56 | +[source,gradle] |
| 57 | +---- |
| 58 | +buildscript { |
| 59 | + repositories { |
| 60 | + mavenCentral() |
| 61 | + } |
| 62 | + dependencies { |
| 63 | + classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.3' |
| 64 | + } |
| 65 | +} |
| 66 | +apply plugin: 'liberty' |
| 67 | +---- |
| 68 | + |
| 69 | + |
| 70 | +link:{url-prefix}/docs/latest/container-images.html[コンテナ イメージ]を使用している場合。 |
| 71 | + |
| 72 | +[source] |
| 73 | +---- |
| 74 | +FROM icr.io/appcafe/open-liberty |
| 75 | +---- |
| 76 | + |
| 77 | +または、link:{url-prefix}/start/[ダウンロード・ページ]をご覧ください。 |
| 78 | + |
| 79 | +link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA]、link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code]、または link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE] を使用している場合は、オープンソースの link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty developer tools] を活用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。 |
| 80 | + |
| 81 | +[link=https://stackoverflow.com/tags/open-liberty] |
| 82 | +image::img/blog/blog_btn_stack.svg[Stack Overflowで質問する, align="center"] |
| 83 | + |
| 84 | +// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // |
| 85 | +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/30996 |
| 86 | +// Contact/Reviewer: tjwatson |
| 87 | +// // // // // // // // |
| 88 | +[#library] |
| 89 | +== fileとfolderの管理方法を簡素化する新しいlibrary設定オプション |
| 90 | + |
| 91 | + |
| 92 | +Libertyでは、アプリケーションから参照するライブラリを設定する link:https://openliberty.io/docs/latest/reference/config/library.html[library] で、`file`、`folder`、`fileset` の各構成要素のリストを使った構成ができます。 `file` 要素と `folder` 要素は、設定のターゲットがファイル(JARなど)かフォルダかを事前に知っておく必要があります。 `fileset` は、ファイルであるターゲットにマッチし、フォルダは無視します。 Liberty 25.0.0.3リリースでは、`path` という新しい `library` 設定オプションが追加されました。 `path` 設定は、ファイルまたはフォルダのいずれかをターゲットにできます。 このオプションを使用すると、`path` 構成はファイルまたはフォルダーのどちらのターゲットも受け入れることができるため、事前にターゲットのタイプを知っておく必要はありません。 |
| 93 | + |
| 94 | +例えば、次のような `someLib` の構成を考えてみます。 |
| 95 | + |
| 96 | +[source,xml] |
| 97 | +---- |
| 98 | + <library id="someLib"> |
| 99 | + <!-- path to a jar --> |
| 100 | + <file name="libs/lib1.jar"/> |
| 101 | + <!-- path to a folder --> |
| 102 | + <folder dir="libs/lib2folder"/> |
| 103 | + </library> |
| 104 | +---- |
| 105 | + |
| 106 | +この `someLib` の設定は、代わりに両方に `path` を使うことができるようになりました。 |
| 107 | + |
| 108 | +[source,xml] |
| 109 | +---- |
| 110 | + <library id="someLib"> |
| 111 | + <!-- path to a jar --> |
| 112 | + <path name="libs/lib1.jar"/> |
| 113 | + <!-- path to a folder --> |
| 114 | + <path name="libs/lib2folder"/> |
| 115 | + </library> |
| 116 | +---- |
| 117 | + |
| 118 | + |
| 119 | +// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> |
| 120 | + |
| 121 | + |
| 122 | +[#FIPS] |
| 123 | +== LibertyとIBM JDK 8によるFIPS 140-3のサポート |
| 124 | + |
| 125 | +FIPS 140-3はFIPS 140標準の最新バージョンで、暗号モジュールのセキュリティと完全性を保証するための一連のガイドラインを提供しています。 |
| 126 | + |
| 127 | +この更新以前は、FIPS 140-2がサポートされていましたが、IBM SDK 8に対するその認定は現在失効しています。新しい FIPS 140-3 サポートは、IBM SDK 8 を使用する Liberty ユーザーに、更新されたより安全な暗号モジュールを提供します。 |
| 128 | + |
| 129 | +サポートされているオペレーティング・システムなど、IBM SDK 8 の FIPS 140-3 サポートについては、IBM SDK 8 ドキュメントの link:https://www.ibm.com/docs/en/sdk-java-technology/8?topic=guide-fips-140-3[FIPS 140-3] を参照してください。FIPS と Open Liberty の詳細については、link:https://openliberty.io/docs/latest/enable-fips.html[Run FIPS-compliant applications on Open Liberty] を参照してください。 |
| 130 | + |
| 131 | +=== FIPS 140-3の有効化 |
| 132 | + |
| 133 | +Liberty で FIPS 140-3 を有効にするには、以下の手順を実行します。IBM SDK for Java 8.0.8.30 以降を使用する必要があります。 |
| 134 | + |
| 135 | +1. Liberty サーバーが実行中の場合は、サーバーを停止します。 |
| 136 | +2. `jvm.options` jvm.options ファイルで、次のシステム・プロパティを設定します: |
| 137 | ++ |
| 138 | +---- |
| 139 | +-Xenablefips140-3 |
| 140 | +-Dcom.ibm.jsse2.usefipsprovider=true |
| 141 | +-Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS |
| 142 | +---- |
| 143 | + |
| 144 | +3. LTPA鍵がある場合、サーバを再起動する前にltpa.keysファイルを削除し、新しいFIPS 140-3準拠鍵を生成する。 |
| 145 | ++ |
| 146 | +詳細については、<<ltpa, LTPA サポート>> のセクションを参照してください。 |
| 147 | +4. Liberty サーバーを再起動して、FIPS 140-3 を有効にします。 |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | +=== TLS サポート |
| 152 | +FIPS 140-3は、TLS 1.2と1.3プロトコルのみをサポートしています。 |
| 153 | + |
| 154 | +[#ltpa] |
| 155 | +=== LTPA サポート |
| 156 | +FIPS 140-3が有効になっている場合、LTPAの鍵はFIPS 140-3が承認した暗号 アルゴリズムを使用します。LTPAシングルサインオン(SSO)を使用するには、すべての参加サーバがFIPS 140-3を使用するように構成されていなければいけません。 |
| 157 | + |
| 158 | +FIPS 140-3を有効にしてLTPA鍵を作成するには、以下のオプションの1つを選択します。 |
| 159 | + |
| 160 | + |
| 161 | +- 既存の `ltpa.keys` ファイルを削除し、FIPS 140-3 を構成した後にサーバを再起動する。 |
| 162 | ++ |
| 163 | +このファイルのデフォルトの場所は、`${server.output.dir}/resources/security/ltpa.keys` です。Libertyサーバーが再起動すると、新しい `ltpa.keys` ファイルが作成されます。この新しいLTPA鍵は、FIPS 140-3標準に対応しています。 |
| 164 | +- `securityUtility` コマンドに `createLTPAKeys` オプションをつけて実行する。 |
| 165 | ++ |
| 166 | +LTPA link:https://openliberty.io/docs/latest/reference/feature/appSecurity-5.0.html#validationkeys[検証鍵]がある場合は、FIPS 140-3を有効にした後、これらの鍵も削除し、新しい検証鍵を生成することが必要です。以下の例に示すように、link:https://openliberty.io/docs/latest/reference/command/securityUtility-createLTPAKeys.html[securityUtility createLTPAKeys] コマンドを使用して、新しい検証鍵を生成することができます。 |
| 167 | ++ |
| 168 | +`securityUtility createLTPAKeys` コマンドを使用して、FIPS 140-3 で承認されたアルゴリズムを使用する LTPA キーを作成するには、コマンドを実行する前に、以下のシステムプロパティをエクスポートします。 |
| 169 | ++ |
| 170 | +---- |
| 171 | +export JVM_ARGS="-Xenablefips140-3 -Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS" |
| 172 | +---- |
| 173 | ++ |
| 174 | +その上で、`securityUtility createLTPAKeys` コマンドを実行します。 |
| 175 | ++ |
| 176 | +---- |
| 177 | +securityUtility createLTPAKeys --password=mypassword --passwordEncoding=aes |
| 178 | +---- |
| 179 | + |
| 180 | +LTPAの詳細については、link:https://ibmdocs-test.dcs.ibm.com/docs/en/SSAW57_liberty_test?topic=liberty-configuring-ltpa-in[Configuring LTPA in Liberty]を参照してください。 |
| 181 | + |
| 182 | +[#audit] |
| 183 | +== 監査ログの暗号化と署名に関する更新 |
| 184 | +25.0.0.3リリースから、Libertyは、FIPS 140-3が有効になっているかどうかに関係なく、監査ログの署名と暗号化に更新されたアルゴリズムを使用します。更新された link:https://openliberty.io/docs/latest/reference/command/auditUtility-auditReader.html[auditUtility] コマンドは、バージョン25.0.0.3より前に署名または暗号化された監査ログを読み取りません。これらの以前のバージョンのログを読み取るには、バージョン 25.0.0.2 以前の Liberty サーバーから auditUtility コマンドを実行します。 |
| 185 | + |
| 186 | +[#hash] |
| 187 | +== パスワードのハッシュおよびAESに関する更新 |
| 188 | +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 link:https://openliberty.io/docs/latest/reference/command/securityUtility-commands.html[securityUtility command]. |
| 189 | +25.0.0.3リリースから、Libertyの新しいAESパスワードはすべて `AES 256` アルゴリズムを使用し、新しいハッシュパスワードはすべて `PBKDF2WithHmacSHA512` アルゴリズムを使用します。FIPS 140-3が有効でない場合、以前のバージョンのsecrets(秘密鍵)も許容されます。FIPS 140-3 が有効な場合、古いsecretsは link:https://openliberty.io/docs/latest/reference/command/securityUtility-commands.html[securityUtility コマンド] を使用して再生成しなければいけません。 |
| 190 | + |
| 191 | + |
| 192 | +// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> |
| 193 | + |
| 194 | + |
| 195 | + |
| 196 | + |
| 197 | + |
| 198 | +== Open Liberty 25.0.0.3を今すぐ入手 |
| 199 | + |
| 200 | +<<run,Maven, Gradle, Docker,およびダウンロード可能なアーカイブ>> のリンクから入手できます。 |
0 commit comments