Parasoft License Server は、FIPS に準拠するように設定することができます。セルフデプロイ形式の License Server を設定する手順は、以下に記載しています。カスタム Tomcat サーバーで License Server を使用している場合は、すでに FIPS 準拠として設定されているものと想定されます。

新規インストールまたはアップグレード後にセルフデプロイ形式の License Server を設定する必要があります。FIPS 準拠の設定はアップグレード後に保持されません。

要件

次の BouncyCastle FIPS ライブラリを https://www.bouncycastle.org/download/bouncy-castle-java-fips/ からダウンロードする必要があります。

  • bc-fips-<VERSION>.jar (バージョン 1.0.2.5 でテスト済み)
  • bctls-fips-<VERSION>.jar (バージョン 1.0.19 でテスト済み)

これらのライブラリはどこにでも配置できます。この場所を以下の説明では <BC_DIR> と呼びます。

セルフデプロイ形式の License Server の設定

セルフデプロイ形式の License Server を FIPS 準拠に設定するには、次の操作を行います。

  1. インストール パッケージを任意の場所に展開します。<LS_INSTALL>/app ディレクトリには、JRE、Tomcat、サーバー起動スクリプトおよび停止スクリプトがあります。
  2. <LS_INSTALL_DIR>/app/jre/conf/security/ ディレクトリにある java.security ファイルを開き、次の操作を行います。
    1. security.provider.<number> という名前の既存のプロパティをすべてコメント アウトします。
    2. 以下の行を挿入します。

      security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider fips:BCFIPS security.provider.3=SUN
    3. また、以下の行を挿入ます (あるいは、これらのプロパティがすでにファイル内に存在する場合は変更します)。

      ssl.KeyManagerFactory.algorithm=PKIX ssl.TrustManagerFactory.algorithm=PKIX
    4. デフォルトのキーストア タイプを fips に変更し、JKS および PKCS12 キーストア タイプの互換モードを無効にします。

      keystore.type=fips keystore.type.compat=false
    5. (Linux のみ) NativePRNGNonBlocking アルゴリズムを既知の強力な SecureRandom 実装のリストに追加します。

      securerandom.strongAlgorithms=NativePRNGNonBlocking:SUN,NativePRNGBlocking:SUN,DRBG:SUN
    6. FIPS 承認アルゴリズムのみを許可します。

      org.bouncycastle.fips.approved_only=true
  3. 変更を保存します。
  4. <LS_INSTALL_DIR>/app/jre/conf/security/ ディレクトリにある java.policy ファイルを開き、次の権限をデフォルト ドメインに挿入します。

    permission java.lang.RuntimePermission "accessClassInPackage.sun.security.internal.spec"; permission org.bouncycastle.crypto.CryptoServicesPermission "tlsAlgorithmsEnabled";
  5. 変更を保存します。
  6. <LS_INSTALL_DIR>/app/ ディレクトリの setVars.sh ファイルを開き、BouncyCastle JAR ファイルを JAVA_OPTS 環境変数に挿入します。

    export JAVA_OPTS="$LSS_JAVA_OPTS --module-path=<BC_DIR> -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -Ddtp.datadir=\"$LSS_DATADIR\""
    ご使用の OS に応じて <BC_DIR> を入力してください。たとえば、Windows の場合は --module-path="c:\FIPS" となります。
  7. 変更を保存します。
  8. <LS_INSTALL_DIR>/app/tomcat/conf/ にある context.xml ファイルを開き、以下の行を挿入します。

    <Manager className="org.apache.catalina.session.StandardManager" secureRandomProvider="BCFIPS" secureRandomAlgorithm="DEFAULT" />
  9. 変更を保存します。
  10. (オプション) Bouncy Castle のサーバー証明書がまだない場合は、サーバー証明書をホストする BCFKS タイプの新しいキーストア ファイルを作成します。次のオプションを含める必要があります。

    • -storetype BCFKS
    • -providerName BCFIPS
    • -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
    • -providerpath <BC_DIR>/bc-fips-<VERSION>.jar

      keytool コマンドの例:

      keytool -genkey -keyalg RSA -alias selfsigned -storetype BCFKS -keystore keystore.bcfks -storepass password -keysize 2048 -providername BCFIPS -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath <BC_DIR>/bc-fips-<VERSION>.jar
  11. <LS_INSTALL_DIR>/app/tomcat/conf/ディレクトリの server.xml ファイルを開き、次の属性を <Connector> 要素に追加します。

    • certificateKeystoreProvider="BCFIPS"
    • certificateKeystoreType="BCFKS"

    • certificateKeystoreFile="conf/keystore.bcfks"
      例:

      <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
              <SSLHostConfig>
                <Certificate certificateKeystoreProvider="BCFIPS"
                             certificateKeystoreType="BCFKS"
                             certificateKeystoreFile="conf/keystore.bcfks"
                             certificateKeyAlias="$ALIAS"
                             certificateKeystorePassword="$PASSWORD"
                             type="RSA" />
               </SSLHostConfig>
         </Connector>
      注意: $ALIAS および $PASSWORD を実際のエイリアスとパスワードに置き換えてください。
  12. 変更を保存します。
  13. License Server を起動するには、管理者として startLS スクリプトを実行します。License Server はインストール パッケージ付属の Tomcat サーバーで実行されます。
  14. ブラウザーを開いて以下のいずれかの URL で License Server インターフェイスにアクセスします。
    • http://<HOST>:8080/licenseserver 
    • https://<HOST>:8443/licenseserver 
  15. デフォルトのユーザー名およびパスワード (admin/admin) を使用して License Server にログインします。ログイン後、デフォルトを変更することを推奨します。
  • No labels