Activation du chiffrement de connexion à la base de données pour DB2
Configurez la base de données MS SQL pour appliquer le chiffrement basé sur SSL.
Avant de commencer
-
La base de données DB2 est configurée pour activer le chiffrement de la connexion.
-
Le certificat de confiance public extrait doit être disponible au format
.CERcodé en 64 bits. Vous pouvez le faire à l'aide de la commande,gsk8capicmd_64 -cert -extract -db "<Server Keystore .kdb file>" -pw "<Server Keystore password>" -label "<label name>" -target "<.cer file name>" -format ascii..
Pourquoi et quand exécuter cette tâche
Procédure
-
Créez le type
<keystore_extension>du fichier de clés certifiées et importez-y le certificat public :- Accédez au répertoire Java BigFix Inventory, BFI_INSTALL_DIR>/jre/jre/bin
- Importez le certificat dans le fichier de clés certifiées à l'aide de la commande,
./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" - Indiquez le mot de passe du fichier de clés certifiées. Saisissez Oui pour accréditer le certificat.
- Arrêtez le service BigFix Inventory.
-
Mettez à jour les attributs existants et ajoutez les attributs manquants dans le fichier server.xml.
Important : Pour la base de données, utilisez le même nom de serveur que celui fourni dans le certificat. Mettez à jour la valeur dans l'attribut 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>Remarque : Chiffrement du mot de passe dans le codage "aes". Pour plus d'informations, voir Mise à jour du mot de passe de la base de données. Si vous choisissez de chiffrer la connexion à la base de données lors de la mise à niveau du serveur BigFix Inventory, vous devez définir l'attribut de chiffrement de mot de passe dans la source de données. -
Mettez à jour les attributs existants et ajoutez les attributs manquants dans le fichier database.yml.
Important : Pour la base de données, utilisez le même nom d'hôte que celui fourni dans le certificat. Mettez à jour la valeur dans l'attribut de nom d'hôte.
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>" - Démarrez le service BigFix Inventory.
-
Surveillez tema.log pour vous assurer que la connexion est établie.
Si l'application ne démarre pas, examinez le tema.log depuis la partie supérieure. En cas de problèmes de configuration, le journal affiche des messages d'erreur qui aident à résoudre les incidents. Par exemple :
[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.Remarque : Les paramètres <type> et <keystore_extension> qui s'appliquent aux commandes ci-dessus spécifient les éléments suivants :<type>- A partir de la version 10.0.8.0, le type du certificat est PKCS12. Pour les versions antérieures, il s'agit de JCéKS.
- <
keystore_extension> - A compter de la version 10.0.8.0, le nom du fichier de clés est .p12. Pour les versions antérieures, il s'agit de .jceks.