Cryptage et clé PHP/Bdd

Résolu/Fermé
Tatanos Messages postés 966 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 mai 2016 - 4 juil. 2014 à 11:06
Tatanos Messages postés 966 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 mai 2016 - 10 juil. 2014 à 08:56
Bonjour à vous,

Je suis actuellement en train de travailler sur un projet PHP pour ma boite, et je vais devoir stocker le salaire des employés dans la base.

Bien entendue je vais crypter tout ça en cas de fuite ou d'accès dans cette même base.

La question que je me pose c'est : Ma clé de cryptage doit bien être stockée quelque part (dans mon PHP ?) pour que je puisse l'utiliser pour le chiffrement / déchiffrement.

Mais à ce moment là, si quelqu'un accède à ma base, pourquoi n'accèderait-il pas aussi à ces fichiers PHP ? Et par le fait qu'est ce qui l'empêcherait d'utiliser cette clé pour tout décrypter ?

C'est peut-être idiot comme question, mais je tourne en rond là dessus.

Si vous pouviez m'éclairer sur ce sujet, ce serait sympa :)

Merci d'avance.
Nicolas.
A voir également:

3 réponses

Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
4 juil. 2014 à 15:55
Bonjour,

Je n'ai jamais eu ce genre de problème mais en effet, cette question est très intéressante.

Je vais donner mon avis (qui est donc l'avis d'une personne n'étant pas un professionnel de la sécurité).

Partons du principe qu'un pirate vous attaque. Il va (j'imagine) pouvoir réussir son attaque grâce a :
- des failles système (lié à l'OS),
- des failles dans la sécurité de votre code php,
- l'emplacement du serveur sur le réseau (pare feu trop permissif?)

Du coup, j'aurai tendance à imaginer une solution comme suivant:
Mettons que votre serveur 1 hébergeant votre appli soit dans une DMZ et que ce serveur fonctionne sous windows. Ce que je ferai ce serait de stocker la clé sur un autre serveur qui serait situé sur une autre DMZ particulièrement restrictive avec un pare feu qui n'accepterai que des connexion venant de votre serveur 1 (avec contrôle de mac + ip par exemple). Et de mettre un autre OS sur ce serveur.
Du coup, le pirate devra se "casser les dents" a trouver des failles sous deux OS différent + parvenir à pénétrer dans votre second DMZ (particulièrement restrictive) pour parvenir à obtenir cette clé.

Comme je l'ai dit, je ne suis pas un pro de la sécurité, ceci est juste un avis qui pourra peut être ouvrir des pistes de réflexion.
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
4 juil. 2014 à 20:23
Stocker la clé sur un autre serveur ne sert à rien, il en aura de toute façon besoin sur le serveur N°1, donc si celui-ci tombe dans les mains de Hackeurs, il l'auront tout de même.

Pour répondre à ta question, tu ne pourra pas sécuriser à 100%, vu que tu a besoin de récupérer les données en clair tôt ou tard.
Mais la plus simple façon de voler des données passent souvent par des injections Sql, tu t'en prémuni déjà.

Après, mots de passe fort sur le FTP, et corriger les failles sont les seules solutions. (faille Upload/XSS/fixation de session/csrf, etc ...)
0
Tatanos Messages postés 966 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 mai 2016 156
10 juil. 2014 à 08:56
Merci à vous.

Après lecture de vos commentaire je vais partir sur un projet en Symfony2 et la clé sera stockée dans le parameters.yml

Ça évitera pas mal de problèmes de base (comme l'injection SQL par exemple).

Et la sécurité est pas trop mal gérée avec ce framework.

A bientôt :)
0