close
Unix, Linux & Tips

Les tribulations d'un admin sys

Lors de l’exploitation d’une base de données, ou du passage d’un script sur celle-ci, l’utilisateur doit généralement saisir le mot de passe associé au compte auquel il souhaite se connecter. Pour éviter la saisie des mots de passes en direct, et pour renforcer la sécurité, nous pouvons opter pour la mise en place de wallets sur nos bases de données.

Le wallet constitue, un portefeuille sécurisé permettant la connexion à la base de données. Les informations à connaitre devenant la chaîne de connexion correspondant à l’utilisateur souhaité. Les utilisateurs (développeurs / exploitants) n’auront pas à saisir les informations de connexion, et ainsi réduire le risque d’erreur de saisies.

L’objectif étant, de sécuriser l’accès aux bases de données en évitant de laisser les mots de passe écrits en clair dans les scripts ou fichiers de configuration. La gestion de la production, doit se faire, de la même manière, pour ne pas laisser apparaître ces informations sensibles.

Manipulation des wallets

Nous allons détailler, au cours de cet article, les différentes étapes nécessaires au bon fonctionnement des wallets :

  1. La création du fichier wallet (qui contient l’ensemble des connexions)
  2. L’ajout de nouvelles connexions dans le wallet
  3. Lister l’ensemble des connexions contenues dans le wallet
  4. Afficher le mot de passe d’une connexion
  5. Modifier une connexion dans le wallet
  6. Supprimer une connexion dans le wallet

Création du fichier wallet

Il faut tout d’abord différencier la mise en place, du fichier wallet (qui va contenir tous les mots de passe et comptes associés) et l’ajout d’informations de connexion dans le fichier portefeuille sécurisé. Lors de cette étape, nous allons effectuer les opérations nécessaires à la création du fichier.

Sous l’utilisateur oracle, saisir les commandes suivantes pour effectuer la création :

Remarque : Un mot de passe sera demandé, il s’agira du mot de passe de l’accès au fichier wallet.

Une fois le fichier de wallet crée, nous effectuons un test de connexion à celui-ci pour s’assurer qu’il n’y a pas eu d’erreurs lors de la création.

Remarque : Si la ligne précédente ne retourne aucune erreur de type PKI, la création du wallet s’est déroulée sans erreurs.

Ajout d’une nouvelle connexion

Le fichier wallet est maintenant crée. Nous allons voir, comment ajouter une connexion dans le fichier.

Sous l’utilisateur oracle, saisir les commandes suivantes pour effectuer l’ajout d’une connexion :

Remarque : Un mot de passe sera demandé, il s’agira du mot de passe de l’accès au fichier wallet. Un message indiquant que le wallet a bien été mis à jour s’affichera.

Remarque bis : Le mot de passe qui est définit dans le wallet doit être le même que celui utilisé pour se connecter via sqlplus. Si le mot de passe est changé directement sur la base de données, le wallet ne pourra plus fonctionner

Lister l’ensemble des connexions

Les opérations suivantes, ont pour but de permettre à l’administrateur de connaître la liste des utilisateurs déclarés dans le wallet.

Sous l’utilisateur oracle, effectuer les commandes suivantes pour lister l’ensemble des utilisateurs présents dans le wallet :

Remarque : Chaque utilisateur sera préfixé par un numéro correspondant à son entrée dans le wallet. Ce numéro est utilisé pour certaines opérations que l’on effectue parfois sur le wallet (notamment afficher le mot de passe de l’utilisateur).

Afficher le mot de passe d’une connexion

Cette opération à pour but de permettre l’affichage d’une connexion enregistrée dans le wallet. Comme nous l’avons vu dans le chapitre précédent, la résultat de la commande renvoie une série de connexions qui sont préfixées par un numéro.

Sous l’utilisateur oracle, effectuer les commandes suivantes pour afficher le mot de passe associé à la connexion :

Remarque : Où XX correspond au préfixe de la connexion affichée dans le wallet.

Supprimer une connexion

Les opérations suivantes, ont pour but de permettre à l’administrateur de supprimer une connexion présente dans le wallet

Sous l’utilisateur oracle, effectuer les commandes suivantes pour effecteur la suppression :

Divers

  • Afficher l’aide :

La commande mkstore est une commande Unix, appartenant à l’utilisateur oracle, il est donc possible d’afficher une aide. Sous l’utilisateur oracle, effectuer les commandes suivantes pour afficher l’aide :

  • Modifier le mot de passe :

Nous avons vu comment changer le mot de passe d’une connexion contenue dans le wallet, mais via la commande suivante, nous allons voir comment, effectuer la modification du mot de passe du wallet lui-même. Sous l’utilisateur oracle, effectuer les commandes suivantes pour modifier le mot de passe :

Remarque : Au cas où, le chemin du wallet ne soit pas connu, le chemin complet se trouve renseigné ici : $TNS_ADMIN/sqlnet.ora.

  • Modification des droits du fichier wallet :

Si jamais les droits de lecture pour les fichiers du wallet (ex : cwallet.sso et ewallet.p12) ainsi que pour le dossier qui le contient sont ouverts à d’autres utilisateurs que oracle (droits autres que 600 sur les fichiers ou dossiers), au moment où une opération est effectuée sur le wallet (lecture, modification, suppression, …), les droits sur les deux fichiers (cwallet.sso et ewallet.p12) sont réinitialisés et remis à 600. Par conséquence, tout autre utilisateur qu’oracle ne pourra plus se connecter à travers le wallet si jamais avant l’opération il y était autorisé.

Donc avant de faire n’importe quelle opération sur le wallet, il faut vérifier d’abord les droits sur les deux fichiers; une fois l’opération terminée, repositionner les même droits.

Tags : databaseoraclesecuritéwallet
Emmanuel V.

The author Emmanuel V.

Leave a Response

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.