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 :

utilisateurs et sécurité


Sujet :

Administration MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut utilisateurs et sécurité
    Bonjour

    je suis en train de mettre au point un petit site gerant des niveaux d'utilisateurs différents donc avec des droits différents (5niveaux )sur la base MYSQL.

    J'ai à ce jour une table avec tous mes utilisateurs et leurs mots de passe et un niveau, dans ma base.

    A la connexion je l'identifiant et le mot de passe avec cette table, puis utilise un utilisateur (exempleUSER0, pass) créer avec GRANT pour effectuer mes requetes. J'ai donc le même utilisateur pour un niveau de droit donné.



    Avec ce système, celà implique que dans mes pages php, l'utilisateur USER0 et son mot de passe sont en clair.

    Le problème est : en cas de récupération des page php la personne connait les utilisteurs et mots de passes.

    La question est donc la suivante :

    Faut il créer tous les utilisateurs de cette base avec GRANT, mais pour administrer les droits il faut être ROOT sur la base.
    Cependant dans le cas d'un hébergeur payant nous ne disposons pas de la possibilité de créer plusieurs utilisateurs.

    Ou bien y a-t-il une autre solution.

    Alors que faire pour limiter les risques.

    PS: comment sont gérer en général les utilisateurs dans les sites avec authentification.




    J'espère poster au bon endroit et être clair.

    Merci de vos contributions.

    François BILLARD.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 277
    Points : 11 733
    Points
    11 733
    Par défaut
    Je dois reconnaître que je n'ai rien compris

    Tu dis que tu as plusieurs utilisateurs, et peu plus loin que ton hébergeur ne t'en donne qu'un seul... faudrait savoir ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut compléments d'informations
    je m'en doutais pour la clarté, mais il est difficile d'être clair et court.

    J'ai en local un site avec une base B1, avec 5 utilisateurs créés possédants des privilèges différents sur les tables de B1.

    Dans cette base B1, j'ai une table "UTILISATEURS" contenant l'identifiant, mot de passe, droits des personnes utilisants le site.

    Quand quelqu'un se connecte sur le site et s'authentifie , je me connecte à la base B1 via un utilisateur de B1 avec seulement les privilèges de "SELECT" sur la table "UTILISATEURS" pour vérifier la validité de l'identifiant et du mot de passe saisie.

    Puis en fonction des options auxquelles cette personne à droits, j'utilise pour les connexions suivantes à la base B1 un autre utilisateur de B1 avec les privilèges adaptés.



    Exemple :
    l'administrateur des données de la base, se connecte au site avec un identifiant admin, et utilise l'utilisateur u4 de B1 avec beaucoup de privilèges pour les intervention sur la base B1.

    Un personnel se connecte au site avec un identifiant perso, et utilise l'utilisateur u2 de B1 avec peu de privilèges pour les intervention sur la base B1.

    Ceci me permet de limiter les tentatives de connexion à trois essais en une heure, puis de réautoriser les essais après.

    Du coup toutes les personnels possèdent des identifiants et mots de passe différents dans ma table "UTILISATEURS" de B1, mais utilise toujours le même utilisateur avec les même privilèges de B1 pour agir dans B1.

    Questions :

    Est ce une bonne solution car mes utilisateurs U1, et U4 sont en clairs dans un fichier PHP.
    Ou bien dois je transferer tous les utilisateurs du site comme étant des utilisateurs de la base de données B1, avec chacun leurs privilèges.

    A ce jour cette dernière solution ne me semble possible que si l'on possede sur la base B1, un utilisateur admin possédant les droits de GRANT sur B1. Avec un serveur MYSQL sur lequel j'ai la main c'est possible. cependant qu'en est il si le serveur est géré ailleurs.

    PS :j'ai pour des besoins perso un site avec une base de données et le fournisseur ne me permet qu'un seul utilisateur.

    Merci d'avance.

    François BILLARD.

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 277
    Points : 11 733
    Points
    11 733
    Par défaut
    Bon, j'y vois un peu plus clair. Il y a plusieurs questions là-dedans.

    Tout d'abord, ton site en local. L'un des problèmes de MySQL est qu'il ne permet pas de créer de groupes ou de rôles pour les utilisateurs. Tu as trouvé une solution plutôt élégante à ce problème. Si tu veux en améliorer la sécurité, tu peux mettre tes utilisateurs U1, U2... comme une colonne supplémentaire de ta table UTILISATEURS ; tu peux également y crypter les mots de passer avec par exemple SHA1().

    Pour ce qui concerne maintenant ton site chez un hébergeur, tu es complètement bloqué par la limite d'un seul utilisateur non administrateur. Ta seule possibilité est de gérer intégralement la sécurité en PHP.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci pour les remarques et conseils, je vais donc continuer dans ce sens.

    Cordialement

    François.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] table utilisateur et sécurité
    Par redoran dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 04/01/2012, 13h42
  2. Réponses: 18
    Dernier message: 13/04/2007, 13h48
  3. Enlever ma sécurité utilisateur... Comment faire?
    Par beletteroi dans le forum Sécurité
    Réponses: 1
    Dernier message: 07/12/2005, 00h33
  4. Réponses: 4
    Dernier message: 18/10/2005, 10h54
  5. Réponses: 1
    Dernier message: 14/09/2005, 12h22

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