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

  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 : 43
    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 : 43
    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 ?

  8. #8
    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 je sais mais 400 tables interrogées par 70 écrans de saisie et deux trois cents rapports et productions, on parle de 100 000 et plus de requêtes par jour à re-genérer et à analyser. C'est décourageant.

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    N'y a t-il pas moyen de ne reprendre que ce qui a été fait par les stagiaires ?
    Ce serait déjà un bon filtre, non ?

    Et puis dans le log des requêtes, vous allez pouvoir détecter les requêtes qui ne prennent pas en compte la compagnie, ce qui va aider à chercher le bout de code qui lance la requête fautive et la corriger.

    Bon courage :
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    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
    Tout revoir n'est pas possible.

    L'autre problème, c'est qu'on ne peut pas analyser les résultats de toutes les requêtes, car de toute façon, le No_cie n'étant pas pris en ligne de compte dans certains cas pour le lien, il ne sera pas retourné lors de la requête et donc invisible.

    Salut.

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, 16h44
  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, 20h36
  3. [Sécurité] Problème de sécurité
    Par donid dans le forum Langage
    Réponses: 4
    Dernier message: 02/03/2006, 11h07
  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, 22h08
  5. [Debutant] Problème de sécurité dans un applet
    Par peaceinpal dans le forum Applets
    Réponses: 3
    Dernier message: 09/09/2004, 21h56

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