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
- Sichere Schlüsselverwaltungssysteme verwenden, um Geheimschlüssel zu speichern. Wenn Sie einen Geheimschlüssel für den Live-Modus über das Stripe-Dashboard erstellen, wird dieser nur einmal angezeigt. Kopieren Sie den Schlüssel sofort in Ihr Schlüsselverwaltungssystem. Dieses ist darauf ausgelegt sensible Informationen mittels Verschlüsselung und Zugriffskontrollen zu schützen. Achten Sie unbedingt darauf, keine Kopie des Schlüssels in der lokalen Datei zu hinterlassen.
- Zugriff nur Personen gewähren, die ihn benötigen. Definieren Sie deutlich in Ihrer Richtlinie, welche Nutzer/innen die Berechtigung zum Erstellen, Aktualisieren oder Lesen von Schlüsseln haben. Beschränken Sie den Zugriff nur auf diejenigen, die ihn benötigen. Überprüfen und aktualisieren Sie die Zugriffsrechte regelmäßig, um Berechtigungen für Schlüssel ggf. zu entziehen.
- Geheimschlüssel niemals auf unsicheren 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 API-Geheimschlüssel.
- Schlüssel niemals in Quellcode-Repositories (z. B. GitHub) speichern. Personen mit böswilligen Absichten suchen öffentliche Quellcode-Repositories manchmal nach geleakten Schlüsseln ab. Auch wenn das Repository privat ist, wird dieses möglicherweise mit Teammitgliedern in ihren Entwicklungsumgebungen geteilt.
- Geheimschlüssel nicht in Anwendungen einbetten. Personen mit böswilligen Absichten 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 mobilen 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 geleakten API-Schlüssel gewappnet. Wenn Sie über einen konkreten Ablauf dazu verfügen, wie Sie Schlüssel neu generieren, können Sie mit minimalem Aufwand mögliche negative Auswirkungen für Ihr Unternehmen senken.
- Logs von API-Anfragen prüfen, um verdächtige Aktivitäten zu überwachen. Wir empfehlen Ihnen, Logs der API-Anfragen regelmäßig zu prüfen, um missbräuchlich verwendete API-Schlüssel proaktiv zu identifizieren. Stellen Sie sicher, dass Ihre Entwickler/innen keine Live-Modus-Schlüssel verwenden, wenn Test-Modus-Schlüssel angebracht sind. Weitere Informationen finden Sie unter Test-Modus 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.
Sicherheitsfunktionen einsetzen und Ihre Integration schützen
- Eingeschränkte API-Schlüssel verwenden. Mit eingeschränkten API-Schlüsseln können Sie den Lese- oder Schreibzugriff auf bestimmte API-Referenzen anpassen. Mit eingeschränkten Schlüsseln können Sie nur den minimal erforderlichen Zugriff auf Ressourcen gewähren und so Risiken durch ungewollte Zugriffe mindern. Dies ist besonders hilfreich, wenn Sie Drittparteien Zugriff geben müssen.
- IP-Adressen, die API-Anfragen senden können, einschränken. Sie können Ihren API-Schlüssel so konfigurieren, dass nur Anfragen von bestimmten IP-Adressen zulässig sind. Wir empfehlen dies, wenn Ihr Dienst über stabile ausgehende IP-Adressbereiche und einen Vorgang für Änderungsverwaltungen verfügt, um die Zulassungsliste zu aktualisieren, wenn sich diese Bereiche der Ausgangs-IP ändern.
Umgang mit unrechtmäßig veröffentlichten API-Geheimschlüsseln
Wenn Sie festgestellt haben, dass ein Geheimschlüssel unrechtmäßig veröffentlicht, also z. B. auf GitHub geleaked wurde, dann generieren Sie über Ihr Stripe-Dashboard umgehend einen neuen Schlüssel und integrieren diesen in Ihre Vorgänge. Ist Ihnen außergewöhnliches Verhalten aufgefallen, Sie wissen jedoch nicht sicher, dass Ihr API-Schlüssel geleaked wurde, dann sollten Sie Ihren API-Schlüssel dennoch proaktiv neu generieren und parallel nach möglichen Ursachen suchen.
Wenn Stripe feststellt, dass ein API-Geheimschlüssel im Live-Modus unrechtmäßig veröffentlicht wurde, benachrichtigen wir Sie umgehend und fordern Sie dazu auf, Ihren Schlüssel neu zu generieren. Für Unternehmen ist es in einem solchen Falle von entscheidender Bedeutung, unverzüglich zu handeln. Nur so können potenzielle Schäden und finanzielle Verluste eingedämmt werden, die durch die unbefugte Verwendung des geleakten Schlüssels verursacht werden. Je nach Risiko und Kontoaktivität entscheiden wir möglicherweise auch direkt, den Schlüssel in Ihrem Namen neu zu generieren. Wir benachrichtigen Sie dann über alle ergriffenen Maßnahmen.
Stripe garantiert nicht, dass wir alle geleakten 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.