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écurité] Sécuriser efficacement un site


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut [Sécurité] Sécuriser efficacement un site
    Voilà, j'ai un petit jeu PHP qui tourne depuis plusieurs moi maintenant avec environ 150 - 200 utilisateurs / jours, mais voilà que cette nuit, j'ai eu droit à la 1er tentative de hack réussie...

    Le hack en question, c'est quelqun qui a réussi à se connecter avec le compte d'un autre... Comment il a fait, j'en sais rien, et je cherche encore.

    Quiqu'il en soit, je soupsonne évidemment un problème de cookie voir de récupération d'ID de session...

    Je me proposais donc d'ajouter la sécurité suivante : je stock en session l'IP de la machine au moment du login, et a chaque rafraichissement de page, je test si $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']

    Avant d'implémenter ça, je voudrais avoir vos avis, et surtout, je voudrais m'assurer que (contrairement aux sessions) la variable $_server sera bien remise à jour à chaque rafraichissement de la page (a prioris, je suppose)...

    En vous remerciant par avance

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    oui, ca sera mis a jour mais... si ton utilisateur a AOL pour FAI... ou si il passe par un reseau d'entreprise assez important pour avoir plusieurs proxys de sortie, l'adresse IP peut etre différente pour chaque page chargée.

    Je te conseille plutot de mettre un timeout sur tes sessions et d'inviter tes utilisateurs a se "deconnecter" proprement. S'ils ne se deconnectent pas, le cookie de session restera actif jusqu'au timeout, et c'est a leur risque et périls si quelqu'un d'autre se connecte sur le site ensuite depuis le meme PC.

    Autre source de vol d'ID de session :
    * copier / coller de l'url avec l'ID de session dedans (la faute a l'utilisateur)
    * faille dans ton site qui permet par Cross Site Scripting de récuperer le cookie contenant l'ID de session (ta faute ET la faute de l'utilisateur qui clique n'importe ou)

  3. #3
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    Merci pour ta réponse !

    * copier / coller de l'url avec l'ID de session dedans (la faute a l'utilisateur)
    * faille dans ton site qui permet par Cross Site Scripting de récuperer le cookie contenant l'ID de session (ta faute ET la faute de l'utilisateur qui clique n'importe ou)
    J'ai deja pris contact avec l'utilisateur qui s'est fait hacké, et il m'assure n'avoir cliqué sur aucun lien suspect. Si je ne m'abuse, la 2e methode dont tu parles est bien celle consistant à utiliser une faille genre dans le BBCode pour placer un javascript qui va renvoyer le cookies a une adresse données !?

    Concernant le timeout, le hack à eu lieu a 4h du matin, l'utilisateur ne s'étant donc pas connecté depuis plusieurs heures ! or, mon timeout est a 24 minutes... Je ne pense donc pas que le réduire d'avantage va régler le problème

    EDIT : question droit également... J'ai demandé au hacker de bien vouloir m'indiqué la faille qu'il a exploiter pour réussir ceci... Il a simplement ignoré mon mail, j'en déduit donc que ce n'est pas un hacker (qui respecte une certaine éthique) mais un cracker (qui est la pour exploiter des données et rien d'autre, ce qu'il a fait)... Je compte donc déposer une plainte contre l'interessé, et je souhaiterais savoir quelles sont les chances que cela aboutisse sachant que le gars est un francais, que j'ai son IP, je sais qu'il est chez wanadoo et que le site qu'il a hacké est un site "perso", ou du moins sans but lucratif (Mon but n'est pas de faire du fric, mais juste lui faire passer l'envie de recommencer).

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    peut etre ton timeout ne fonctionne t'il tout simplement pas ;o)
    => a tester donc !

    Autre solution : est-ce sur qu'il s'agit d'un piratage de session ? pas un simple vol de mot de passe / attaque par force brute ?

    Pour la solution juridique : oui, si tu as l'IP tu peux attaquer, mais si il n'y a aucun préjudice chiffrable (ce qui n'est pas le cas je pense) il n'y a pas grande chance que ca aboutisse. Tu peux tout de meme envoyer l'info (que tu porte plainte) a ton hacker, a moins qu'il te dise comment il a fait, n'hesite pas a insister, en général ils aiment se vanter de leurs exploits ces gens là, meme les plus méchants ;o)

  5. #5
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    Pas de certitude pour le vol de mot de passe brute. JE me suis aussi renseigné aupres qu hacké pour être sur de ce qu'il a fait ou pas fait de son mot de passe :

    j'ai jamais refilé mes mails et mes mots de passe à quiconque (sachant que mes mots de passe comportent à la fois des lettres, des chiffres et des caractères spéciaux)
    Sachant que les mdp sont bien cryptés en MD5, que j'impose une taille mini de 6 caracteres pour les mdp, je pense pouvoir exclure cette hypothèse.

    Concernant le timeout, j'ai peut être mal compris... Moi, je parle du timeout du php.ini. Apres le hack, j'ai bien entendu vérifier mes parametres dans le ini, et ce dernier etait a 1440 secondes.

    Le stockage des sessions se fait en fichier, le répertoire de stockage /tmp (donc 777) ce qui constiturai bien une faille de sécurité si ce n'était pas un serveur dédié (donc là, 1 seul utilisateur, moi). Par acquis de conscience, je vais changer le repertoire et limiter les droits, mais bon...

    Parlais tu bien du même timeout ou pensais-tu a un timeout fait maison ?

    Sinon, pour le juridique, ce genre d'action est passible d'emprisonnement (3 ans je crois)... A defaut de subir un réel préjudice financier qui ne peut donc donner lieu a des dommages et interets, je préfèrerait faire miroiter l'option emprisonnement en punition pour l'esprit "malveillant" de ses actes...
    Ensuite, j'avous que ça me fait chier de lancer une action en justice pour si peu, mais si autant j'ai un profond respect pour les hacker, c'est très différent pour les cracker !

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    bon, deja :

    * le timeout il faut que tu le teste, ce n'est pas parce que c'est parametrable que c'est implémenté correctement par la version de php, et j'ai deja vu des sessions durer plus longtemps que prévues a cause d'autres mauvais parametrages
    * 6 caracteres n'est PAS suffisant. 6 caracteres peut etre cassé en force brute facilement. On estime aujourd'hui qu'un mot de passe doit faire un minimum de 8 caracteres pour que le cassage par force brute prenne trop de temps (meme si ca reste possible, ca doit etre de l'ordre de 3 mois a plein temps avec un gros ordi maintenant (je donne ce chiffre de 3 mois au hasard, mais il me parait cohérent))

Discussions similaires

  1. Comment sécuriser efficacement le site Internet d'une banque ?
    Par Katleen Erna dans le forum Actualités
    Réponses: 40
    Dernier message: 23/12/2009, 16h51
  2. [Sécurité] Sécuriser la partie administration d'un site
    Par Metallic-84s dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2007, 23h48
  3. [Sécurité] sécuriser les données d'un site
    Par lodan dans le forum Langage
    Réponses: 10
    Dernier message: 20/07/2006, 12h26
  4. [Sécurité]sécuriser un PC
    Par bilb0t dans le forum Administration
    Réponses: 6
    Dernier message: 15/09/2005, 15h20

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