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 MySQL Discussion :

Problème de sécurité


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

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

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut Problème de sécurité
    Bonjour, voici mon problème :
    Je viens d'être engagé et je me suis rendu compte que l'une des applications que nous développons (MySQL) est une application multicompagnie. C'est-à-dire que dans chaque table de la base de données il y a un champ COMPAGNY_ID qui identifie la compagnie. Le problème c'est que plusieurs stagiaires ont travaillé sur cette application et certains ont développé du code sans se préoccuper de COMPAGNY_ID ce qui cause des problèmes lorsqu'une requête retourne des valeurs n'appartenant pas à la compagnie en cours.

    Moi je veux un genre de TRIGGER POST-READ qui intercepte toutes les lectures de chaque table et qui loggue dans un fichier toute requête qui retourne un enregistrement qui n'appartient pas à la compagnie en cours.

    Tout le code de suivi est dans ma tête et fonctionnera. Ce que je cherche c'est comment intercepter chaque lecture de la base de données.

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    un petit tour dans la doc ... : http://dev.mysql.com/doc/refman/5.6/...e-trigger.html


    Et vous comprendrez que ça n'est pas possible.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

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

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut Je comprends mais......
    OK, je comprends que les triggers s'appliquent en insert, update et delete mais il doit exister une façon de faire. Que ce soit au niveau du tunnel de communication, de la base de données elle-même, etc. On doit-être capable, étant DBA, de savoir ce qui est lu dans notre base de données. N'importe quelle suggestion sera étudiée.

  4. #4
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Comme solution, il y a aussi: activer les logs du serveur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SET GLOBAL log_output = "FILE";
    SET GLOBAL general_log_file = "/path/to/your/logfile.log"
    SET GLOBAL general_log = 'ON';
    Et ensuite les analyser.

    Mais pour moi la plus sûre est de faire la liste des tables liées à une compagnie et ensuite de faire une recherche de ces tables dans le code source. Car si une requête incorrecte n'est pas exécutée, elle ne sera jamais corrigée.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

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

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut Oui merci
    Oui les logs sont activés mais dans ces logs on ne voit que la requête et non pas les enregistrements lus.
    Peut-on avoir des logs plus complets ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Au niveau du SGBD ce n'est pas possible.


    Vous pouvez vous appuyer sur des applications tierces (proxy) afin de filtrer les échanges entre votre serveur et vos clients si ceux-ci l'utilise.

    Dans la même optique rajouter une couche au framework de votre application afin d'émuler ceci.


    A part ca je ne vois pas d'autre solution que de prendre le mal par la racine et de faire une retro-analyse de votre application...

  7. #7
    Membre chevronné
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Par défaut
    Citation Envoyé par Simon_Progi Voir le message
    Oui les logs sont activés mais dans ces logs on ne voit que la reuqête et non pas les enregistrements lus.
    Pqut-on avoir des logs plus complets ?
    A partir de la requête, on peut déduire les données qui sont lues... non ?

Discussions similaires

  1. Problème de sécurité avec MS Access
    Par jpduches dans le forum Sécurité
    Réponses: 2
    Dernier message: 13/12/2010, 15h44
  2. [MS SQL Server 2000] problèmes de sécurité et sauvegarde
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/03/2006, 19h36
  3. [Sécurité] Problème de sécurité
    Par donid dans le forum Langage
    Réponses: 4
    Dernier message: 02/03/2006, 10h07
  4. Problèmes de sécurité Acces-ADO
    Par digital prophecy dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/03/2005, 21h08
  5. [Debutant] Problème de sécurité dans un applet
    Par peaceinpal dans le forum Applets
    Réponses: 3
    Dernier message: 09/09/2004, 20h56

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