Frage

Zusammenfassung der Antworten:
Tun Sie es nicht. Die rechtlichen und finanziellen Auswirkungen werden verheerend sein. Suchen Sie nach etablierten Lösungen von Drittanbietern oder mieten ein Experte. Bewahren Sie niemals keine sensiblen Informationen auf einem gemeinsamen Server. Forschung für den am besten geeigneten Verschlüsselungsmechanismus.

Ich bin buiding eine Website für einen Kunden, der seine Kunden Bankverbindung speichern muss (Routing + Kontonummer) in der db für direkte Einzahlung. Hier sind einige Besonderheiten:

1) Die Website wird zunächst sein, auf einem Shared-Hosting-Server (dies ist meine erste Sorge).
2) Ich bin mit PHP / MySQL.
3) Ich plane mit mcrypt.
4) Der Schlüssel wird außerhalb des Webstamm befinden.

Bitte lassen Sie mich Ihre Gedanken kennen. Wenn möglich, mir bitte geben Sie einige Ressourcen auf ACH Verarbeitung.

Danke!

EDIT: Ich erwartete eine solche Antwort als ich von Sicherheitsfragen auch aus Angst bin. Ich habe meine Sorge um meine Kunden zum Ausdruck gebracht, und dies wird eine gute Unterstützung sein.

EDIT 2: Wird von dieser zu Fuß entfernt. War mit der Idee, in erster Linie nicht glücklich! Wird untersuchen, die PayPal-Massenzahlungs API.

War es hilfreich?

Lösung

ich glaube, Sie dieses Problem lösen können, sich jede Bankinformationen ohne Speicherung durch so etwas wie Paypals Massen Payment API . Auf diese Weise Ihr Kunde kann die Menschen zahlen, und PayPal speichert alle Informationen, so dass Sie nicht haben.

Wenn Sie über alle Schritte lesen Sie ergreifen müssen, um auch eine Remote-Möglichkeit haben Ihre Kunden vertrauliche Finanzdaten zu sichern, google ‚ PCI Compliance "

Wenn Sie nicht tödliche Angst haben, Online-Speicherung von Finanzdaten, sie ist schrecklich naiv.

Andere Tipps

1) Die Website wird zunächst auf einem Shared-Hosting-Server (dies ist meine erste Sorge).    --WIRKLICH SCHLECHT. Nicht mit absoluter administrativer Kontrolle über den Server, und die Lage sein, andere Menschen zu halten ist ein wirklich großes Problem.

würde ich wirklich besorgt sein, dass Sie die Datenbank direkt von dem Front-End-Web-Server zugreifen. Das ist ein großer no-no mit Finanzdaten.

Auch wenn Sie den stärksten Verschlüsselungsalgorithmus überhaupt haben, was jemanden zu verhindern, ist von Ihrem System Hijacking und deren Verwendung der Daten für sie zu entschlüsseln. Sie werden die Schlüssel nicht brauchen, sie müssen nur Ihre Anwendung benötigen die Arbeit für sie tun. Dies wird vorausgesetzt, Sie einen Schlüssel verwenden, die Daten zu verschlüsseln und zu entschlüsseln, oder Sie das Abrufen der Daten aus der DB zu den Benutzern des Systems zu zeigen.

Ok hier ist das Ding. Wenn Sie diese Fragen stellen müssen, müssen Sie nicht auf die technische Expertise dies richtig zu tun. Ich versuche nicht, gemein zu klingen, es ist einfach eine Tatsache. Ich würde die Arbeit mit einer Gruppe von erfahren Leuten geht, die diesen professionaly zuerst tun. Es wird eine Menge Dinge, die hier nicht erwähnt werden, die berücksichtigt werden müssen. Es gibt Sicherheit eine Menge Sachen über die per se nicht abgeschrieben wird. Dinge, die Sie aus der Lektüre eines Buches nicht abholen. Dies ist eine wirklich harte Sache zu bauen, becuase gibt es große Belohnungen für Menschen, die in den Finanzsysteme brechen.

Sie es nicht tun.

Bu, wenn Sie zu haben, öffentliche / private Schlüssel Krypto zu verwenden. Store und nur der öffentliche Schlüssel verwenden, um die Daten gehen in die Datenbank zu verschlüsseln. Lagern Sie die privaten Schlüssel an einem sicheren Ort (im Sinne von: nicht dem gehosteten Server, sondern ein „sichere“ lokale Rechner mit entsprechenden Zugriffskontrollen). Wenn nötig, die Daten auf dem lokalen Rechner herunterzuladen, die privaten Schlüssel verwenden, um es zu entschlüsseln, und gehen Sie weg.

Aber im Ernst, einen Weg finden, dies zu tun zu vermeiden, wenn Sie können.

zu einem Anwalt Sprechen Sie über Ihre potenziellen Verbindlichkeiten, bevor Sie fortfahren. Mit gespeicherten Daten Personal Banking auf einem Shared-Hosting-Server hat alle über sie Gefahr geschrieben. Sie haben keine Kontrolle darüber, wer letztlich ihre Hände auf die Daten erhalten können.

Von zusätzlichem Interesse ist es nicht Daten Ihrer Kunden, ist es Ihre Kunden Kunden Daten! Sie könnten in der Lage, eine Vereinbarung mit dem Kunden, damit Sie entschädigen, aber nicht, wenn ihre Kunden beteiligt sind. Sobald die Daten gefährdet ist, werden sie zu biegen Sie nach rechts zurück mit ihren Kunden innovative Hals im Schlepptau Atmen Sie!

Für das Bank Info, Ihr Server in ihrer Kontrolle sollte nicht geteilt werden.

Auch ist mcrypt nicht sehr sicher. Ich weiß, dass es gebaut, aber ich würde etwas vorschlagen, die nicht so hackable wie RSA ist. Wenn jemand einen hält die Information bekommen, sollten sie nicht in der Lage sein, es ohne private Schlüssel zu hacken.

Ich stimme mit den anderen - das ist eine sehr schlechte Idee ist

.

Dedicated Server können für zwischen $ 79- $ 99 pro Monat zu haben sind, wenn das nicht erschwinglich ist, würde ich wirklich fragen, warum sie Bankinformationen sind die Verarbeitung zu beginnen. Der bevorzugte Weg wäre es, die Datenbank seperate auch in diesem Fall von der Web-Box zu haben. Vorzugsweise mit einigen Firewalls und anderem Schutz zwischen ihnen (dh 2 Firewalls, eine vor dem Web-Server und eine zwischen dem Web-Server und der Datenbank).

Aber alles wäre besser als Shared Hosting verwenden. Ich meine, können Sie SQL Server direkt verbinden und alle verfügbaren Datenbanken sehen - wie einfach wäre es richtig in mit minimalem Hacking springen zu

Auch, bitte sagen Sie mir den Namen der Website, damit ich mich anmelden nie und es meine Bankinfo setzen !!! :)

Also, stellen Sie sicher, dass Sie Fehler und ommission Versicherung haben vor uns darauf, mit Shared-Hosting gehen.

Ich war vor einer ähnlichen Situation wie Sie, und es auf diese Weise gelöst werden.

  1. Da Sie nicht ACH Verarbeitung tun, herauszufinden, ob die ACH Verarbeitung API die Möglichkeit, einen Kunden zu erstellen hat.
  2. Wenn ja, das Kundenobjekt, wird in der Regel Kontonummer, Bankleitzahl enthalten, etc, und speichern Sie die Token in der Datenbank. (So, wenn der Benutzer seine Daten gibt, können Sie es direkt zu Ihrem ACH-Prozessor über HTTPS übergeben, und das Token speichern).
  3. Wenn Sie ihr Konto haben zu belasten, übergeben Sie dieses Token an den Prozessor, und das ist es !!

Auf diese Weise Sie speichern keine Konto- und Routing-Nummern auf der Datenbank, und selbst wenn jemand den DB-Hacks, sie nur Token sehen, was ziemlich nutzlos ist - sie nichts damit tun, wie es ACH ist Prozessor spezifisch.

Ich habe für Kreditkarten ähnlich gemacht mit Streifen.

Viel Glück!

Sie haben keine Erfahrung in diesem Bereich, und Sie können diese großen in einem Lager Club nicht einmal Dosen von Würmern finden. Dies ist ein Fall, in dem Ihr Kunde eine Domain-Experten mieten muss; wenn Sie daran, diese Art von Arbeit in der Zukunft interessiert sind, versuchen Sie sehr eng mit dem Experten zu arbeiten und so viel Wissen aufnehmen, wie Sie können.

Ich denke, jeder hier hat ihre Abneigung gegen die Situation genug angekündigt, so dass ich nur einen Hinweis auf ein anderes Problem fallen, wenn jede Art von Krypto tun (was sind wir uns einig ist erforderlich):

Die Daten müssen irgendwo verschlüsselt werden!

Wenn Sie es auf dem Server zu tun, gut ein kompromittierter Server wird nur Ihre Verschlüsselung tun und gibt sie auf w / o sie verschlüsselt werden.

Wenn Sie es auf dem Client zu tun, das ist ein bisschen sicherer, lässt aber immer noch die Tür weit offen, wenn jemand Zugriff auf Ihren Server hat: Sie kann theoretisch einfach eine XSS-Lücke öffnen (dh ein Remote-Skript einfügen in Ihre Seite ...), die eine Kopie ihrer Box sendet vor der Verschlüsselung ...

Am Ende. Wenn Sie wirklich tun dies auf einem Server berücksichtigen, die nicht 110% sicher sein könnte, zu Fuß entfernt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top