Wo API-Sicherheit im modernen E-Commerce versagt
Mehr Systeme zu verbinden, ist das, was einen modernen E-Commerce-Betrieb ausmacht. Es ist aber auch das, was mehr Risiken schafft. Jedes neue Tool, das Sie hinzufügen, ist eine weitere API, die Daten mit dem Rest des Stacks teilt. Das Risiko wächst mit der Anzahl der Verbindungen, nicht damit, wie neu Ihre Plattform ist.
Das Problem ist selten ein großes Loch. Es sind kleine Lücken, die sich summieren. Eine Verbindung verwendet eine moderne Anmeldemethode, eine andere läuft immer noch mit einem alten Schlüssel, den jemand vor Jahren in den Code eingegeben hat. Eine verschlüsselt ihren Datenverkehr, eine andere wurde schnell eingerichtet und nie wieder überprüft. Keine zwei Verbindungen sind auf die gleiche Weise gesichert, und niemand hat eine vollständige Aufzeichnung darüber, welche Daten über welche Verbindung fließen. Dies ist das größere Problem, das E-Commerce-Datensicherheit behandelt, aber die API-Schicht ist der Ort, an dem es tatsächlich auftritt.
Gute API-Sicherheit ist nichts, was man einmal kauft. Es ist eine Reihe von Gewohnheiten, die Sie bei jeder Verbindung, jedes Mal anwenden. Die folgenden Abschnitte behandeln die wichtigsten. Dann betrachten wir den Teil, mit dem die meisten Teams zu kämpfen haben: all dies konsistent zu tun, während der Stack wächst.
Jede API-Anfrage authentifizieren und autorisieren
Beginnen Sie mit der Identität. Jede Anfrage an Ihre Systeme sollte zeigen, wer sie stellt und was sie tun darf. Keine Verbindung sollte mit einem geteilten oder permanenten Schlüssel laufen.
Verwenden Sie Anmeldemethoden, bei denen der Zugriff abläuft, wie z. B. OAuth 2.0, anstelle von festen API-Schlüsseln, die für immer in einem Skript verbleiben. Geben Sie jeder Verbindung nur den Zugriff, den sie benötigt. Auf diese Weise kann ein gestohlener Schlüssel für Ihr Versandtool keine Kundenzahlungsdaten erreichen. Wo ein System dies unterstützt, verwalten Sie den Zugriff an einem zentralen Ort über SSO, damit Sie ihn schnell gewähren oder entziehen können.
Tipp: Beginnen Sie damit, alle Zugangsdaten aufzulisten, die Ihre Integrationen verwenden. Sie können nicht schützen, was niemand aufgeschrieben hat.
Welche Daten sollten tatsächlich über jede Verbindung fließen?
Nur die Felder, die das empfangende System benötigt, und nichts mehr. Ein Versandtool benötigt eine Adresse und eine Bestellposition. Es benötigt nicht die vollständige Zahlungshistorie eines Kunden, daher sollte es diese niemals erhalten.
Verschlüsseln Sie alles, während es sich bewegt, bei jedem Aufruf, einschließlich des Datenverkehrs zwischen internen Systemen. Beschränken Sie dann jede Verbindung auf die Daten, die sie tatsächlich überträgt, und verbergen oder löschen Sie Felder, die das andere System nicht speichern muss. Das Senden von weniger Daten verringert Ihr Risiko, falls eine Verbindung kompromittiert wird. Es reduziert auch Ihre Verpflichtungen bezüglich des Speicherorts regulierter Daten, was den Kern der meisten grenzüberschreitenden Datenübertragungen ausmacht.
Jeden Datenfluss protokollieren und überwachen
Was man nicht sieht, kann man nicht schützen. Jeder API-Aufruf und jeder Fehler sollte aufgezeichnet werden: was sich wann und zwischen welchen Systemen bewegt hat.
Aufzeichnen ist nur die halbe Miete. Die andere Hälfte besteht darin, diese Aufzeichnungen auf Ungewöhnliches zu überwachen, wie einen sprunghaften Anstieg fehlgeschlagener Anmeldungen, eine Verbindung, die plötzlich viel mehr Datensätze als normal abruft, oder Aktivitäten zu einer Zeit, in der dieser Fluss nie läuft. Warnmeldungen bei solchen Anzeichen erkennen ein Problem innerhalb von Minuten, anstatt erst bei der nächsten Prüfung. Eine vollständige, durchsuchbare Historie ermöglicht es Ihnen außerdem, nach einem Vorfall genau zu beweisen, was offengelegt wurde und was nicht.








