IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Commande Unix STRINGS et données non cryptées : pas bon du tout


Sujet :

Administration Oracle

  1. #1
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut Commande Unix STRINGS et données non cryptées : pas bon du tout
    Bonjour,

    En faisant chez moi des tests, je me suis rendu compte qu'avec la commande Unix Strings on pouvait lire les données des tables Oracle de type texte si elles ne sont pas cryptées; visiblement c'est le but de cette commande.
    Plus étrange, si la table est supprimée, les données sont encore visibles dans le datafile et de pire en pire ou de mieux en mieux, j'ai l'historique des modifs de mes données (sur une base très peu active, je précise)

    J'ai posté sur AskTom pour savoir si c'était normal et on m'a répondu que c'était une erreur courante de croire que les données Oracle ne sont visibles que depuis la base et donc qu'il était très fortement recommandé de toujours les crypter.
    Le lien ici avec mes tests cases pour ceux que ça intéresse : https://asktom.oracle.com/pls/apex/a...-not-encrypted

    Voilà, je savais qu'il fallait crypter les données sur le réseau (datapump, dblink...) mais je ne pensais pas qu'à partir de Unix on pouvait bypasser les règles élémentaires de sécurité d'un SGBD; on en apprend tous les jours.

    Savez-vous si je peux régler ce problème sans passer par un cryptage?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il faut relativiser le problème: normalement, l'accès au serveur est protégé, de même que l'accès physique au disques dans le datacenter.
    A noter que même encrypté sur disque, si on est sur le serveur on peut accéder à la mémoire et y voir les données.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Accès à la mémoire? Tu fais un dump d'un buffer pour voir les données?

    Ceci étant dit, ce qui m'a le plus étonné ce n'est pas qu'on voit les données mais qu'elles restent dans le datafile même si la table est truncatée ou supprimée et qu'on ait l'historique des modifs (si l'espace disque est suffisant bien sur).
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    si tu fais un string sur les redo logs tu verra encore plus d'historique puisqu'il contient redo et undo
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Citation Envoyé par pachot Voir le message
    si tu fais un string sur les redo logs tu verra encore plus d'historique puisqu'il contient redo et undo
    Oh bordel, j'avais pas essayé, je n'y avais pas pensé
    Voilà un nouveau joujou

    Merci à nouveau pour tes conseils!
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    Sinon tu peux utiliser ASM, ca ajoutera une complexité supplémentaire pour accéder aux fichiers. Je vais aller tester le strings sur les fichiers, j'avais jamais pensé à tester ca.
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

  7. #7
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Super cette commande strings, je connaissais pas.
    Je viens de la tester sur un dump dont je n'ai pas le log, et en tirer les schémas exportés
    strings mydump.dmp | grep "^CONNECT"
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  8. #8
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Plus étrange, si la table est supprimée, les données sont encore visibles dans le datafile
    Hello,
    même avec l'option purge ?
    Avec la recyclebin à ON par défaut, ça ne me surprendrais pas.

  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    En effet Oracle, Oracle n'a jamais prétendu que les données étaient automatiquement cryptées dans les fichiers.
    (Sinon, d'ailleurs, il ne proposerait pas d'options payantes pour le faire).

    Concernant la suppression des tables, une petite démo que j'ai l'habitude de faire en formation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SQL> create table scott.demo
      2  tablespace users
      3  as select * from scott.emp;
     
    Table créée.
     
    SQL> alter tablespace users offline;
     
    Tablespace modifié.
     
    SQL> drop table scott.demo purge;
     
    Table supprimée.
     
    SQL> alter tablespace users online;
     
    Tablespace modifié.
    Cela illustre le fait qu'une suppression de table n'a pas d'effet physique sur la table, mais uniquement dans le dictionnaire de données (indirectement dans le tablespace SYSTEM). La table est alors réputée ne plus exister, et l'espace qu'elle occupait est déclaré réutilisable.

    Le mécanisme de corbeille introduit avec Oracle 10 n'a pas coûté grand chose : toute la "magie" consiste à stocker quelques métadonnées complémentaires lors de la suppression, telles que le nom initial de la table, ce qui fait qu'il est aisé de la récupérer.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  10. #10
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Effectivement, un salarié d'Oracle m'a confirmé que par défaut on pouvait voir les données de la base HORS de la base. C'est une erreur fréquente de croire qu'il faille passer obligatoirement par des ordres SQL pour les consulter : accès via Unix avec STRINGS, accès via le réseau (sniffage de paquets), accès via la mémoire avec un dump... ça fait beaucoup!

    Maintenant, la commande STRINGS se limite aux champs de type caractères; mais ça peut faire mal : numéro de CB (je les vois mal en Number), adresses mail... on peut récupérer des infos chaudes
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

Discussions similaires

  1. [OS X] [Bash 3] La commande "wc -l" ne donne pas le résultat attendu
    Par flamant dans le forum Shell et commandes POSIX
    Réponses: 10
    Dernier message: 08/11/2013, 10h55
  2. Affecter une donnée d'un tableau à une commande unix
    Par cisco.nat dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 07/06/2013, 15h46
  3. La commande shell iconv ne donne pas le bon charset
    Par moins52 dans le forum Linux
    Réponses: 1
    Dernier message: 21/07/2012, 14h54
  4. cherche commande unix pour éliminer les données communes
    Par astrolane dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 07/12/2009, 17h23
  5. Réponses: 2
    Dernier message: 19/02/2008, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo