CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Avis sécurité site web

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 16:18:06

:salut:

Je développe actuellement un site de news amateur, et j'aurais besoin d'avis sur la partie sécurité de mon site.
J'ai déjà développé quelques tout petits sites dynamiques et statiques, mais aucun n'ayant réellement eu besoin d'une sécurité, à part des captcha et des verifications de formulaires.

Voici un petit résumé de ce que je souhaite faire :

La partie admin sera une page de gestion des news qui permettra l'ajout, la modification ou la suppression de news de la base de donnée.

sauvegarde de comptes admin (via l'interface admin en étant connecté en tant qu'admin principal):
- l'admin entre son login et son mdp qui seront chiffrés pendant le transfert vers le serveur grâce à un certificat ssl gratuit (startssl).
- sur le serveur, un sel aléatoire est généré avec le PRNG openssl_random_pseudo_bytes.
- le mot de passe est concaténé avec le sel aléatoire et l'ensemble est hashé (sha256) avec 1000 itérations, le hash est stocké avec le sel dans la bdd.

connexion a l'interface de gestion :
- l'admin entre son login et son mdp qui seront chiffrés pendant le transfert vers le serveur grâce à un certificat ssl gratuit (startssl).
- le serveur génère le hash à partir des sels de la bdd et le compare avec tous les hash de la bdd.
- Si deux hash correspondent le serveur définit une variable de session qui contiendra le niveau de permission autorisé pour avoir accès à la page admin.

- La page admin vérifie la valeur de la variable de session avant de permettre l'accès a la bdd.

J'aurais voulu avoir votre avis sur ma façon de faire, et s'il y aurait d'éventuelles grosses failles dans cette méthode.

Merci d'avance.

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 18:11:36

Un peu de code donné et hébergé sur http://pastebin.com ne serais pas de refus pour mieux comprendre ton problème.

Moi j'ai un site sécurisé qui en plus de demander un login et un pass demande un captcha de sécurité.
En as-tu fais un ?

De plus, tu dis :

[...] et l'ensemble est hashé (sha256) avec 1000 itérations [...]

1000 itérations, c'est quoi ? Tu re-hash 1 000 fois le code en sha256 ?
Un peu de code pour éclaircir cette partie ne serais pas de refus.

Si tu veux un exemple de site bien protégé avec connexion via captcha (mais sans SSL) tu peux toujours voir mon site :

http://www.xyor.altervista.org

Screen :

https://image.noelshack.com/fichiers/2015/05/1422378674-captusssssssssssssssre.png

Bonne continuation :)

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 18:36:53

Merci pour ta réponse,
Pour le captcha j'ai oublié de le préciser mais je compte bien en faire un.

Et pour les itérations en gros :
- je génère le hash à partir du password + sel avec sha256.
- je regénère le hash à partir du hash précédent et ceci 1000 fois d'affilée pour ralentir les attaques bruteforce.

voici le code de mes deux fonctions (hash et vérification du hash) : http://pastebin.com/sgNkMD5t

Et merci pour le lien je vais regarder ça. :oui:

Message édité le 27 janvier 2015 à 18:37:39 par Nouveau_Compte
Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 19:07:51

Hasher 1 000 fois ta fonction ne rend pas la sortie plus sécurisée.

En fait, tu créé plus de collisions qu'autre chose.

Une seule fois suffit, fait confiance à ceux qui ont créé ces algorithmes.

Car en hashant plusieurs fois, tu hash à la fin une chaine plus petite qu'avant qui est plus simple à bruteforcer.

Hasher une fois est suffisant et mieux sécurisé que plusieurs fois.

De plus en utilisant un bon salt tu ne risques rien.

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 19:49:40

Source ?

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 19:50:51

https://image.noelshack.com/fichiers/2015/05/1422384643-captusssssssssssssssre.png

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 19:52:43

Tu trouveras toutes les infos ici :

http://php.net/manual/fr/faq.passwords.php

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 19:54:42

https://image.noelshack.com/fichiers/2015/05/1422384871-captusssssssssssssssre.png

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 19:55:24

Si tu veux que ton hash 1 000 fois soit efficace donne un sel à chaque nouvelle fois que tu hash

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 20:06:18

Merci pour vos réponses,
En fait ce que je ne comprends pas très bien, même si il n'y a plus de sel et que le dernier hash est faible, l'attaquant ne devrait pas avoir quand même à remonter toute la pile de hash jusqu'au premier hash qui est lui, plus sécurisé?
En faisant ça je ne voulait pas que le hash en sortie soit sécurisé mais plutôt que le temps pour remonter la pile de hash soit trop longue pour récupérer le vrai mot de passe.

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 20:23:15

Ouais, et à côté de ça on fait un curl -i -X SEARCH sur ton site et on a accès à tout.

J'pense qu'il faut commencer par la base, à savoir un système sécurisé. :sarcastic:

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 20:25:49

Et dernière question désolé :p)
tous les hash sont pas censés être identique niveau sécurité? vu que la fonction est à sens unique et que tous les hash font la même taille? le sel sert pas juste a éviter la correspondance du hash avec un mot existant non?
Merci.

Message édité le 27 janvier 2015 à 20:29:37 par Nouveau_Compte
Flamenca
Flamenca
Niveau 10
27 janvier 2015 à 20:37:27

hasher plusieurs fois ne rendra pas ton mot de passe plus sécurisé il me semble (apres je peux me tromper mais en sha256 il est + sel il est difficile de brute-forcer en temps raisonnable).

Ton petit manege me semble efficace mais si ton site regorge de faille SQL et XSS cela revient a mettre une porte blindé sur une maison de paille... :ok:

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 20:42:25

C'est surtout qu'à tous les coups son sige doit utiliser un AMP standard. Et non pas un systeme complet homemade.

Si tu veux un truc sécurisé, faut donner le moins d'infos possible,
Éviter de laisser apparaître les Powered by: PHP 5.X
Éviter les Server: Apache

Et désactiver cette putain de fonction SEARCH :noel:

dark_drow
dark_drow
Niveau 15
27 janvier 2015 à 21:16:45

un article cool sur sof http://stackoverflow.com/questions/348109/is-double-hashing-a-password-less-secure-than-just-hashing-it-once

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 21:16:47

Merci beaucoup pour les explications :-) J'avais un peu saisi l'idée mais j'étais pas sûr sur certains points, en particulier le salage :p)
Et GouKen91 j'ai apache et postgres mais je n'ai pas d'AMP du genre wamp, je me suis pas penché en profondeur sur la configuration du serveur apache mais je verrais ça en détail plus tard.

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 21:24:11

A = Apache
M = MySQL
P = PHP

2/3 :hap:

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 21:27:49

un AMP, c'est pas un logiciel qui regroupe les trois, ou j'me trompe? :p)

Pseudo supprimé
Pseudo supprimé 27 janvier 2015 à 22:29:41

Non c'est juste l'acronyme

Nouveau_Compte
Nouveau_Compte
Niveau 12
27 janvier 2015 à 22:34:33

Je suis pas un professionnel^^ je saurais pas créer mon propre serveur sans utiliser un serveur pré-construit genre apache, ça doit être limite plus complexe que le hash d'un mot de passe.

Message édité le 27 janvier 2015 à 22:36:24 par Nouveau_Compte
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment