Cet article vous explique comment crypter les données échangées ou utilisées par les process goldengate (contenu des fichiers trail et mots de passe).
Tout d’abord il vous faut définir la ou les clé(s) qui vous serviront à crypter vos données.
Ces clés seront stockées dans un fichier dont le nom est ENCKEYS et se trouve dans le répertoire ou le produit logiciel goldengate a été installé.
Pour générer cette clé de cryptage , l’utilitaire keygen doit être employé.
Usage: keygen <encryption key length (in bits)> [number of keys to generate]
Pour une sécurité moyenne mais qui correspond à la grande majorité des cas d’usage , l’algorithme AES (Advanced Encryption Standard) codé sur 128 bits est en général suffisant, mais pour des besoins de sécurisation plus poussés , vous pouvez augmenter cette valeur de 128 à une valeur de 256 ou plus.
Nous prendrons dans cet article la valeur de 128 et considèrerons que nous n’utiliserons qu’une seule clé pour l’ensemble des opérations de cryptage.
$ cd $GGDIR (GGDIR correspond au répertoire ou goldengate a été installé). $ ./keygen 128 1 0xBD55FB457A3C4F51231B0E670084BB6A
Avec la valeur retournée , nous allons créer notre fichier de clés ENCKEYS en associant à chaque clé de cryptage un nom.
ex: $ cat ENCKEYS mykey 0xBD55FB457A3C4F51231B0E670084BB6A
Pour crypter maintenant les mots de passe et les données contenues dans les fichiers trail , il vous suffit de suivre la procédure suivante :
1. Pour crypter un mot de passe dans un fichier de configuration goldengate
Rien de plus simple , à partir du moment ou vos clés de cryptage sont définies dans votre fichier ENCKEYS
cd $GGDIR $ ./ggsci ggsci> encrypt password <votre mot de passe à encrypter> encryptkey mykey ex: encrypt password mypassword encryptkey mykey Encrypted password: AADAAAAAAAAAAAKAGGOGUHEFECOIAHCAQIJEQHGCQENIEEVFGERCAHJCXIGBJGMGXHAAKCSGRHEINFPE Algorithm used: AES128 Pour utiliser ce mot de passe crypté , il suffit maintenant de renseigner dans votre fichier de configuration goldengate le mot de passe correspondant : ex: USERID GGS , PASSWORD AADAAAAAAAAAAAKAGGOGUHEFECOIAHCAQIJEQHGCQENIEEVFGERCAHJCXIGBJGMGXHAAKCSGRHEINFPE , encryptkey mykey
2. Pour crypter les données échangées entre la source et la cible de réplicaton goldengate
Toujours aussi simple, il suffit de copier le fichier ENCKEYS généré en début d’article sur le serveur cible , et d’ajouter dans les fichiers de configuration goldengate ( process EXTRACT , DATAPUMP et REPLICAT ) les
clauses suivantes :
Coté EXTRACT ou DATAPUMP
encrypttrail AES128 keyname mykey <– attention le saut à la ligne est important pour que cela fonctionne !
exttrail /home/oracle/ogg/dirdat/aa
Et du coté du process REPLICAT pour décrypter le contenu des fichiers qui lui sont transmis :
decrypttrail AES128 keyname mykey
Vous pouvez désormais utiliser Oracle Goldengate en toute sécurité !