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

Langage PHP Discussion :

Sécuriser une connexion à un serveur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Par défaut Sécuriser une connexion à un serveur
    Bonjour,
    je cherche à sécuriser une connexion client/serveur.
    Voici mon problème:
    j'ai un client qui doit se connecter à un serveur 1, qui le redirige après authentification vers un serveur 2.

    Je cherche un moyen de sécuriser la connexion du client vers le serveur 2 afin d'éviter que par un simple copier/coller, un intrus puisse accéder au serveur 2 sans passer par le serveur 1.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Par défaut
    Tu peux être un peu plus précis ?

    Si je comprends bien sur le serveur N°1 tu puise t'identifier grâce à une page PHP puis rediriger le type vers un second serveur, seulement sur le second serveur tu n'a aucune preuve a priori que le membre est bien passé par le premier...

    Est-ce que le second a acces à la base de donnée, ou quoi que ce soit qui lui permette à lui même de tester l'identité du membre ?

    Est-ce qu'il s'agit d'une simple identification ou d'une identification multi-compte ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Par défaut
    Salut GregWar,
    La problématique de mon problème est celle que tu as exposé:
    " sur le second serveur tu n'a aucune preuve a priori que le membre est bien passé par le premier... "

    Il me faut trouver un moyen pour faire en sorte que le client ne puisse pas accéder directement au serveur n°2.

    Pour le moment, j'ai une communication à double authentification entre le client et le serveur 2; càd que le client saisit son nom et mot de passe pour se connecter au serveur 1 et puis il doit le ressaisir une nouvelle fois pour se connecter au serveur 2; et là justement je veux enlever cette 2ème authentification pour que le 2nd serveur sache que l'utilisateur est celui qui s'est logué précédemment.

    Un système de base de données pourrait être un bon choix pour que le serveur 1 et le serveur 2 puissent interagir en fonction du client.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Par défaut
    Que pense tu de ça:

    Tu écris une fonction telle que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function magic_hash($str) {
    return sha1("aiQoaPdmalFiquENaGpaoQL".$str);
    }
    (La longue chaîne est arbitraire et doit rester secrète). Tu implante cette simple fonction sur tes deux serveurs, et lors du passage du serveur 1 au serveur 2 tu passe une chaîne dans l'URL du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?user=(pseudo de l'user)&hash=(magic_hash(user))
    Ainsi le mot de passe ne transit pas en clair mais si le serveur 2 veut le checker il n'aura qu'à vérifier que le hash donné en get est bien équivalent à magic_hash(user).

    Notons que la connaissance magic_hash(user) serait déja une preuve puissante que le client est passé par le serveur 1, car le serveur 1 refusera de calculer cette valeur si il n'est pas identifié, et que si un client voulait calculer le hash il serait obligé de connaître la chaîne secrète de la fonction citée ci dessus.


    En attendant si quelqu'un intercepte l'URL de login au second serveur (le hash pour un user) il pourra quand même s'identifier sur le compte d'une autre personne avec juste ce système (si tu veux absolument une parade à ça on peut en mettre une en place facilement :p). Mais il sera impossible pour quelqu'un de s'identifier sur le compte d'une personne arbitraire (de falsifier l'utilisateur)


    Enfin bref je pense que tu as pigé le principe, n'hésite pas à répondre si tu trouve ça peu satisfaisant

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/12/2010, 11h39
  2. Aide pour une connexion à sql serveur 2005 via Delphi 7
    Par fabpan dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/11/2009, 20h52
  3. Aide pour une connexion à sql serveur 2005 via Delphi 7
    Par fabpan dans le forum Développement
    Réponses: 0
    Dernier message: 10/11/2009, 15h56
  4. Fermeture d'une connexion à un serveur SQL
    Par webworker dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/05/2007, 12h55
  5. [Sécurité] Sécuriser une connexion à un PHP
    Par hach22 dans le forum Langage
    Réponses: 7
    Dernier message: 03/02/2007, 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