Question

Je vais être mise en œuvre d'un PHP/mySQL de configuration pour stocker les informations de carte de crédit.

Il semble que AES_ENCRYPT/AES_DECRYPT est le chemin à parcourir,

mais je suis toujours perplexe sur un point:

Comment puis-je garder la clé de cryptage sécurisé?

Câblage dans mes scripts PHP (qui vivent sur le même serveur que la db) semble être un trou de sécurité majeur.

Quelle est la "meilleure pratique" solution ici?

Était-ce utile?

La solution

Vous devez penser à long et dur sur que vous avez VRAIMENT besoin de garder le no de CC.Si vous n'avez pas une bonne raison, N'en ont PAS!Chaque semaine vous entendu parler de certains de la société est compromise et CC#'s être volé.L'ensemble de ces sociétés fait l'erreur fatale, ils ont bien trop d'informations.Garder le CC# jusqu'à ce que la transaction s'efface.Après cela, le supprimer.

Aussi loin que la sécurisation du serveur, le meilleur plan d'action est de sécuriser le matériel et d'utiliser le système interne socket MySQL, et assurez-vous de bloquer tout accès au réseau pour le serveur MySQL.Assurez-vous que vous êtes à l'aide de votre système d'autorisations et de la base de données MySQL autorisations pour permettre que peu d'accès en tant que de besoin.Pour certains scripts, vous pouvez envisager l'écriture seule authentification.Il n'y a vraiment pas de méthode de chiffrement qui sera à toute épreuve (car vous en aurez toujours besoin à déchiffrer, et doit donc stocker la clé).Ce n'est pas à dire que vous ne devriez pas vous pouvez stocker vos clés dans un endroit et si vous détectez un système de compromis, vous pouvez détruire le fichier et rendre les données inutilisables.

Autres conseils

MySQL, il y a six étapes faciles que vous pouvez faire pour sécuriser vos données sensibles.

Étape 1:Supprimer des caractères génériques dans les tables de droits

Étape 2:Exiger l'utilisation de mots de passe sécurisés

Note:Utiliser le MySQL “--secure-auth” option pour empêcher l'utilisation de vieux, moins sûr le mot de passe MySQL formats.

Étape 3:Vérifiez les autorisations de fichiers de configuration

Étape 4:Chiffrer client-serveur transmissions

Étape 5:Désactiver l'accès à distance

Étape 6:Surveiller activement l'accès MySQL journal

Outils De Sécurité

Je suis d'accord, mais ne pas le cc si vous n'avez pas besoin de trop.Mais si vous avez vraiment trop, assurez-vous que le fichier que l'ont n'est pas accessible sur le web.Vous pouvez écrire un fichier binaire qui permettrait de revenir sur la touche.De cette façon, c'est de ne pas stocker en texte clair.Mais si votre serveur est compromis, c'est toujours facile à obtenir.

la sécurité dont vous avez besoin dépend de votre application.par exemple, si le seul moment où le cc# sera utilisée lorsque l'utilisateur est connecté (mince boutique en ligne type de scénario), alors vous pouvez crypter les cc# avec le hachage de l'utilisateur en texte clair du mot de passe, un utilisateur de sel, et un no de cc de sel.ne pas stocker cette valeur de façon permanente.

puisque vous n'êtes pas stocker cette valeur, le seul moment où vous pouvez obtenir cette valeur est lorsque l'utilisateur entre son mot de passe pour vous connecter.assurez-vous d'avoir la bonne fin de la session de collecte des déchets et des politiques en place.

si cette situation ne s'applique pas à vous, veuillez décrire votre situation plus en détail, de sorte que nous pouvons fournir plus de réponse appropriée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top