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

JDBC Java Discussion :

[securité + DB MySql][DB] acces sécurisé


Sujet :

JDBC Java

  1. #1
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut [securité + DB MySql][DB] acces sécurisé
    Bonjour,
    je cherche un moyen d'accéder à un base de donnée MySql de façon sécurisée.

    Pour se connecter à la DB, il faut : l'url, le login et le password.
    Tous ces parametres sont située dans un fichier de config, qui est lu par l'application qui ce connecte à la DB.

    Le probleme est que le mot de passe apparait dans ce fichier et peut etre vu de tous. Cela meme si il est crypté, en effet, la clé de cryptage se trouvant dans une classe de l'aplication qu'il est possible de décompiler.

    ma question est simple : comment faire pour ne faire que seul l'application puisse se connecter (lire le fichier de config)vet pas une tierce personne?

    merci pour votre aide.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Tu risques d'avoir systématiquement ce problème à partir du moment où ce sont les postes distants et multiples qui accèdent directement à la base de données...

    Pour limiter les risques, et éviter d'avoir ce fichier de config à la portée de tout le monde, tu peux passer ta connexion par un seul poste, et faire une appli type client.serveur ou le client communique ses vélléités au serveur, et le serveur fait la connexion, avec le login et le mot de passe (eventuellement dans un fichier de config, mais avec l'avantage qu'il ne se ballade pas partout)...

    Sur le même type de raisonnement, tu peux aussi faire ta connexion en servlet, et faire une communication application/servlet, (ou Applet/Servlet...)

    Sur le même modèle, tu peux protéger l'accès à la base par pas mal de méthodes, (vérification d'adresse IP, mettre un login /password pour la connexion a la servlet, restreindre l'accès a ta servlet, etc...)

    Enfin, a la base, c'est de cette manière que je le ferais, maintenant, ton code est peut etre totallement ecrit... Ca nécessite quelques modifications...

  3. #3
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Si tu veux que ca soit le client qui fasse la connexion à la base et pas le serveur tu peux toujours faire une connexion avec le serveur qui lui te renverra le mot de passe ...

    Sinon le plus sécurisé est que ca soit l'user qui entre le passwd de connexion ... mais bon c'est pas intuitif ^^

  4. #4
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut
    merci, mais je pas acces a un serveur autre que celui de la base de donnée : ni serveur php ni autre.

    Sinon j'aurais pris l'idée de demander a un serveur les parametres de connexion.

  5. #5
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Tu ne pourras pas sécuriser à 100% ... admettons que tu aies encrypté le mot de passe et que tu le décryptes dans ton programme : même problème ... rien n'empêche quelqu'un de décompiler ton code et de décortiquer ton algorithme de décryptage.

    Apres tu peux protéger ton code contre la décompilation avec un obfuscateur (je ne m'en suis jamais servi) mais c'est pas protégé à 100%.

    Quoi qu'il en soit le meilleur moyen et que la personne rentre le mot de passe a la main ... sinon ca veut dire qu'il est stocké quelque part et qu'on pourra y accéder ^^

  6. #6
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut
    merci, je vais utiliser un obfuscateur , ce sera déjà ca. (je ne peut pas demmander à chaques utilisateurs de connaitre le mot de passe)

    Je laisse le post non résolu pour si jamais quelqu'un a une idée différente.

    Pour l'instant : les parametres de config sont dans un fichier qui est "crypté à la main" et les classes qui permettent ce cryptage sont "obfuscées".

Discussions similaires

  1. MySQL et accès natif
    Par zimonn10 dans le forum MySQL
    Réponses: 4
    Dernier message: 27/04/2009, 13h11
  2. Configuration de MySQL pour accès distant
    Par nyko_kliko dans le forum Installation
    Réponses: 2
    Dernier message: 19/08/2007, 09h53
  3. [Sécurité] [SGBD] [PHP/MySQL] Pb de session
    Par darkphenx dans le forum Langage
    Réponses: 3
    Dernier message: 19/05/2006, 11h02
  4. [MySQL] [SGBD] [MySQL] mysql_query acces refuse
    Par Sylvain245 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/01/2006, 12h36
  5. [Stratégie] MySQL embarqué / Acces sans serveur ?
    Par Rampa dans le forum Administration
    Réponses: 1
    Dernier message: 12/07/2005, 13h42

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