grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 12 avril 2007 - 09 h 52 m 36 s |
|
|
Bonjour,
Voila, je me lance sur un projet déjà engagé il y a 2 ans que j'avais mis de côté, je le relance donc aujourd'hui en le recréant de zero.
Pour ce projet, j'ai un admin, qui doit être sécurisé, hors cette fois j'ai l'intention de pousser la sécurité au max de ce que je peux raisonnablement faire.
Donc aujourd'hui ma problématique est la suivante : comment ?
Jusqu'à maintenant, j'utilisais les sessions principalement, ce qui a beaucoup d'avantages, mais qui n'est pas infaillible. D'autre part, par exemple, je ne cryptais pas un mot de passe de login avant l'envoi ce qui là aussi n'est pas franchement secure.
Donc j'ai plein de petites choses à améliorer sur tous ces points. J'aimerais connaître cotre avis sur les différentes méthodes à mettre en oeuvre.
Typiquement, actuellement pour mon login, je compte afficher un form classique login / pwd, avec 3 essais, puis au 4ème un captcha s'affiche. Au bout de 4 validations infructueuses, log de l'IP et interdiction d'accès.
Pour cela, ma 1ère question est la suivante :
On peut encoder le pwd en md5 ou en sha1, quelle méthode privilégier et pourquoi ?
Ensuite, concernant la sécurisation des sessions, pensez vous qu'il faille adjoindre une base de données gérant également les sessions ou est ce superflu ?
Si vous avez d'autres idées plus globales bien entendues, elles sont les bienvenues.
Merci d'avance,
Oliv
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 12 avril 2007 - 09 h 53 m 14 s |
|
|
Autre question : quelqu'un a t'il tenté de regénérer des .htaccess à la volée ???
|
|
| |
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 14 avril 2007 - 01 h 40 m 34 s |
|
|
tiens lol moi je dev un site multi modules et pour la couche sécu j'utilise un mélange de session et de num d'identification généré à chaque session (oui ca fait un peu redondant) et ma couche sécu est appellée à chaque requete et appelle une fonction qui vérifie la bonne forme de la clé (le num généré à chaque session) et sa validité avec un cryptage (comparaison de 2 clés)... un peu à la manière d'un vpn, enfin en plus simple ^^
par contre j'évite les accès redondant à la bdd, l'identification doit se faire 1 seule fois pas besoion d'aller verif à chaqe requete sur le serveur web.
enfin, oui aucun soucis pour générer un htaccess à la volée, suffti juste que le script ai les droits sur ce fichier
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
moinal
Messages : 127 Inscrit le 12/03/05
Ville : Aix en provence
Non connecté
|
|
Posté le 14 avril 2007 - 14 h 04 m 05 s |
|
|
>>On peut encoder le pwd en md5 ou en sha1, quelle méthode privilégier et pourquoi ?
Sha1 plutôt que md5 car plus sécurisé.
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 15 avril 2007 - 09 h 42 m 32 s |
|
|
ah !!! dla reponse 
deja merci a vous deux 
moino jte met pas de pommade on se connait assez, merci de m'avoir precise que t'avais repondu car j'etais pas revenu voir le topic...
loading > ton histoire d'identifiant m'interesse, je vais essayer de te redetailler le truc pour que tu completes, quelques petites choses m'echappent...
donc imaginons la page de login... le type entre son user / pwd pour se logger. ensuite, donc tu demarres ta session de facon classique.
peux tu m'expliquer comment tu geres la crea et le comparatif de ce fameux numero d'identification ?
est ce que ton num d'identification cree est le resultat de la fonction ? ou est ce un nombre aleatoire traite par une cle au sein de ta fonction ?
ta fonction est une classe en fait non ?
dernier point concernant l'utilisation ou pas du sgbd, disons que moi aussi j'ai ete un peu surpris en decouvrant ca..., mais force est de reconnaitre que cela permet un niveau plus important de secu, enfin sur le papier... j'ai un tuto pas mal a ce sujet :
http://cyberzoide.developpez.com/securite/session/
derniere question : tu dis que l'ident se fait une seule fois, ca ok, mais ca veut dire que tu ne verifies plus a chaque nouvelle page affichee via ta fonction ? dans ce cas, hormis le login, et dans la mesure ou tu ne reutilises plus ta classe, est ce que cette solution peut prevenir efficacement l'usurpation de session ?
moino > oui 40 bits contre 32 mais ca reste une taille, qu'apporte sha1 de plus par rapport a md5 concretement ? t'as une idee ?
merci pour vos reponses en tout cas, je suis tres interesse par le sujet et il va falloir que je me lance assez rapidement...
oliv
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 16 avril 2007 - 14 h 43 m 32 s |
|
|
bon alors pour ceux que ca pourrait interesser, voici mes choix :
- encodage des pwd en SHA-1, stockage du hash en base en char
- utilisation de mysql5 + php5 car j'arrive pas a recompiler php sur cette foutue release ovh de merde !!! donc pas de postgres, si quelqu'un connait une feinte je veux bien...
- utilisation de PEAR::MDB2 a la place de PEAR::DB
des que j'ai boucle l'histoire du cryptage pour l'auth (grosse phase de test et redaction des fonctions necessaire ulterieurement...), je passe aux sessions secure.
++
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 17 avril 2007 - 11 h 49 m 51 s |
|
|
alors l'actu de l'actu !
bon du coup hier soir g lu que sha-1 etait craque, du coup chui passe en sha-256 qui lui n'est pas (encore) cracke, par contre j'ai aussi lu que la methode de crack utilisee pour peter sha-1 pourrait etre reutilisee avec peu de modif pour sha-256....
du coup je recherche, si vous avez ca sous la main, un .js permettant de crypter en sha-512 mini, ca devrait deja calmer les ardeurs de certains !!!
pour l'instant je suis en sha-256, j'ai le .js qui va bein si ca interesse quelqu'un 
cote php, version 5.1.2 mini (ou 5.1.4 je sais plus) pour le support de la nouvelle fonction "hash". a noter pour ceux qui font du sha-1 qu'il est preferable et plus economique en terme de ressources de passer via :
1. $crypt_var = hash('sha1', $my_str);
plutot que via :
1. $crypt_var = sha1($my_str);
voila voila ! si vous avez du encore plus secure, j'achete !
ou kil est le loading ? jamais la quand on a besoin de lui suila
|
|
| |
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 17 avril 2007 - 12 h 13 m 07 s |
|
|
lol dsl, je m'occupe de préparer la réponse ^^ (et du coup dévoiler ma méthode  )
au sujet du cryptage, le sha étant réversible et le md5 ne l'étant pas, c pas mieux justement le md5 ? comment est-il crackable sinon ??
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 290 Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
|
|
Posté le 17 avril 2007 - 12 h 14 m 56 s |
|
|
En fait, il n'est pas crackable (dans le sens tu ne peux pas réussir a décrypter le message) mais il est possible de trouver une empreinte identique a une autre empreinte... par contre c'est plus dur si tu veux trouver un mot ou une phrase qui donne une empreinte donné. Donc dans ce cas je pense que md5 est suffisament sécurisé.
|
|
| |
Totalement inutile, donc completement indispensable 
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 17 avril 2007 - 12 h 15 m 37 s |
|
|
bon rapidement pour grabber au sujet de la sécu:
d'un coté j'ai la session php et de l'autre une clé générée à chaque identification (login/mdp) et que je transmet par l'url, si la session ou cette clé manque bah le site se ferme.
evidement c pas l'idéal non plus mais le principe n'est pas non plsu de balancer la mm clé à chaque page, faut faire un algo qui chnage la clé à chaque page... ^^
c plus clair ou pas ?
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 17 avril 2007 - 12 h 36 m 36 s |
|
|
Le 17 avril 2007 - 12 h 14, Woofy a écrit :
En fait, il n'est pas crackable (dans le sens tu ne peux pas réussir a décrypter le message) mais il est possible de trouver une empreinte identique a une autre empreinte... par contre c'est plus dur si tu veux trouver un mot ou une phrase qui donne une empreinte donné. Donc dans ce cas je pense que md5 est suffisament sécurisé.
|
oui à mon avis faut plutot obliger les utilisateurs à chosiir un mdp complexe peut etre ne fesant appel à un dico ^^
à mon avis bien utilisé le md5 fait très bien l'affaire, si en plus tu le combien avec de bonnes pratiques je pense que c quasi inviolable à ce niveau...
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 17 avril 2007 - 12 h 40 m 15 s |
|
|
ah j'oublais grabber, au sujet du md5 et de ma sécu: en fait le passe qui est justement comparé comme le dit woofy au md5 de la base n'est pas le vrai md5 du vrai mdp !
en fait je recup le md5 du mdp de la base, je rajoute un algo, je le md5 et je fais la mm chose avec le passe saisi dans le formulaire d'identification... du coup mm si un cracker arrive à choper le md5, du moins à trouver à quoi il correspond, il ne pourra pas s'en servir directement... il devra aussi trouver l'algo ^^
j'ai posé d'autres vérrous mais comme g pas le truc sous les yeux ca me revient au fur et à mesure
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 17 avril 2007 - 13 h 29 m 18 s |
|
|
hello,
merci pour vos reponses les gars 
alors jvous repond vite fait de chez moi on verra ca cet aprem si ca vous derange pas
donc mon choix de ne pas prendre md5 est pour les raisons qu'expliquaient woofy a savoir que c'etait petable, et meme assez facilement d'apres ce que j'ai lu sur le net.
ensuite, le sha-1 est nettement plus secure, 160 bits contre 128 bits pour le md5, et le crypt est plus complexe.
en revanche, j'ai aussi lu que sha-1 avait ete pete aussi !!!! du coup, dans mes recherches, j'ai trouve plein d'autres crypt dispos (c pas ma specialite...) cote php mais le probleme est qu'il faut aussi trouver le pendant en javascript pour l'encodage du login "pre-$_POST" (  ), et comme c pas bibi qui va s'y coller, ben voila ! je suis oblige de faire avec ce que j'ai
pour l'instant j'ai trouve la lib js pour sha-256, je cherche mini donc du sha-512.
soyons clair, mon appli ne va pas interesser les hackers... le md5 conviendrait parfaitement... mais comme j'avais fait une 1ere version il y a quelques temps et que je recommence from scratch cette nouvelle version, je tache d'y apporter tout ce que je peux de mieux qu'avant. le coup du crypt, c'est plus pour le fun qu'autre chose... le defi c'est sympa parfois
voici la page qui m'a servi de source et de base de depart dans mes recherches :
http://pajhome.org.uk/crypt/md5/index.html
jetez un oeil c interessant
il y a aussi les libs javascript a downloader direct 
j'ai fais des tests hier soir et tout est ok, correspondance parfaite php / js
a ce propos, si vous connaissez un site ou on pourrait recup ce genre de lib mais en version "officielle" (enfin si ya quelque chose d'officiel dispo bien sur...) ca m'interesse bien entendu.
je vous invite aussi pour ceux qui ont php 5.1.4 (ou 2 chai tjrs pas !), a consulter la doc php de la fonction hash, elle renvoit aussi un tableau de tous les crypts possibles direct ! y'en a une vingtaine, et moi... ben j'en connais 3 ou 4 ! vive les ignares... c'est la ou tu te sens con !!!
loading, je regarde de + pret cet aprem ton truc, mais ouais ca me parait pas mal, fo voir, jvais regarder de plus pret, la g lu en travers... le coup du passage d'arg dans l'url me stresse un peu au 1er abord mais bon... fo s'adapter ! pis ca fe bien un param "key" dasn une url ! ca fait pro hein comme on dit !!!!!
++ et merci encore de vos remarques, n'hesitez pas a participer et a me proposer vos idees, je suis ouvert a toute solution : propre / optimisee / performante / securisee  (c tout !)
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 17 avril 2007 - 13 h 34 m 09 s |
|
|
question con, j'ai pas cherche...
si je colle mon fichier js dans un dossier et que jy colle le htaccess kivabien sachant que je veux que personne puisse download ce js (surtout les autres d'ailleurs...), c possible ?
ben non chui con, laissez tomber j'ai la reponse... de tte facon c'est telecharge sur le poste alors de toute maniere c'est mort !!!
trop bien le coup du question reponse, pour ceux qui s'emmerdent chez eux le soir, passez me voir jvous explik les regles et jvous jure qu'il y a moyen de se marrer tout seul !
|
|
| |
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 17 avril 2007 - 14 h 08 m 16 s |
|
|
Le 17 avril 2007 - 13 h 29, grabber a écrit :
loading, je regarde de + pret cet aprem ton truc, mais ouais ca me parait pas mal, fo voir, jvais regarder de plus pret, la g lu en travers... le coup du passage d'arg dans l'url me stresse un peu au 1er abord mais bon... fo s'adapter ! pis ca fe bien un param "key" dasn une url ! ca fait pro hein comme on dit !!!!!
|
en fait ce qu'il faut bien comprendre c que cette clé, n'est pas le md5 du pass, n'est pas un élément de la session, elle sert juste à vérifier que la page est bien appellée par la page d'avant, donc du mm gus, donc en soit cette clé ne met en joue aucune sécurité...
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
Loading
Coordinateur
http://www.lhdl.fr
Messages : 5 066 Inscrit le 21/09/02
Ville : Bourgoin(38) - Belley(01)
Non connecté
|
|
Posté le 17 avril 2007 - 14 h 29 m 46 s |
|
|
Le 17 avril 2007 - 13 h 34, grabber a écrit :
question con, j'ai pas cherche...
si je colle mon fichier js dans un dossier et que jy colle le htaccess kivabien sachant que je veux que personne puisse download ce js (surtout les autres d'ailleurs...), c possible ?
ben non chui con, laissez tomber j'ai la reponse... de tte facon c'est telecharge sur le poste alors de toute maniere c'est mort !!!
trop bien le coup du question reponse, pour ceux qui s'emmerdent chez eux le soir, passez me voir jvous explik les regles et jvous jure qu'il y a moyen de se marrer tout seul !
|
tu crois que c'est téléchargé ?
souvent quand tu regarde le source des pages qui appellent un js, on a pas le js... qu'il soit chargé en mémoire pk pas mais je ne crois pas qu'il soit téléchargé... autrement à propos du js et de son intégration dans le web2 (ajax), pleins de pro refuse ce web2 à cause justement du js, qui a trop de failles de sécu à leur goût ... perso je pense que pour un max de sécu il faut pas trop mélanger les technos (car chaque techno est dev qu'en fonction d'elle mm et que cette mixité doit générer des failles qu'aucune des 2 technos n'est capable d'envisager... effet de bord quoi) et que les script chargé chez le client ne sont pas psécialement un gage de sécurité... car ils sont justement téléchargés chez le client ^^
|
|
| |
Doudous en kits: http://www.lheuredeslucioles.fr
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 17 avril 2007 - 15 h 18 m 54 s |
|
|
Le 17 avril 2007 - 14 h 08, Loading a écrit :
Le 17 avril 2007 - 13 h 29, grabber a écrit :
loading, je regarde de + pret cet aprem ton truc, mais ouais ca me parait pas mal, fo voir, jvais regarder de plus pret, la g lu en travers... le coup du passage d'arg dans l'url me stresse un peu au 1er abord mais bon... fo s'adapter ! pis ca fe bien un param "key" dasn une url ! ca fait pro hein comme on dit !!!!!
|
en fait ce qu'il faut bien comprendre c que cette clé, n'est pas le md5 du pass, n'est pas un élément de la session, elle sert juste à vérifier que la page est bien appellée par la page d'avant, donc du mm gus, donc en soit cette clé ne met en joue aucune sécurité...
|
g bein compris
|
|
| |
|
grabber
Coordinateur
MacBook Pro 2,4 Powered
Messages : 8 593 Inscrit le 06/03/02
Ville : Angers
Non connecté
|
|
Posté le 17 avril 2007 - 15 h 22 m 25 s |
|
|
Le 17 avril 2007 - 14 h 29, Loading a écrit :
Le 17 avril 2007 - 13 h 34, grabber a écrit :
question con, j'ai pas cherche...
si je colle mon fichier js dans un dossier et que jy colle le htaccess kivabien sachant que je veux que personne puisse download ce js (surtout les autres d'ailleurs...), c possible ?
ben non chui con, laissez tomber j'ai la reponse... de tte facon c'est telecharge sur le poste alors de toute maniere c'est mort !!!
trop bien le coup du question reponse, pour ceux qui s'emmerdent chez eux le soir, passez me voir jvous explik les regles et jvous jure qu'il y a moyen de se marrer tout seul !
|
tu crois que c'est téléchargé ?
souvent quand tu regarde le source des pages qui appellent un js, on a pas le js... qu'il soit chargé en mémoire pk pas mais je ne crois pas qu'il soit téléchargé... autrement à propos du js et de son intégration dans le web2 (ajax), pleins de pro refuse ce web2 à cause justement du js, qui a trop de failles de sécu à leur goût ... perso je pense que pour un max de sécu il faut pas trop mélanger les technos (car chaque techno est dev qu'en fonction d'elle mm et que cette mixité doit générer des failles qu'aucune des 2 technos n'est capable d'envisager... effet de bord quoi) et que les script chargé chez le client ne sont pas psécialement un gage de sécurité... car ils sont justement téléchargés chez le client ^^
|
si si il est dans le cache ie 
concernant le web2, disons que j'ai un peu lache ajax, ca a tendance a me souler aussi...
en revanche je joue avec dom et je dois dire que c'est dla balle 
chacun son web2
|
|
| |
|
gege38
- Ancien Modérateur -
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 102 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 17 avril 2007 - 15 h 25 m 11 s |
|
|
Attention si tu génères un .htaccess à la volée aux différents XSS possibles.
Si vraiment tu veux un site web sécurisé, renseigne toi bien sur les patchs Apache
Sinon, si tu ne consultes ton admin que depuis X machines, iptables pour sécuriser la bête.
Enfin, isole bien tes DocumentRoot, histoire qu'on puisse pas naviguer dans le contenu de tout l'apache... Et tiens, soit guedin, gave toi bien sur les RewriteRules (n'oublie pas les [L,PT] flags  ) histoire d'obfusquer encore un peu plus l'arbo...
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|