Sécuriser l'accès à une page web

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Sécuriser l'accès à une page web

Messagepar Belaran » 01 Oct 2004 22:50

Je dois réaliser un projet pour mes études dans lequel on doit établir une connexion sécuriser par internet entre un pc et un serveur. Pour cela, je vais donc utiliser le protocole https. Y-a-il autre chose à faire ? Comment mieux sécuriser la connexion ?

Je compte réaliser les scripts cotés serveur à l'aide de PHP5, mais je sais que le PHP dispose de grosse lacunes coté sécurité. Quels sont-elles exactement ? est-ce que https les "efface" ? Comment les combler autrement ?Sinon qu'elle alternative au PHP ? (pitié ne me dites pas le PERL)...

Merci d'avance de toutes vos réponses, explication et/ou suggestion ! :wink:
Belaran,
RAB ( Rien A Branler)
Avatar de l’utilisateur
Belaran
Quartier Maître
Quartier Maître
 
Messages: 18
Inscrit le: 24 Juil 2004 18:08
Localisation: Paris

Messagepar braouazou » 01 Oct 2004 23:07

https = http over ssl (l'échange de données est crypté), cela n'empêche pas l'exploit de trous de sécurité éventuellement ouverts par tes scripts PHP, mais évite l'interception des données transitant entre le client et le serveur.

http://www.commentcamarche.net/crypto/ssl.php3

Concernant PHP, les plus gros problèmes de sécurité proviennent de mauvais codes, et pas de PHP lui-même. Conseil de base : ne jamais faire confiance à l'utilisateur et à ses éventuelles saisies (dans le cas notamment des formulaires) !!

Cet article pourra t'intéresser : http://www.developer.com/lang/article.php/918141
[en anglais]

@++
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!

Messagepar Belaran » 02 Oct 2004 10:15

Merci bcp, je vais lire ces artcicles avec attention... :D

Par contre, je vois pas très bien comment un "mauvais code" php offre-t-il des failles de sécu. Est-ce que tu aurais des exemples à me montrer ?
Belaran,
RAB ( Rien A Branler)
Avatar de l’utilisateur
Belaran
Quartier Maître
Quartier Maître
 
Messages: 18
Inscrit le: 24 Juil 2004 18:08
Localisation: Paris

Messagepar braouazou » 02 Oct 2004 10:26

Les exemples sont très nombreux... et très différents selon le code !
Lepremier qui me vient à l'esprit, c'est par exemple l'utilisation de la fonction highlight_file() [ http://fr2.php.net/manual/en/function.h ... t-file.php ] qui affiche la source d'un fichier.

Si le fichier est passé en paramètre par l'url (on voit très souvent ça !!), du style affiche_source.php?fichier=mon_fichier.php, il devient alors facile, par exemple, de lire à l'aide de son navigateur un fichier contenant les mots de passe des bases de données par exemple.

Bon, c'est assez gros comme exemple, peu de gens se risquant à utiliser cette fonction sur un serveur en prod, et, si les droits des fichiers sont corrects, et que l'on fait des tests avant d'afficher la source de tel ou tel fichier, ça ne devrait pas poser de problème, mais je suis quand même tombé une fois par hasard sur le site d'une application PHP (je ne me souviens plus laquelle d'ailleurs !) qui permettait l'utilisation de cette "faille" pour lire des fichiers contenant des mots de passe !!

Voilà pour l'exemple, je te rappelle qu'ils sont très nombreux, et qu'un audit de code n'est pas du tout superflu, même quand le script parait simple et banal !

@++
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!

Messagepar nemesis » 02 Oct 2004 11:05

Hum il y a aussi la mauvaise utilisation des variables....

Toujours initialiser ses variables avec une valeur par défaut qui sera traitée comme une erreur sinon on peut arriver à passer des valeurs arbitraires dans ses variables et crer des comportements inatendus de tes scripts (ça va du plantage à l'obtention d'un acces à un compte pour un module d'authentification...) Ah oui essayer de passer les requêtes de formulaires via POST plutôt que GET ça évite d'afficher les hashs md5 des mdp ou des données qu'on veut pas montrer :D.

Toujours vérifier les valeurs passées dans les champs de saisie surtout si elles sont mises en bdd ensuite...

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar Belaran » 02 Oct 2004 16:39

merci bcp.

Donc une fois le script bien écrit et le https utilisé, c'est sécurisé ?
Pour la connexion je pensais utilisé htaccess, est-ce suffisant ? Y a t il mieux ?
Belaran,
RAB ( Rien A Branler)
Avatar de l’utilisateur
Belaran
Quartier Maître
Quartier Maître
 
Messages: 18
Inscrit le: 24 Juil 2004 18:08
Localisation: Paris

Messagepar braouazou » 02 Oct 2004 17:11

Tout dépend du degré de sécurité que tu veux !
Sache tout de même qu'une faille touchant les .htaccess a justement été trouvéetrès récemment :-(

Et rappelle-toi que la sécurité informatique est loin d'être une science exacte, la sécurité totale n'existe pas...

@+
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!

Messagepar Belaran » 02 Oct 2004 19:31

je sais :wink:

mais c'est mon projet de fin d'études et je voudrais développer "au maximum" la brique sécu de mon projet. J'avais pensé au Port Knocking mais ça m'a pas bcp plus à mon assistant. Comment pourrais-je encore ajouter une couche de sécu ? Contre quel contrainte ?
Belaran,
RAB ( Rien A Branler)
Avatar de l’utilisateur
Belaran
Quartier Maître
Quartier Maître
 
Messages: 18
Inscrit le: 24 Juil 2004 18:08
Localisation: Paris

Messagepar CaTtleyA » 09 Nov 2004 18:01

Bonjour, je recherche des liens ^pour bien mettre en place des serveur de mail, apache.. tutorial pour parametres correctement ceux -ci.. fichier config.. Mettre en place des procedure de connexion cryptes a ceux -ci ..
quelque que conseille pratique pour sécurisé au maximun les serveur apache en afinen,t le parametrage.
Savoir que ses produits seront installé sur des distributions debian et suse..
thk..
CaTtleyA
Major
Major
 
Messages: 89
Inscrit le: 29 Oct 2004 12:44
Localisation: no found

certificat

Messagepar fabien7 » 05 Déc 2004 15:59

bon je pense que tu vera pas a temps se message mais pour mieux securiser ....

tu peut utiliser des cartes d'identité electronique alias certificat x509v3 ... c'est certificats sont basés sur des clefs asymetrique (clef privé, clef publique) ... le serveur web apache peut demander le certificat du client pour savoir si le client est bien autorisé a se connecter ( en gros si il fait parti d'une communauté de confiance, et si il est bien celui qu'il pretend être), de plus le sens inverse est en meme temps possible c'est a dire que le client peut authentifier le serveur web (si le serveur est bien celui qu'il pretend etre) ...

La pour ton projet de fin d'année tu peut leur en mettre plein la vue .... bon il faut que tu te renseigne sur les authoritées de certification ... moi j'utilisait OpenCA ...

Fab
Avatar de l’utilisateur
fabien7
Quartier Maître
Quartier Maître
 
Messages: 23
Inscrit le: 05 Déc 2004 12:02
Localisation: Brest (localisé a troyes pour étude)


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité