Warum und wie wird der API-Endpunkt gesichert?

Wie sichern Sie Ihre API?

Es ist das Zeitalter der Explosion der digitalen Wirtschaft, und riesige Datenmengen werden durch APIs geleitet. Business, Spiele, Bildung, Wetter, Wissenschaft, Kunst. . . Sie nennen es; alles funktioniert über APIs. Für eine Welt, die so grundlegend auf APIs angewiesen ist, wird der Sicherheit überraschend wenig Aufmerksamkeit geschenkt.

Für Entwickler reichen die Voreinstellungen ihrer Frameworks; oder noch schlimmer, wenn keine Frameworks verwendet werden, denken sie, dass sie Sicherheitspraktiken befolgen. Systemadministratoren verlassen sich auf die von ihrer Infrastruktur oder ihrem Dienstanbieter angebotene Standardsicherheit.

Kein schöner Anblick, wenn Sie mich fragen.

Quelle: developer.ibm.com

Unnötig zu erwähnen, dass viel auf dem Spiel steht, was wir erst realisieren, wenn etwas passiert wirklich schrecklich das passiert.

Aber der Reihe nach. 🙂

Warum sichere API-Endpunkte?

Das muss ein Kinderspiel sein, oder?

Wir müssen Endpunkte sichern, denn davon hängt das Geschäft ab.

Während das an sich schon ein starkes Argument ist, möchte ich den Blickwinkel ein wenig erweitern und andere verwandte, aber ebenso tödliche Konsequenzen hervorheben.

Geschäftsverlust 📉

Dies ist das Offensichtliche. Wenn es jemandem gelingt, an Ihren API-Endpunkten herumzuspielen, wird dies alles zum Erliegen bringen. Sicherheitsverletzungen können auch viel Zeit in Anspruch nehmen, um sich davon zu erholen, was in geschäftlicher Hinsicht Selbstmord bedeutet. Es stimmt zwar, dass die meisten Unternehmen wahrscheinlich nicht von einer oder zwei Stunden Ausfallzeit betroffen sind, für einige ist dies jedoch nicht zulässig.

Stellen Sie sich vor, eine Wechselstube wäre für ein paar Minuten ausgefallen!

Compliance-Probleme

Wenn Sie Ihre APIs nicht richtig sichern, können Sie ernsthafte Probleme bekommen, je nachdem, mit welchen Regionen oder Branchen Sie es zu tun haben. Wenn Sie beispielsweise für die Bankenbranche tätig sind (insbesondere in der EU), werden die Kosten, wenn Sie entdeckt werden, dass Sie mit unsicheren APIs arbeiten, zu massiven rechtlichen und Compliance-Problemen führen. So sehr, dass es sogar das Ende Ihres Unternehmens bedeuten könnte.

Reputationsverlust

Gehackt zu werden ist an sich schmerzhaft genug, aber wenn Neuigkeiten an die Öffentlichkeit gelangen, wird Ihr Markenimage einen unwiederbringlichen Verlust davontragen. Sony wurde zum Beispiel schon einige Male sehr schlimm gehackt, und in Sicherheitskreisen ist das Unternehmen ein Gespött von Arten.

Auch wenn kein tatsächlicher Daten- oder Geldverlust entsteht, viel Glück beim Versuch, Ihre eiligen Kunden zu überzeugen. 🙂

Überhöhte Infrastrukturrechnungen 💰

Wenn Ihre API auf einer Infrastruktur ausgeführt wird, verbraucht sie Ressourcen (meistens Bandbreite, CPU und Arbeitsspeicher). Wenn beispielsweise die API nicht richtig gesichert ist und böswillige Außenstehende damit interagieren können, ist es möglich, dass sie die API dazu zwingen, weiterhin eine Menge sinnloser Arbeit zu erledigen (z. B. schwere Datenbankabfragen auszuführen), was zu Schießereien führen kann erhöhen Sie Ihre Rechnungen aus Gründen.

Auf Plattformen, auf denen die automatische Skalierung von Ressourcen aktiviert ist (wie AWS), können die Ergebnisse schockierend sein (off-topic, aber wenn Sie jemals in eine Suppe wie diese auf AWS geraten, haben sie Verständnis für die Situation und geben sofort auf die überhöhte Rechnung – zumindest zum Zeitpunkt des Schreibens!).

  So verwenden Sie Microsoft Teams-Befehle

Moral der Mannschaft

Sie denken vielleicht, dass das Team, das diese Kompromisse zugelassen hat, die Moral darüber verlieren wird. Nicht ganz. Es ist möglich, dass die Kompromisse auf eine schwache Infrastruktursicherheit zurückzuführen sind, was die Entwickler entmutigen wird oder umgekehrt.

Sollte dies lange genug passieren, werden Sie eine Kultur in Ihren Händen haben, die Sie bereuen werden, sich entwickelt zu haben.

Gewinne des Konkurrenten

Nehmen wir also an, es gab einen Verstoß, aber es gab keinen tatsächlichen Verlust. Ihre Konkurrenten werden den Vorfall jedoch nutzen, um ihre eigene API zu trommeln und zu behaupten, wie viel sicherer ihre ist (auch wenn dies nicht der Fall ist!). Nochmals viel Glück beim Versuch, den Markt zu überzeugen. 🙂

Alles in allem haben Sicherheitsverletzungen Konsequenzen, die über den Verlust von Geld hinausgehen.

Best Practices zum Sichern von API-Endpunkten

Glücklicherweise gibt es bestimmte einfach zu implementierende und gut verstandene Praktiken, die Sie auf Ihre API-Endpunkte anwenden können, um sie zu sichern. Hier ist, was die meisten Sicherheitsexperten empfehlen.

HTTPS immer 🔒

Wenn Ihre API-Endpunkte es API-Konsumenten ermöglichen, über http oder andere unsichere Protokolle zu kommunizieren, setzen Sie sie einem großen Risiko aus. Passwörter, geheime Schlüssel und Kreditkarteninformationen können wie alle anderen leicht gestohlen werden Man-in-the-Middle-Angriffoder Packet Sniffer Tool können sie als Klartext lesen.

Machen Sie also immer https zur einzigen verfügbaren Option. Egal wie trivial ein Endpunkt erscheinen mag, eine Verbindung über http sollte nicht einmal eine Option sein. Das TLS-Zertifikat kostet nicht viel; Sie können für nur 20 US-Dollar bei der kaufen SSL-Speicher.

Einweg-Passwort-Hashing

Passwörter sollten niemals im Klartext gespeichert werden, da im Falle einer Sicherheitsverletzung alle Benutzerkonten kompromittiert werden. Gleichzeitig sollte symmetrische Verschlüsselung strikt vermieden werden, da jeder Angreifer, der erfinderisch und hartnäckig genug ist, in der Lage sein wird, sie zu knacken.

Die einzige vorgeschlagene Option sind asymmetrische (oder „einseitige“) Verschlüsselungsalgorithmen zum Speichern von Passwörtern. Auf diese Weise können weder Angreifer noch Entwickler oder Systemadministratoren im Unternehmen Kundenpasswörter auslesen.

Starke Authentifizierung 💪

Mittlerweile hat fast jede API eine Form der Authentifizierung, aber meiner Meinung nach funktioniert das OAuth2-System am besten. Im Gegensatz zu anderen Authentifizierungsmethoden teilt es Ihr Konto in Ressourcen auf und ermöglicht nur begrenzten Zugriff auf den Inhaber des Auth-Tokens.

Gleichzeitig ist es eine weitere sehr gute Praxis, Token so einzustellen, dass sie alle, sagen wir, 24 Stunden ablaufen, damit sie aktualisiert werden müssen. Auf diese Weise besteht die Möglichkeit, dass die 24-Stunden-Frist die Auswirkungen des Verstoßes verringert, selbst wenn Ihr Token durchgesickert ist.

Ratenbegrenzung anwenden

Sofern Sie keine API haben, die jede Minute von Millionen von Menschen verwendet wird, ist es eine sehr gute Idee, ein Limit dafür zu erzwingen, wie viele Aufrufe ein Client in einem bestimmten Zeitfenster an die API senden kann.

Dies dient hauptsächlich dazu, Bots abzuschrecken, die jede Sekunde Hunderte von gleichzeitigen Anfragen senden und Ihre API dazu bringen können, Systemressourcen ohne triftigen Grund zu verbrauchen. Alle Webentwicklungs-Frameworks werden mit einer ratenbegrenzenden Middleware geliefert (und wenn nicht, ist es ziemlich einfach, sie über eine Bibliothek hinzuzufügen), deren Einrichtung nur etwa eine Minute dauert.

  Die 5 besten Microsoft Teams-Funktionen für Online-Meetings

Eingabe validieren

Das klingt wie ein Kinderspiel, aber Sie werden überrascht sein, wie viele APIs darauf hereinfallen. Die Validierung der Eingabe bedeutet nicht nur, dass die eingehenden Daten im richtigen Format vorliegen, sondern auch, dass keine Überraschungen möglich sind. Ein einfaches Beispiel ist die SQL-Injection, die Ihre Datenbanken auslöschen kann, wenn Sie die Abfragezeichenfolgen mit wenig oder gar keiner Überprüfung passieren lassen.

Ein weiteres Beispiel ist die Validierung der POST-Anforderungsgröße und die Rückgabe eines korrekten Fehlercodes und einer korrekten Nachricht an den Client. Der Versuch, lächerlich große Eingaben zu akzeptieren und zu analysieren, wird nur dazu dienen, die API zu sprengen.

Erzwingen Sie ggf. die Filterung von IP-Adressen

Wenn Sie sich für B2B-Dienste interessieren und Ihre APIs von Unternehmen an bestimmten Standorten verwendet werden, sollten Sie eine zusätzliche Sicherheitsebene hinzufügen, die IP-Adressen einschränkt, die auf Ihre API zugreifen können. Für jeden neuen Standort und jeden neuen Kunden muss die IP-Adresse mit der eingehenden Anfrage verglichen werden.

Ja, es stört das Onboarding, aber das Endergebnis ist eine viel strengere Sicherheit, als auf andere Weise erreicht werden kann.

Tools zur Erhöhung des API-Schutzes

Gibt es Tools, die uns helfen können, Schwachstellen zu scannen, oder noch besser, die erste Verteidigungslinie bieten, wenn es um die Sicherung von APIs geht?

Zum Glück ja. Es gibt mehrere Tools, die Sie verwenden können, aber seien Sie gewarnt, dass am Ende des Tages keine Sicherheitsstrategie perfekt ist. Allerdings können diese Tools Ihre API-Sicherheit um ein Vielfaches erhöhen, daher werden sie empfohlen.

Metasplit ist ein äußerst beliebtes Open-Source-Framework für Penetrationstests von Web-Apps und APIs. Es kann Ihre API auf mehrere verschiedene Parameter scannen und ein umfassendes Sicherheitsaudit für verschiedene Ebenen vorhandener Schwachstellen durchführen.

Der von Metasploit durchgeführte Sicherheitsscan kann Ihnen beispielsweise sagen, ob Ihre API-Signaturen die zugrunde liegenden Technologien und das Betriebssystem preisgeben oder nicht; Dies zu verbergen, ist oft die halbe Miete in der API-Sicherheit.

Während das Open-Source-Core-Framework im Allgemeinen ausreicht, gibt es ausgezeichnete kostenpflichtige Produkte, die auf Metasploit aufbauen und einen Blick wert sind. Der Pro-Plan ist großartig, wenn Sie Premium-Support wünschen und das Framework ausführlich nutzen, ist aber im Allgemeinen nicht erforderlich, wenn Ihr Team erfahren genug ist.

AppTrana

Der dedizierte API-Schutz von AppTrana Funktionen bieten eine umfassende risikobasierte Lösung zum Schutz vor einer Vielzahl von API-Bedrohungen, einschließlich OWASP API Top 10, API-basierte DDoS- und Bot-Angriffe, eingebettete Bedrohungen, Datenlecks usw. Beim Testen überwacht es kontinuierlich Ihre Risikobewertung, um die Sicherheitslage zu stärken.

Der API-Schutz von AppTrana gewährleistet die umfassendste Lösung mit der Kombination aus Risikoerkennung, API-Bedrohungserkennung, API-positiven Sicherheitsrichtlinien, API-spezifischen DDoS-Richtlinien, API-spezifischen Bot-Modulen und API-Erkennungsfunktionen.

Die API-Erkennung gewährleistet vollständige Transparenz in 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ät, API-Aufrufkarten und mehr, um den Schutzstatus mit Echtzeitanalysen darzustellen.

  So senden Sie eine Standortaktualisierung an eine Skype-Gruppenkonversation

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

Wolkenflare

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

Invicti

Invicti kommt mit einem Alleinstellungsmerkmal des „Proof-basierten Scannens“. Einfacher ausgedrückt ist es oft möglich, dass unregelmäßige Netzwerkbedingungen oder einige weniger bekannte API-Verhaltensweisen als Sicherheitslücken ausgelegt werden, die sich später als falsch herausstellen.

Dies verschwendet Ressourcen, da alle gemeldeten Schwachstellen erneut manuell gescannt werden müssen, um zu bestätigen, dass es sich nicht um Fehlalarme handelt. Invicti sagt, dass das Tool in der Lage ist, Ihnen einen ausreichend starken Proof of Concept für die Berichte zu liefern und Zweifel an den gefundenen Schwachstellen auszuräumen.

Mit Unternehmen wie Sony, Religare, Coca-Cola, Huawei usw. auf ihrer Kundenliste können Sie sicher sein, dass diese Leute etwas richtig machen. 🙂

SoapUI Pro

Gebaut von SmartBear, SoapUI Pro ist eine intuitive und einfache Möglichkeit, API-Tests zu erstellen und genaue, datengesteuerte Berichte darüber zu erhalten. Es lässt sich auch nahtlos in Ihre CI/CD-Pipeline integrieren und stellt sicher, dass keine neuen Code-Hinzufügungen die Sicherheit Ihrer API gefährden.

SoapUI ist in der Lage, mit Swagger, OAS und anderen gängigen API-Standards zu arbeiten, wodurch die Zeit bis zum Einstieg erheblich verkürzt wird. Mit Kunden wie Microsoft, Cisco, MasterCard, Oracle usw. und Plänen ab 659 US-Dollar pro Jahr ist dies ein würdiges Tool für sicherere APIs.

Okta

Versuchen Okta Damit sich Ihre Entwickler auf die Verbesserung der Benutzererfahrung konzentrieren und Ihre Unternehmensdaten effizient sichern können. Es bietet OAuth 2.0-Autorisierung und ist sowohl für mobile als auch für Webanwendungen konzipiert. Es ist auch mit API-Verwaltungsdiensten von Drittanbietern kompatibel.

Verwenden Sie Okta, um alle Richtlinien für den API-Zugriff über benutzerfreundliche und speziell entwickelte Konsolen zu erstellen, zu prüfen und zu verwalten, ohne benutzerdefinierte Codes zu benötigen. Es bietet Ihnen zusätzliche Flexibilität, sodass Sie Ihre APIs nicht mit zusätzlichen Gateway-Instanzen sichern müssen.

Okta umfasst identitätsgesteuerte Richtlinien, um verschiedene Arten von Benutzern und Diensten unter einem Dach zu kontrollieren. Definieren Sie den Zugriff abhängig von Benutzerprofilen, Netzwerken, Gruppen, Einwilligungen und Clients. Erweitern Sie Token mit dynamischen Daten aus Ihren internen Systemen, um eine schnellere Integration und nahtlose Migration zu genießen.

Es erleichtert eine zentralisierte Verwaltung von APIs und lässt Sie API-Ressourcen schützen. Okta konzentriert sich auf die Sicherheit, indem es Ihnen ermöglicht, den Zugriff zwischen verschiedenen Mikrodiensten zu schützen.

Fazit

Es gibt kein Mangel der auf dem Markt verfügbaren API-Sicherheitstools, ob Open Source, kostenlos oder kommerziell oder eine beliebige Kombination davon.

Probieren Sie einige davon aus der Liste aus und finden Sie heraus, was für Ihre Anforderungen am besten geeignet ist.