Best Practices für die Verwaltung von API-Geheimschlüsseln
Erfahren Sie, wie Sie API-Geheimschlüssel verwalten und mit geleakten Schlüsseln umgehen.
Bei API-Geheimschlüsseln handelt es sich um eine Form der Kontozugangsdaten, wie z. B. ein Benutzername und ein Passwort. Wenn Personen mit böswilligen Absichten Zugriff zu einem Geheimschlüssel erlangen, können sie mit diesem Ihrem Unternehmen und anderen Parteien im Stripe-Ecosystem Schaden zufügen.
Stripe-Nutzer/innen sind dafür verantwortlich, geheime API-Schlüssel sicher zu verwahren. Im Folgenden zeigen wir Ihnen einige Best Practices, wie Sie dies tun können, und zeigen Ihnen außerdem, wie Sie die von Stripe angebotenen Sicherheitsfunktionen nutzen.
Schlüssel vor unrechtmäßiger Veröffentlichung schützen
Ergreifen Sie die folgenden Maßnahmen, um sich vor unrechtmäßig veröffentlichten Geheimschlüsseln zu schützen:
- Sichere Schlüsselverwaltungssysteme (KMS) verwenden, um geheime Schlüssel zu speichern: Wenn Sie einen Geheimschlüssel im Live-Modus über das Stripe-Dashboard erstellen, wird er nur einmal angezeigt. Kopieren Sie den Schlüssel sofort in ein KMS, das vertrauliche Informationen mit Verschlüsselung und Zugriffskontrolle verwaltet. Stellen Sie sicher, dass Sie keine Kopie des Schlüssels in der lokalen Datei belassen.
- Zugriff nur Personen gewähren, die ihn benötigen: Legen Sie in einer Richtlinie deutlich fest, welche Nutzer/innen berechtigt sind, Schlüssel zu erstellen, zu aktualisieren oder zu lesen. Beschränken Sie den Zugriff nur auf die Personen, die ihn benötigen. Überprüfen Sie den Zugriff regelmäßig, um übermäßige Berechtigungen für Schlüssel zu vermeiden.
- Geheimschlüssel niemals auf unsichere Weise teilen: Geben Sie Geheimschlüssel niemals in E-Mails, Chat-Nachrichten oder Nachrichten an den Kunden-Support weiter. Stripe fragt Sie niemals nach Ihrem geheimen API-Schlüssel.
- Schlüssel niemals in Quellcode-Repositories (z. B. GitHub) speichern: Personen mit böswilligen Absichten durchsuchen öffentliche Quellcode-Repositories möglicherweise nach geleakten Schlüsseln. Auch wenn das Quell-Repository privat ist, wird es möglicherweise mit Teammitgliedern in ihren Entwicklungsumgebungen geteilt.
- Geheimschlüssel nicht in Anwendungen einbetten: Betrügerische Akteure können sich Zugang zu Geheimschlüsseln verschaffen, indem sie bestimmte Zeichenfolgenmuster in der Anwendung abgleichen. Vermeiden Sie daher das Einbetten von Schlüsseln in Anwendungen wie Client-Tools, SDKs und mobile Apps.
- Neugenerierung Ihrer API-Schlüssel üben: Ihr Unternehmen sollte den Fall der Neugenerierung eines Schlüssels definieren und testen. Anhand eines solchen speziellen Ablaufs können Sie besser nachvollziehen, wo Ihre Schlüssel eingesetzt werden und sind für den Fall eines unrechtmäßig veröffentlichten API-Schlüssels gewappnet. Wenn Sie über einen konkreten Ablauf dazu verfügen, wie Sie Schlüssel neu generieren, können Sie mit minimalem Aufwand für Ihr Unternehmen auf die unrechtmäßige Veröffentlichung von Schlüsseln reagieren.
- Überprüfen Sie die API-Anforderungsprotokolle, um verdächtige Aktivitäten zu überwachen. Wir empfehlen Ihnen, die API-Anfrageprotokolle regelmäßig zu prüfen oder zu überwachen, um missbräuchlich verwendete API-Schlüssel proaktiv zu identifizieren. Stellen Sie sicher, dass Ihre Entwickler/innen keine Live-Modus-Schlüssel verwenden, wenn ein Sandbox-Schlüssel angemessen ist. Erfahren Sie mehr unter Sandbox im Vergleich zum Live-Modus.
- Regelmäßige Schulung und Aktualisierung der Dokumentation. Halten Sie die Dokumentation zum Umgang mit API-Geheimschlüsseln in Ihrem Unternehmen stets auf dem neuesten Stand und veranstalten Sie regelmäßig Schulungen, um sicherzustellen, dass Ihre Teams die Best Practices befolgen.
API-Zugriff mit eingeschränkten API-Schlüsseln anpassen
Sie können eingeschränkte API-Schlüssel verwenden, um eingeschränkten Zugriff auf bestimmte API-Ressourcen zu gewähren. Bei eingeschränkten Schlüsseln, insbesondere wenn Sie Dritten Zugriff gewähren, können Sie nur den minimal erforderlichen Zugriff auf die erforderlichen Ressourcen gewähren und so Risiken durch ungewollten Zugriffe begrenzen. Wenn Sie Microservices verwenden, die in Ihrem Namen mit der API interagieren, definieren Sie eingeschränkte Schlüssel, die nur den Mindestzugriff zulassen, den diese Microservices benötigen. Wenn Sie beispielsweise einen Überwachungsdienst für Zahlungsanfechtungen nutzen, erstellen Sie einen eingeschränkten Schlüssel, der nur Lesezugriff auf Ressourcen im Zusammenhang mit Zahlungsanfechtungen bietet. Mit diesem Schlüssel kann der Dienst die benötigten Daten abrufen, aber keine Änderungen vornehmen und nicht auf andere Daten zugreifen.
Eingeschränkte Schlüssel können mit vielen Teilen der API von Stripe nicht interagieren, da ihr einziger Zweck darin besteht, das Risiko bei der Verwendung oder Erstellung von Microservices zu reduzieren. Verwenden Sie bei der Entwicklung Ihrer Stripe-Integration keine eingeschränkten Schlüssel als Alternative zu den geheimen oder veröffentlichbaren API Schlüsseln Ihres Kontos.
Berechtigungsfehler
Wenn Sie einen eingeschränkten API-Schlüssel für einen Aufruf verwenden, auf den er keinen Zugriff hat, gibt Stripe einen Berechtigungsfehler aus.
IP-Adressen beschränken, die API-Anfragen senden können
Sie können die Sicherheit eines geheimen oder eingeschränkten Schlüssels erhöhen, indem Sie die IP-Adressen einschränken, die ihn zum Senden von API-Anfragen verwenden können. Dies wird empfohlen, wenn Ihr Dienst über stabile IP-Bereiche für ausgehenden Datenverkehr und einen Änderungsverwaltungsprozess zum Aktualisieren der Zulassungsliste verfügt, wenn sich diese Ausgangsbereiche ändern.
Anweisungen zum Beschränken eines Schlüssels auf eine oder mehrere IP-Adressen finden Sie unter Beschränken von geheimen oder eingeschränkten Schlüsseln auf eine Liste oder einen Bereich von IP-Adressen.
Umgang mit unrechtmäßig veröffentlichten API-Geheimschlüsseln
Wenn Sie feststellen, dass ein Geheimschlüssel unrechtmäßig veröffentlicht wurde, beispielsweise versehentlich auf GitHub veröffentlicht wurde, generieren Sie über das Stripe-Dashboard automatisch einen neuen Schlüssel und ersetzen Sie Ihre Integration mit dem neuen Schlüssel. Wenn Sie auffälliges Verhalten feststellen, aber nicht sicher wissen, dass der API-Schlüssel unrechtmäßig veröffentlicht wurde, empfehlen wir, die API-Schlüssel proaktiv neu zu generieren und parallel nach möglichen Ursachen zu suchen.
Wenn Stripe erkennt, dass ein geheimer API-Schlüssel im Live-Modus offengelegt wurde, benachrichtigen wir Sie sofort und bitten Sie, den Schlüssel neu zu generieren. Sie müssen umgehend handeln, um mögliche Schäden und finanzielle Verluste zu reduzieren, die durch die unbefugte Verwendung des unrechtmäßig veröffentlichten Schlüssels verursacht werden. Je nach Risiko und Kontoaktivität können wir entscheiden, werden wir den Schlüssel möglicherweise in Ihrem Namen neu generieren. In diesem Fall benachrichtigen wir Sie über alle von uns ergriffenen Maßnahmen.
Stripe garantiert nicht, dass wir alle unrechtmäßige veröffentlichten Schlüssel erkennen. Sie sind dafür verantwortlich, die Best Practices zu befolgen, um potenziell unrechtmäßig veröffentlichte Schlüssel zu verhindern und sicherzustellen, dass Ihre Integration mit Stripe sicher ist.