Warum und wie wird der API-Endpunkt gesichert?

Wie Sie Ihre APIs absichern: Ein umfassender Leitfaden

Wir leben im Zeitalter der digitalen Wirtschaft, in dem enorme Datenmengen über APIs fließen. Ob Handel, Spiele, Bildung, Wetter, Wissenschaft oder Kunst – nahezu alles basiert auf APIs. Angesichts dieser fundamentalen Abhängigkeit wird der Sicherheit erstaunlich wenig Aufmerksamkeit geschenkt.

Entwickler verlassen sich oft auf die Standardeinstellungen ihrer Frameworks oder, schlimmer noch, glauben, dass sie Sicherheitsrichtlinien befolgen, wenn sie keine Frameworks verwenden. Systemadministratoren wiederum vertrauen auf die Standardsicherheit, die ihre Infrastruktur oder Dienstleister bieten.

Dies ist keine ideale Situation, wenn man mich fragt.

Quelle: developer.ibm.com

Es steht viel auf dem Spiel, was uns oft erst bewusst wird, wenn ein wirklich schreckliches Ereignis eintritt.

Doch eins nach dem anderen. 🙂

Warum sind sichere API-Endpunkte unerlässlich?

Die Antwort scheint offensichtlich, oder?

Wir müssen API-Endpunkte schützen, da der Geschäftserfolg davon abhängt.

Obwohl dies an sich schon ein überzeugendes Argument ist, möchte ich den Fokus erweitern und auf andere, ebenso gravierende Folgen hinweisen.

Geschäftseinbußen 📉

Das ist die offensichtlichste Konsequenz. Wenn Unbefugte in Ihre API-Endpunkte eindringen, kann dies den gesamten Betrieb lahmlegen. Sicherheitsverletzungen können zudem lange Erholungszeiten nach sich ziehen, was geschäftlich gesehen fatal ist. Zwar dürften die meisten Unternehmen nicht unter einer Stunde Ausfallzeit leiden, doch für manche ist dies absolut inakzeptabel.

Man stelle sich vor, eine Börse wäre nur für wenige Minuten offline!

Compliance-Probleme

Wenn Ihre APIs nicht angemessen gesichert sind, können je nach Ihren Zielregionen oder -branchen schwerwiegende Konsequenzen drohen. Beispielsweise können in der Bankenbranche (insbesondere in der EU) massive rechtliche und Compliance-Probleme entstehen, wenn unsichere APIs festgestellt werden. Dies kann sogar das Ende Ihres Unternehmens bedeuten.

Reputationsverlust

Ein Hack ist an sich schon schmerzlich genug. Wenn die Nachricht jedoch öffentlich wird, erleidet Ihr Markenimage irreparablen Schaden. Sony wurde beispielsweise schon mehrmals schwer gehackt und gilt in Sicherheitskreisen als abschreckendes Beispiel.

Selbst ohne tatsächlichen Daten- oder Geldverlust, viel Erfolg dabei, Ihre verunsicherten Kunden zu beruhigen. 🙂

Überhöhte Infrastrukturkosten 💰

Wenn Ihre API auf einer Infrastruktur betrieben wird, verbraucht sie Ressourcen (vor allem Bandbreite, CPU und RAM). Bei unzureichend gesicherten APIs können bösartige Akteure die API zu unnötiger Arbeit zwingen (z.B. durch massive Datenbankabfragen), was Ihre Rechnungen in die Höhe treiben kann.

Auf Plattformen mit automatischer Ressourcenskalierung (wie AWS) können die Kosten überraschend hoch sein. (Anekdote: AWS ist kulant und kann die überhöhte Rechnung sofort reduzieren, wenn sie die Situation verstehen – zumindest zum Zeitpunkt des Schreibens!).

Demoralisierung des Teams

Man könnte annehmen, dass das Team, das die Kompromittierung ermöglichte, darunter leidet. Nicht unbedingt. Kompromittierungen können durch schwache Infrastruktursicherheit verursacht werden, was die Entwickler demotiviert oder umgekehrt.

Sollte dies zu oft geschehen, riskieren Sie eine unerwünschte Unternehmenskultur.

Gewinne für die Konkurrenz

Angenommen, es gab einen Vorfall ohne tatsächlichen Verlust. Ihre Konkurrenten werden dies ausnutzen, um ihre eigenen APIs anzupreisen und deren angebliche Sicherheit hervorzuheben (selbst wenn dies nicht der Fall ist!). Viel Erfolg dabei, den Markt davon zu überzeugen. 🙂

Alles in allem haben Sicherheitsverletzungen weitreichende Folgen, die über finanzielle Verluste hinausgehen.

Bewährte Methoden zur Absicherung von API-Endpunkten

Glücklicherweise gibt es etablierte und einfach umzusetzende Methoden, um Ihre API-Endpunkte zu sichern. Hier sind die Empfehlungen der meisten Sicherheitsexperten.

Immer HTTPS 🔒

Wenn Ihre API-Endpunkte die Kommunikation über HTTP oder andere unsichere Protokolle erlauben, setzen Sie sich einem erheblichen Risiko aus. Passwörter, geheime Schlüssel und Kreditkartendaten können leicht durch Man-in-the-Middle-Angriffe oder Packet Sniffer Tools im Klartext gelesen werden.

HTTPS sollte daher immer die einzige verfügbare Option sein. Selbst bei trivialen Endpunkten sollte HTTP keine Option darstellen. TLS-Zertifikate sind kostengünstig; Sie sind schon für ca. 20 $ erhältlich bei SSL-Anbietern.

Einweg-Passwort-Hashing

Passwörter sollten niemals im Klartext gespeichert werden, da bei einer Sicherheitsverletzung alle Benutzerkonten gefährdet wären. Symmetrische Verschlüsselung sollte ebenfalls vermieden werden, da sie von erfahrenen und hartnäckigen Angreifern geknackt werden kann.

Die einzige empfohlene Option sind asymmetrische (oder „Einweg“-) Verschlüsselungsalgorithmen zur Speicherung von Passwörtern. Dadurch können weder Angreifer noch Entwickler oder Systemadministratoren Kundenpasswörter auslesen.

Starke Authentifizierung 💪

Mittlerweile verfügt fast jede API über eine Authentifizierungsmethode, doch das OAuth2-System hat sich bewährt. Im Gegensatz zu anderen Methoden teilt es Ihr Konto in Ressourcen auf und gewährt dem Inhaber des Auth-Tokens nur begrenzten Zugriff.

Zudem ist es ratsam, Token beispielsweise alle 24 Stunden ablaufen zu lassen und eine Erneuerung zu erzwingen. So können selbst bei einer Kompromittierung des Tokens die Auswirkungen durch das 24-Stunden-Limit eingedämmt werden.

Ratenbegrenzung implementieren

Sofern Ihre API nicht minütlich von Millionen Nutzern verwendet wird, ist es empfehlenswert, die Anzahl der Anfragen eines Clients innerhalb eines bestimmten Zeitraums zu begrenzen.

Dies dient vor allem der Abwehr von Bots, die jede Sekunde Hunderte von Anfragen senden und die API-Ressourcen unnötig belasten können. Alle gängigen Webentwicklungs-Frameworks verfügen über eine Ratenbegrenzungs-Middleware (oder diese kann einfach über eine Bibliothek hinzugefügt werden), die in wenigen Minuten eingerichtet ist.

Eingaben validieren

Dies klingt banal, doch überraschend viele APIs sind anfällig dafür. Eingabevalidierung bedeutet nicht nur, dass eingehende Daten das richtige Format haben, sondern auch, dass keine unerwarteten Aktionen ausgelöst werden. Ein simples Beispiel ist die SQL-Injection, bei der Datenbanken gelöscht werden können, wenn Abfragezeichenketten ohne Kontrolle durchgelassen werden.

Ein weiteres Beispiel ist die Validierung der Größe von POST-Anfragen und die Rückgabe von korrekten Fehlercodes und Nachrichten an den Client. Der Versuch, übermäßig große Eingaben zu verarbeiten, kann die API zum Absturz bringen.

IP-Adressfilterung erzwingen (falls relevant)

Für B2B-Dienste, bei denen die API von Unternehmen an bestimmten Standorten genutzt wird, empfiehlt es sich, den API-Zugriff auf bestimmte IP-Adressen zu beschränken. Bei jedem neuen Standort oder Kunden muss die eingehende IP-Adresse mit einer Whitelist abgeglichen werden.

Zwar verkompliziert dies das Onboarding, doch die erhöhte Sicherheit ist es wert.

Tools zur Verbesserung des API-Schutzes

Gibt es Tools, die uns helfen können, Schwachstellen zu erkennen oder eine erste Verteidigungslinie für die API-Sicherheit darzustellen?

Glücklicherweise ja. Es gibt zahlreiche Tools, doch keine Sicherheitsstrategie ist perfekt. Diese Tools können Ihre API-Sicherheit jedoch erheblich verbessern und werden daher empfohlen.

Metasploit ist ein sehr beliebtes Open-Source-Framework für Penetrationstests von Web-Apps und APIs. Es kann Ihre API auf verschiedene Parameter scannen und ein umfassendes Sicherheitsaudit auf verschiedenen Ebenen durchführen.

Metasploit kann beispielsweise feststellen, ob Ihre API-Signaturen die zugrundeliegenden Technologien und das Betriebssystem preisgeben. Dies zu verbergen ist oft die halbe Miete in der API-Sicherheit.

Die Open-Source-Version ist meist ausreichend, doch es gibt auch exzellente kostenpflichtige Produkte, die auf Metasploit aufbauen und einen Blick wert sind. Die Pro-Version ist sinnvoll, wenn Sie Premium-Support wünschen und das Framework intensiv nutzen, aber in der Regel nicht erforderlich, wenn Ihr Team erfahren genug ist.

AppTrana

Der API-Schutz von AppTrana bietet eine umfassende, risikobasierte Lösung zum Schutz vor einer Vielzahl von API-Bedrohungen, darunter OWASP API Top 10, API-basierte DDoS- und Bot-Angriffe, eingebettete Bedrohungen, Datenlecks usw. Durch kontinuierliche Überwachung Ihrer Risikobewertung wird die Sicherheitslage fortlaufend verbessert.

Der API-Schutz von AppTrana bietet eine Komplettlösung durch die Kombination von Risikoerkennung, API-Bedrohungserkennung, positiven API-Sicherheitsrichtlinien, API-spezifischen DDoS-Richtlinien, API-spezifischen Bot-Modulen und API-Erkennungsfunktionen.

Die API-Erkennung sorgt für vollständige Transparenz in Bezug auf API-Aufrufe, einschließlich undokumentierter und Schatten-APIs, um Ihre API-Angriffsfläche zu verstehen. Dieser dedizierte API-Schutz sammelt Informationen über Benutzerdetails, API-Nutzungsverhalten, Bedrohungsaktivitäten, API-Aufrufkarten und mehr, um den Schutzstatus mit Echtzeitanalysen darzustellen.

Mit Indusface AppTrana können Sie maßgeschneiderte API-spezifische Richtlinien erstellen, um API-bezogenen Missbrauch in Echtzeit zu blockieren.

Cloudflare

Nicht nur ein CDN, sondern auch Cloudflare bietet zahlreiche Sicherheitsfunktionen wie WAF, Ratenbegrenzung und DDoS-Schutz, die für den Schutz Ihrer API vor Online-Bedrohungen unerlässlich sind.

Invicti

Invicti zeichnet sich durch „Proof-basiertes Scannen“ aus. Ungewöhnliche Netzwerkbedingungen oder weniger bekannte API-Verhaltensweisen können fälschlicherweise als Sicherheitslücken interpretiert werden.

Dies verschwendet Ressourcen, da alle gemeldeten Schwachstellen manuell überprüft werden müssen, um Fehlalarme auszuschließen. Invicti liefert einen starken Proof of Concept für die Berichte, um Zweifel an den gefundenen Schwachstellen auszuräumen.

Mit Unternehmen wie Sony, Religare, Coca-Cola, Huawei usw. in der Kundenliste können Sie sicher sein, dass dieses Tool effektiv ist. 🙂

SoapUI Pro

Entwickelt von SmartBear, ist SoapUI Pro eine intuitive und einfache Möglichkeit, API-Tests zu erstellen und genaue datengestützte Berichte zu erhalten. Die nahtlose Integration in Ihre CI/CD-Pipeline stellt sicher, dass neue Code-Hinzufügungen die API-Sicherheit nicht gefährden.

SoapUI unterstützt Swagger, OAS und andere gängige API-Standards, was die Einarbeitungszeit verkürzt. Mit Kunden wie Microsoft, Cisco, MasterCard, Oracle usw. und Plänen ab 659 US-Dollar pro Jahr ist es ein empfehlenswertes Tool für sicherere APIs.

Okta

Okta ermöglicht es Ihren Entwicklern, sich auf die Verbesserung der Benutzererfahrung zu konzentrieren und gleichzeitig Ihre Unternehmensdaten effizient zu sichern. Es bietet OAuth 2.0-Autorisierung und ist sowohl für mobile als auch Webanwendungen konzipiert. Es ist zudem mit API-Verwaltungsdiensten von Drittanbietern kompatibel.

Mit Okta können Sie API-Zugriffsrichtlinien über benutzerfreundliche, speziell entwickelte Konsolen erstellen, überprüfen und verwalten, ohne benutzerdefinierten Code zu benötigen. Es bietet zusätzliche Flexibilität, ohne zusätzliche Gateway-Instanzen zu benötigen.

Okta umfasst identitätsgesteuerte Richtlinien zur Kontrolle verschiedener Arten von Benutzern und Diensten. Sie können den Zugriff basierend auf Benutzerprofilen, Netzwerken, Gruppen, Einwilligungen und Clients definieren. Erweitern Sie Token mit dynamischen Daten aus Ihren internen Systemen für eine schnellere Integration und reibungslose Migration.

Es ermöglicht eine zentrale API-Verwaltung und schützt API-Ressourcen. Okta konzentriert sich auf die Sicherheit, indem es den Zugriff zwischen verschiedenen Mikrodiensten schützt.

Fazit

Es gibt eine große Auswahl an API-Sicherheitstools auf dem Markt, ob Open Source, kostenlos oder kommerziell oder eine beliebige Kombination davon.

Testen Sie einige aus dieser Liste, um herauszufinden, welche am besten zu Ihren Anforderungen passen.