Cryptage et clé PHP/Bdd [Résolu/Fermé]

Signaler
Messages postés
966
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
26 mai 2016
-
Messages postés
966
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
26 mai 2016
-
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.

3 réponses

Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
125
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.
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122
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 ...)
Messages postés
966
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
26 mai 2016
149
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 :)