| |
|
Le Kamasutra de l'info ou Comment pénétrer un système ?
|
D'après une idée originale de Cauch. En voici le premier chapitre :
Vous voulez protéger une page de votre site Web par un mot de passe ???
Vous trouverez sur cette page les différentes façons de protéger une page,
mais aussi une critique sur la
sécurité de chaque système et les différents moyens de les contourner.
Le tableau suivant classe différentes méthodes de protection par niveau de sécurité.
Plus l'on descend dans le tableau, plus il faut du temps et des connaissances pour trouver le mot de passe.
JavaScript
| Méthode Basée sur : |
Description : |
Niveau de sécurité : |
En savoir plus |
Javascript "prompt" |
Le mot de passe est en clair dans le fichier source HTML.
affichage message d'erreur si mauvais mot de passe, de la page sinon.
|
!!! Nul !!!
Ne protege rien du tout, le mot de passe est accessible par la source,
même si le mot de passe n'est pas bon.
|
Démo ... |
Javascript "prompt au chargement" |
Le mot de passe est en clair dans le fichier source HTML.
Au chargement de la page on demande le mot de passe.
|
!!! Alors là !!!
La page à protéger est déjà chargée.
|
Démo ... |
Javascript "prompt + redirection" |
Le mot de passe est en clair dans le fichier source HTML.
Retour à la page précedente.
|
Le plus faible :
Ouvrez la page dans une nouvelle fenêtre, et voici la page...
|
Démo ... |
Javascript "prompt + redirection" |
Le mot de passe est en clair dans le fichier source HTML.
Redirection sur une autre page si erreur.
|
un peu moins faible :
Mais le mot de passe est toujours lisible dans le fichier HTML.
|
Démo ... |
Javascript "prompt + redirection" |
Le mot de passe et le script sont inclus depuis un .js donc different du fichier Html.
|
mieux mais...
Cf le pargraphe sur les problèmes liés à Javascript.
|
Démo ... |
Problèmes liés à l'utilisation de Javascript pour protéger une page Web.
Deux problèmes importants :
-
Les navigateurs n'acceptant pas Javascript sont un problème important.
Souvent tout le code Javascript apparait au sein de la page Html puisqu'il n'est pas interprété.
Il ne reste alors plus qu'à lire la valeur de la variable contenant le mot de passe.
- Le code source d'un fichier html ou d'un script Javascript sous forme d'un .js sont toujours accessibles
pour la personne désirant obtenir le mot de passe.
Ce n'est alors qu'une question de temps qui se compte en minutes voire en secondes pour obtenir le mot de passe désiré.
(en téléchargeant la page localement). Un exemple ??? Essayer ces liens vers un script PHP qui charge les fichiers HTML et les affiche intégralement.
Note : ce script sert uniquement d'exemple, je ne suis pas responsable de son utilisation.
Conseils si vous tenez à protéger par Javascript
-
Faites le choix de toujours inclure le script appelé dans un autre fichier, appelé le avec le tag :
<script language=JavaScript src="mon_script.js">
Cela pourra dérouter les débutants...
-
Pensez à mettre un script interdisant le clic droit, cela permettra d'en dérouter d'autres.
-
N'oubliez pas que le code Html de la page protégée doit être généré par le script.
N'utilisez pas de fonction "location.href=ma_page.html".
Sinon il suffit de connaitre l'adresse de la page "secrète".
Applets Java
| Méthode Basée sur : |
Description : |
Niveau de sécurité : |
En savoir plus |
Applet Java et un fichier texte |
Le mot de passe et la page "secrète" sont en clair dans un fichier texte.
|
Moyen
Si le fichier texte à un nom trop explicite et que la personne peut parcourrir le site, alors elle obtiendra
les informations nécéssaires.
|
Démo ... |
| Applet Java |
Le mot de passe est inclu dans le code de l'applet (non lisibles).
|
Correct
Si l'applet n'a pas été cripté on peut récupéré le code. (réservé aux intitiés)
|
Démo ... |
Problèmes liés à l'utilisation d'applets Java
- Les applets peuvent être "décompilées" puisqu"en fait elles ne sont que du code xxx.
- Les mises à jour ne sont pas faciles puisqu'il faut recompiler le source a chaque fois.
Conseils pour l'utilisation d'applets Java
- Il faut cripter l'applet et faire générer la page par ce dernier.
- A n'utiliser que sur des pages "statiques" qui n'auront pas besoin d'être mises à jour fréquement.
- N'oubliez pas que nombreuses sont les personnes qui déactivent les applets Java, elles ne pourront pas accéder à vos pages.
ASP et PHP
| Méthode Basée sur : |
Description : |
Niveau de sécurité : |
En savoir plus |
| PHP |
Le mot de passe est en clair le fichier source non accessible pour le client.
Le reste de la page est genéré par Php
|
Bon
La source du fichier php ne peut être télécharger et est donc sécurisée.
un seul fichier pour la saisie et la génération...
|
Démo ... |
| ASP |
non testé... demandez à MS...
|
Bon
... y parait
|
... |
Problèmes liés à l'utilisation de Php ou ASP
Possibilité de test en faisant boucler la variable de mot de passe.
Bonne protection, le "crackage" de la page peut prendre plusieurs jours en fonction du nombre de caractères utilisés.
Pour voir comment ce crackage fonctionne... la protection le contournement (demande environ 8 mn)
Conseils pour l'utilisation de Php ou ASP
Pour parer à la technique de crackage décrite ci-dessus vous pouvez enregistrer les IP des personnes à chaque demande de la page.
Ensuite si quelqu'un tente de cracker votre système un simple script qui compte le nombre de connexions pourra le banir de la page (à partir d'un certain nombre de connexions) et le forcer ainsi à changer son IP s'il veut réattaquer.
Choix d'un mot de passe
Il est important de bien choisir un mot de passe, composé de chiffres et de lettres, suffisament long.
Evitez les mots courants. Un bon mot de passe est du type "Mjk4p6SE".
Remarque générale :
Il n'existe pas de système inviolable, le contournement d'une protection est toujours possible, ce n'est qu'une question de temps et de moyen.
Aussi, si vous êtes vraiment parano vous pouvez toujours crypter les données que vous envoyez sur le web pour éviter une lecture en clair de votre mot de passe sur une trame circulant sur le réseau.
Enfin, pour un site web perso ....
"Toute information doit être libre" Si vous ne le pensez pas, d'autres le pensent...
|
|