« FAQ:Crypt FichiersMotDePasse » : différence entre les versions
| Ligne 51 : | Ligne 51 : | ||
</pre> | </pre> | ||
<br> | <br> | ||
On commence par renommer le fichier | On commence par renommer le fichier car le chiffrement n'écrase pas le fichier s'il existe, et, ou afin de le sauvegarder. | ||
<pre> | <pre> | ||
mssql@vmsqwarebox:/home/mssql (SRVDBMSQL01) $ | mssql@vmsqwarebox:/home/mssql (SRVDBMSQL01) $ | ||
Version du 10 novembre 2025 à 09:46
Généralités
Limites de cette section
Cette section vous propose un chiffrement pour les fichiers de mots de passe qui peuvent être nécessaires au foncitonnement de certains scripts de dbSQWare.
Cette section est réservée à des DBA et Admin qui maîtrisent bien la partie authentification au SGBD.
Cette section se base sur une installation du point central sous Rocky Linux 9.x 64bits sur une VM (2 vCPU et 4 Go de RAM) avec 100 Go de disque (Permet de tenir 2 ans d'historique pour une centaine d'instances). Vous pouvez l'avoir installer sur un autre type de Linux/Unix, Il peut arriver que vous ayez besoin de paquets ou commandes différentes liées à ce choix.
Principes de fonctionnement
Technologies utilisées
AES-256 avec OpenSSL et du "salage"
Mise en place
Ici, nous prendrons en exemple le fichier dédié aux connexions MS SQL, .passwd_mssql, se trouvant à la racine du home de l'utilisateur mssql sur la machine vmsqwarebox.
Ce mode opératoire peut être reproduit pour tous les utilisateurs de la vmsqwarebox ou vos utilisateurs portant les instances sur les serveurs de base de données, oracle, postgres, mysql, ...
Visualisation du contenu du fichier stocké en clair :
mssql@vmsqwarebox:/home/mssql (NoSID) $ # cat .passwd_mssql DEFAULT;dba_dbs;def@ult_passworde SRVDBMSQL01;msq_dba;def@ult_passworde SRVDBMSQ02;DBSQWARE\UserFreeTds;def@ult_passworde SRVDBMSQ03;DBSQWARE\UserFreeTds;def@ult_passworde SRVDBMSQ06;DEV-ENV\svc-mssql;def@ult_passworde
Vérification que la connexion se fait bien, si la connexion ne fonctionne pas avec le fichier de mots de passe en clair cela ne fonctionnera pas avec le fichier chiffré.
mssql@vmsqwarebox:/home/mssql (NoSID) $ # e SRVDBMSQL01 Sourcing .profile for SRVDBMSQL01 ... mssql@vmsqwarebox:/home/mssql (SRVDBMSQL01) $ # tis Sourcing .profile for SRVDBMSQL01 ... Connection to instance SRVDBMSQL01 : login msq_dba ... locale is "en_US.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" 1>
On commence par renommer le fichier car le chiffrement n'écrase pas le fichier s'il existe, et, ou afin de le sauvegarder.
mssql@vmsqwarebox:/home/mssql (SRVDBMSQL01) $ # mv .passwd_mssql /backups/archives/.passwd_mssql_vmsqwarebox_20251007
Ensuite il faut recréer le fichier .passwd_mssql mais cette fois si chiffré :
mssql@vmsqwarebox:/home/mssql (SRVDBMSQL01) $
# too
total 68
drwxr-x--- 2 dbsqware dba 4096 Nov 9 19:53 .
drwxr-x--- 15 dbsqware dba 187 Nov 9 19:53 ..
-rwxr-x--- 1 dbsqware dba 6136 Nov 9 19:52 sqwmsq_AlterDatabaseModifyLogGrowth.ksh
-rwxr-x--- 1 dbsqware dba 5871 Nov 9 19:52 sqwmsq_AlterDatabaseRecoverySimple.ksh
-rwxr-x--- 1 dbsqware dba 6025 Nov 9 19:52 sqwmsq_AlterDatabaseShrinkLogs.ksh
-rwxr-x--- 1 dbsqware dba 6017 Nov 9 19:52 sqwmsq_CreateAuditLogon.ksh
lrwxrwxrwx 1 dbsqware dba 36 Jul 10 13:27 sqwmsq_Crypt.ksh -> ../../generic/tools/sqwgen_Crypt.ksh
-rwxr-x--- 1 dbsqware dba 4895 Nov 9 19:52 sqwmsq_GenerateCreateInstance.ksh
lrwxrwxrwx 1 dbsqware dba 44 Jul 10 13:27 sqwmsq_KillAllChilds.ksh -> ../../generic/tools/sqwgen_KillAllChilds.ksh
lrwxrwxrwx 1 dbsqware dba 51 Jul 10 13:27 sqwmsq_ListAsyncFilesGlobal.ksh -> ../../generic/tools/sqwgen_ListAsyncFilesGlobal.ksh
lrwxrwxrwx 1 dbsqware dba 45 Jul 10 13:27 sqwmsq_ListAsyncFiles.ksh -> ../../generic/tools/sqwgen_ListAsyncFiles.ksh
lrwxrwxrwx 1 dbsqware dba 39 Jul 10 13:27 sqwmsq_MvToBash.ksh -> ../../generic/tools/sqwgen_MvToBash.ksh
-rwxr-x--- 1 dbsqware dba 5589 Nov 9 19:52 sqwmsq_SetEnv.ksh
-rwxr-x--- 1 dbsqware dba 1129 Nov 9 19:52 sqwmsq_Sqlcmd.ksh
-rwxr-x--- 1 dbsqware dba 5289 Nov 9 19:52 sqwmsq_TestInstConnection.ksh
lrwxrwxrwx 1 dbsqware dba 40 Jul 10 13:27 sqwmsq_TestMySQL.ksh -> ../../generic/tools/sqwgen_TestMySQL.ksh
lrwxrwxrwx 1 dbsqware dba 43 Jul 10 13:27 sqwmsq_TestSendmail.ksh -> ../../generic/tools/sqwgen_TestSendmail.ksh
-rwxr-x--- 1 dbsqware dba 1506 Nov 9 19:52 sqwmsq_Tis.ksh
lrwxrwxrwx 1 dbsqware dba 38 Jul 10 13:27 sqwmsq_Uncrypt.ksh -> ../../generic/tools/sqwgen_Uncrypt.ksh
mssql@vmsqwarebox:/home/mssql/SQWareProduction/mssql/tools (SRVDBMSQL01) $
# ./sqwmsq_Crypt.ksh -h
Sourcing sqwmsq_Global.lib v2025.10.04 SQWareProduction for MsSql (dbSQWare) ...
Usage: sqwmsq_Crypt.ksh -ClearFile ClearFileName -EncryptedFile EncryptedFileName [-h] [+ options]
DESCRIPTION
sqwmsq_Crypt.ksh crypt file with openssl
SUPPORT
All rdbms type and version
PARAMETERS
-ClearFile file: File that contain clear datas.
-EncryptedFile file: Dest file for encryted datas.
OPTIONS
-h : Display the full usage.
-s : Display samples of usage.
mssql@vmsqwarebox:/home/mssql/SQWareProduction/mssql/tools (SRVDBMSQL01) $
# ./sqwmsq_Crypt.ksh -ClearFile /backups/archives/.passwd_mssql_vmsqwarebox_20251007 -EncryptedFile ~/.passwd_mssql
Sourcing sqwmsq_Global.lib v2025.10.04 SQWareProduction for MsSql (dbSQWare) ...
openssl enc -e -aes-256-cbc -pbkdf2 -iter 100000 -salt -in /backups/archives/.passwd_mssql_vmsqwarebox_20251007 -out /home/mssql/.passwd_mssql -pass file:/home/mssql/sqwConfig/.ssl
mssql@vmsqwarebox:/home/mssql/SQWareProduction/mssql/tools (SRVDBMSQL01) $
Tentative de visualisation du contenu du nouveau fichier chiffré :
mssql@vmsqwarebox:/home/mssql (SRVDBMSQL01) $ # cat .passwd_mssql ▒▒w▒▒7J▒▒▒e)▒▒▒▒~/ZF▒}▒▒▒:▒Y▒▒h3/▒▒▒[▒L7▒Q1ؙXQ%)ÿQ▒_▒#=¤Գ▒▒▒▒▒A▒;<▒▒R▒شRR▒▒bط▒G▒▒▒?▒'▒8h▒U,▒▒▒!r5 mssql@vmsqwarebox:/home/mssql (NoSID) $ #
Vérification que la connexion se fait bien avec le fichier chiffré.
mssql@vmsqwarebox:/home/mssql/SQWareProduction/mssql/tools (SRVDBMSQL01) $ # tis Sourcing .profile for SRVDBMSQL01 ... Case of encrypted file (tools/sqwmsq_SetEnv.ksh) ... Connection to instance SRVDBMSQL01 : login msq_dba ... locale is "en_US.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" 1>
