DB2 のデータベース接続暗号化の有効化
SSL ベースの暗号化を適用するように MS SQL データベースを構成します。
始める前に
-
DB2 データベースは、接続暗号化が有効になるように構成されています。
-
抽出された公開信頼証明書は、64 ビット・エンコードした
.CER
形式で使用できる必要があります。 これは、コマンドgsk8capicmd_64 -cert -extract -db "<Server Keystore .kdb file>" -pw "<Server Keystore password>" -label "<label name>" -target "<.cer file name>" -format ascii.
を使用して行えます。
このタスクについて
手順
-
<keystore_extension>
タイプのトラストストアを作成し、そこに公開証明書をインポートします。- BigFix Inventory Java ディレクトリー BFI_INSTALL_DIR>/jre/jre/binに移動します。
- コマンド
./keytool -importcert -file <.cer file location> -keystore <BFI_INSTALL_DIR>/wlp/usr/servers/server1/resources/security/key_bfi_db.<keystore_extension> -alias "bfi_db_cert"
を使用して、証明書をトラストストアにインポートします。 - トラストストアのパスワードを入力します。証明書を信頼するには、Yes を入力します。
- BigFix Inventory サービスを停止します。
-
既存の属性を更新し、欠落している属性を server.xml ファイルに 追加します。
重要: データベースについては、証明書と同じサーバー名を使用します。serverName 属性の値を更新します。
<dataSource id='DatabaseConnection' jndiName='jdbc/ilmtDatabaseConnection'> <jdbcDriver libraryRef='DatabaseLib'/> <properties.db2.jcc databaseName='temadb' driverType='4' enableExtendedIndicators='2' password="<password encrypted in in ‘aes’ encoding>" portNumber='<TLS port number>' serverName=‘<host name - the same that certificate is issued to>’ user='db2inst1' sslConnection="true" sslTrustStoreLocation="<BFI_INSTALL_DIR>/wlp/usr/servers/server1/resources/security/key_bfi_db.<keystore_extension>>” sslTrustStorePassword="<password encrypted in in ‘aes’ encoding>"/> </dataSource>
注: パスワードを AES 方式で暗号化しています。詳しくは『データベース・パスワードの更新』を参照してください。BigFix Inventory サーバーのアップグレード中にデータベース接続を暗号化する場合は、データ・ソースでパスワード暗号化属性を定義する必要があります。 -
既存の属性を更新し、欠落している属性を database.yml ファイルに 追加します。
重要: データベースについては、証明書と同じホスト名を使用します。host name 属性の値を更新します。
host: <host name - the same that certificate is issued to> database: temadb username: db2inst1 database_type: db2 port: ‘<TLS port number>' encrypted_password: "<password encrypted in in ‘aes’ encoding>" sslConnection: true sslTrustStoreLocation: '<<BFI_INSTALL_DIR>/wlp/usr/servers/server1/resources/security/key_bfi_db.<keystore_extension>>’ sslTrustStorePassword: "<password encrypted in in ‘aes’ encoding>"
- BigFix Inventory サービスを開始します。
-
tema.log をモニターし、接続が確立されていることを確認します。
アプリケーションが起動しない場合は、上部から tema.log を確認してください。構成に問題が発生した場合は、ログにトラブルシューティングに役立つエラー・メッセージが表示されます。例:
[3/11/21 14:43:42:658 UTC] 0000002a SystemOut O 2021-03-11 14:43:42 ERROR: Cannot connect to the database: Java::ComIbmDb2JccAm::DisconnectNonTransientConnectionException: [jcc] t4][2043][11550][4.28.11] Exception java.io.FileNotFoundException: Error opening socket to server ***/*** on port 51,001 with message: ***<keystore_extension> (No such file or directory). ERRORCODE=-4499, SQLSTATE=08001. The next try for 60 seconds. [3/11/21 17:02:45:608 UTC] 0000002b SystemOut O 2021-03-11 17:02:45 ERROR: Cannot connect to the database: Java::ComIbmDb2JccAm::DisconnectNonTransientConnectionException: [jcc] [t4][2043][11550][4.28.11] Exception java.io.IOException: Error opening socket to server ***/*** on port 51,001 with message: Keystore was tampered with, or password was incorrect. ERRORCODE=-4499, SQLSTATE=08001. The next try for 60 seconds.
注: 上記のコマンドに適用される <type> および <keystore_extension> パラメーターは、以下を指定します。<type>
- バージョン 10.0.8.0 以降では、証明書のタイプは PKCS12 です。上記より前のバージョンでは、JCEKS です。
- <
keystore_extension
> - バージョン 10.0.8.0 以降では、鍵ストア・ファイルの名前は .p12 です。上記より前のバージョンでは、.jceks です。