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 準拠に設定するには、次の操作を行います。
- インストール パッケージを任意の場所に展開します。
<LS_INSTALL>/app
ディレクトリには、JRE、Tomcat、サーバー起動スクリプトおよび停止スクリプトがあります。 <LS_INSTALL_DIR>/app/jre/conf/security/
ディレクトリにある java.security ファイルを開き、次の操作を行います。-
security.provider.<number>
という名前の既存のプロパティをすべてコメント アウトします。 以下の行を挿入します。
security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider fips:BCFIPS security.provider.3=SUN
また、以下の行を挿入ます (あるいは、これらのプロパティがすでにファイル内に存在する場合は変更します)。
ssl.KeyManagerFactory.algorithm=PKIX ssl.TrustManagerFactory.algorithm=PKIX
デフォルトのキーストア タイプを
fips
に変更し、JKS および PKCS12 キーストア タイプの互換モードを無効にします。keystore.type=fips keystore.type.compat=false
(Linux のみ)
NativePRNGNonBlocking
アルゴリズムを既知の強力な SecureRandom 実装のリストに追加します。securerandom.strongAlgorithms=NativePRNGNonBlocking:SUN,NativePRNGBlocking:SUN,DRBG:SUN
FIPS 承認アルゴリズムのみを許可します。
org.bouncycastle.fips.approved_only=true
-
- 変更を保存します。
<LS_INSTALL_DIR>/app/jre/conf/security/
ディレクトリにある java.policy ファイルを開き、次の権限をデフォルト ドメインに挿入します。permission java.lang.RuntimePermission "accessClassInPackage.sun.security.internal.spec"; permission org.bouncycastle.crypto.CryptoServicesPermission "tlsAlgorithmsEnabled";
- 変更を保存します。
<LS_INSTALL_DIR>/app/
ディレクトリの setVars.sh ファイルを開き、BouncyCastle JAR ファイルを JAVA_OPTS 環境変数に挿入します。ご使用の OS に応じて <BC_DIR> を入力してください。たとえば、Windows の場合はexport JAVA_OPTS="$LSS_JAVA_OPTS --module-path=<BC_DIR> -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -Ddtp.datadir=\"$LSS_DATADIR\""
--module-path="c:\FIPS"
となります。- 変更を保存します。
<LS_INSTALL_DIR>/app/tomcat/conf/
にある context.xml ファイルを開き、以下の行を挿入します。<Manager className="org.apache.catalina.session.StandardManager" secureRandomProvider="BCFIPS" secureRandomAlgorithm="DEFAULT" />
- 変更を保存します。
(オプション) 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
<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
を実際のエイリアスとパスワードに置き換えてください。
- 変更を保存します。
- License Server を起動するには、管理者として startLS スクリプトを実行します。License Server はインストール パッケージ付属の Tomcat サーバーで実行されます。
- ブラウザーを開いて以下のいずれかの URL で License Server インターフェイスにアクセスします。
http://<HOST>:8080/licenseserver
https://<HOST>:8443/licenseserver
- デフォルトのユーザー名およびパスワード (admin/admin) を使用して License Server にログインします。ログイン後、デフォルトを変更することを推奨します。