Page 1 sur 1

Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 11:17
par Géryko
Bonjour à tous,

Débutant en php, j'ai commencé et appris en lisant les tutos.
Je commence maintenant à être à l'aise au point trouver cela amusant.
Mais de plus en plus, la lecture des forums m'inquiète. Voici ma situation.

En Apache/PHP4.4/MySQL/httacces, j'ai un petit site expérimental sur OVH et sur FREE
Dans mon dossier protégé par htaccess j'ai un fichier "config.inc.php" (du classique me semble t'il)
Dans ce fichier j'ai :
- login et pasw pour la base de données
- login et pasw pour un 2ème dossier protégé
- des adresses courriel
- des données personnelles
Pour chacune de ces données, dois-je considérer qu'elles sont suffisamment à l'abri ?
'
En sécurité absolue on pourrait dire NON immédiatement puisque certains seraient capables de
lire des données de la base de données ! (non niveau actuel ne me permet pas d'aller plus loin)
'
Pour apprécier le degré de sécurité, un Oui/Non me ne semble pas suffisant.
Un taux en % et un petit commentaire me semblent donc indispensables.
'
Et en cas de NON à 100%, un petit conseil pour orienter ma progression serait le bienvenu.
(je sais que je devrais passer en PHP5, mon EasyPHP1.8 me le rappelle à chaque fois mais hormis
des nouvelles fonctions indispensables, PHP5 ne me semble nécessaire pour l'instant)
'
étape suivante, je verrai s'il est possible de passer en protocole https pour transmettre des
données personnelles depuis mon site sur FREE ? ( quelqu'un sait ?)
Sur OVH il parait que c'est possible.
Merci d'avance.

Re: Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 14:16
par Mazarini
Bonjour,

Pour les fichiers uniquement inclus, la solution la plus sécurisée me semble de les mettre en dehors de l'arborescence du site. Comme ca on est sur qu'ils ne sont pas accessible directement.
Ca peut se faire par exemple avec l'include path.

Re: Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 14:37
par yann18
on ne peut pas penser sécurité et utiliser en même une version obsolète de php (4.4). Dans cette version-là tout exposé à des failles.

Pour communiquer entre 2 sites il te faut utiliser un web service ( SOAP ou REST). Là aussi je ne pense pas que php4 le fasse nativement.

Re: Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 14:39
par Aureusms
Bonjour,

PHP 5 ne t'apporte pas que des nouvelles fonctions, il t'oblige aussi à coder plus proprement en enlevant par exemple les "magic quote" ou les variables globales automatiques, ... Je te conseille vivement d'abandonner PHP4.

Si tu protèges le dossier où est localisé le fichier config.inc.php via un "deny from all", tu n'a normalement pas trop à craindre d'une attaque directe. Je te conseillerais de ne pas l'appeler config.inc.php mais un nom qui t'appartient (ie. maConfigPerso_0.inc.php) ou, mieux, un nom auto-généré via un algorithme (plus compliqué). Encore mieux, en dehors du dossier www.
Pour le deuxième dossier, pourquoi ne pas mettre l'identifiant et le mot de passe dans un fichier apache htpassw qui, hashé en sha256, sera illisible pour celui qui arrive à le lire. Vérifie quand même que l'apache sur lequel est installé le site permet la lecture des fichier htpassw hashé.

Ensuite, si tu as une page "admin" avec identifiant et mot de passe (min 12 caractères avec présence de chiffres, minuscules, majuscules et caractères imprimables de types : +)!_?/*-}]...), fais attention à comment sont traitées les données. Pour ma part, j’envoie les données en mode post "hashé" en mode SHA256 avec présence d'un "grain de sable" pour éviter qu'elles voyagent en clair sur le réseau (par exemple sur un Wifi public). C'est souvent par cette porte que les gens mal-attentionnées passent et arrivent aux dossiers protégés par htaccess.

Enfin, je transiterai les données personnelles en mode FTP et non https pour les transférer du site A vers le site B. (je le fais sur mes sites). A voir si tu peux aussi utiliser le mode FTPs qui est encore mieux.
PHP peux gérer le mode FTP en utilisant les flux FTP (http://php.net/manual/fr/wrappers.ftp.php). Ainsi tu peux ouvrir un fichier depuis le site B et le transférer sur le site A via une page Web. Mais là uniquement PHP5 peux t'aider car PHP4 est vraiment trop limité. Encore une bonne raison de coder en PHP5.

Re: Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 15:08
par Géryko
Re-bonjour,

Mazarini, yann18, et Aureusms
J'ai bien pris note de vos recommandations Merci. J'ai donc du travail pour un certain temps (php4 -> php5)

Désolé Mazarini et Aureusms,
Que veut dire " les mettre en dehors de l'arborescence du site" ?
Mon dossier protégé est sur la racine du site ou dans un autre dossier et constitue un sous dossier.
Je ne connais pas d'autre solution !
M'expliquer svp.

yann18 et Aureusms
Je ne me suis pas bien fait comprendre :
Je ne veux pas transférer d'un site A vers le site B en https.
Il s'agit d'une simple connexion d'un visiteur au site.

Enfin, je ne suis pas sûr que FREE accepte le passage à php5 ? Il faut que je me fasse confirmer.

Merci à tous. Je ne sais pas encore par où je vais commencer.

Re: Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 15:13
par Aureusms
Quand tu transfert ton site en mode FTP, ton fournisseur d'accès te dis de le mettre dans un dossier souvent appelé www.
Hors tu peux mettre un fichier en dehors de ce dossier www (par exemple au dessus) et dire à PHP d'aller au dessus de www pour aller chercher ce fichier. Cependant, il te faut les droits (OVH le permet, je le fais souvent).

Si c'est juste pour communiquer avec ton site https permettra aux visiteurs de certifier qu'ils sont bien sur ton site et que personne ne se trouve entre ton site et le visiteur.

Re: Mon site est il suffisamment protégé ?

Posté : 21 févr. 2014, 22:09
par Géryko
Bonsoir,

Aureusms a écrit :
"Pour le deuxième dossier, pourquoi ne pas mettre l'identifiant et le mot de passe dans un fichier apache htpassw qui, hashé en sha256, sera illisible pour celui qui arrive à le lire. Vérifie quand même que l'apache sur lequel est installé le site permet la lecture des fichiers htpassw hashé."
C'est déjà mon cas mais en MD5 car je suis en php4. Mon 2éme dossier est protégé par htaccess.
'
En même temps, je ne suis pas sûr d'avoir bien compris :
Le mot de passe de la base de données pourrait être mis dans le fichier htpassw et non dans config.inc.php ?

Pour info :
Sur FREE il serait impossible de placer quelque chose au dessus de la racine (il n'y a pas de www).
FREE est vraiment spécial. Il faut 3 fichiers htxxxx dont l'un contient les Mots de Passes en clair :
dossier_protégé/htpasswd.txt (oui un txt) A rien y comprendre.

Géry