Wie sichern Sie Ihre API?
Es ist das Zeitalter der Explosion der digitalen Wirtschaft, und massive Datenlasten werden über APIs geleitet. Business, Gaming, Bildung, Wetter, Wissenschaft, Kunst. . . Sie nennen es; Alles funktioniert auf APIs. In einer Welt, die so grundlegend auf APIs angewiesen ist, liegt der Schwerpunkt überraschend wenig auf Sicherheit.
Für Entwickler sind die Standardeinstellungen ihrer Frameworks ausreichend. oder noch schlimmer, wenn keine Frameworks verwendet werden, denken sie, dass sie folgen Sicherheitspraktiken. Für Systemadministratoren ist die Standardsicherheit, die von ihrer Infrastruktur oder ihrem Dienstanbieter angeboten wird, die, auf die sie sich verlassen.
Kein schöner Anblick, wenn Sie mich fragen.

Unnötig zu erwähnen, dass viel auf dem Spiel steht, was wir nur erkennen, wenn etwas passiert wirklich schrecklich das passiert.
Aber das Wichtigste zuerst. 🙂
Warum sichere API-Endpunkte?
Das muss ein Kinderspiel sein, oder?
Wir müssen Endpunkte sichern, denn davon hängt das Geschäft ab.
Das ist an sich schon ein starkes Argument, aber ich möchte den Standpunkt ein wenig erweitern und andere verwandte, aber ebenso tödliche Konsequenzen hervorheben.

Geschäftsverlust 📉
Dies ist die offensichtliche. Wenn es jemandem gelingt, mit Ihren API-Endpunkten herumzuspielen, wird alles kreischend zum Stillstand gebracht. Sicherheitsverstoss Es kann auch viel Zeit in Anspruch nehmen, sich zu erholen, was sich in geschäftlicher Hinsicht in Selbstmord niederschlägt. Zwar sind die meisten Unternehmen wahrscheinlich nicht von ein oder zwei Stunden Ausfallzeit betroffen, für einige ist dies jedoch nicht zulässig.
Stellen Sie sich vor, ein Geldwechsel ist für ein paar Minuten ausgefallen!
Compliance-Probleme
Wenn Sie Ihre APIs nicht ordnungsgemäß sichern, kann dies zu ernsthaften Problemen führen, je nachdem, mit welchen Regionen oder Branchen Sie es zu tun haben. Wenn Sie beispielsweise im Bankensektor tätig sind (insbesondere in der EU), führen die Kosten für die Entdeckung mit unsicheren APIs zu massiven rechtlichen und Compliance-Problemen. So sehr, dass es sogar das Ende Ihres Geschäfts 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 Lachnummer von Art.
Auch wenn kein tatsächlicher Daten- oder Geldverlust auftritt, viel Glück beim Versuch, Ihre Kunden zu überzeugen. 🙂
Überhöhte Infrastrukturrechnungen 💰
Wenn Ihre API in der Infrastruktur ausgeführt wird, verbraucht sie Ressourcen (hauptsächlich Bandbreite, CPU und Speicher). Wenn beispielsweise die API nicht ordnungsgemäß gesichert ist und böswillige Außenstehende mit ihr interagieren können, können sie die API dazu zwingen, weiterhin viel sinnlose Arbeit zu leisten (z. B. umfangreiche Datenbankabfragen auszuführen), die schießen kann erhöhen Sie Ihre Rechnungen aus Gründen.
Auf Plattformen, auf denen die automatische Skalierung von Ressourcen aktiviert ist (z AWS) können die Ergebnisse schockierend sein (nicht zum Thema gehörend, aber wenn Sie jemals in einer Suppe wie dieser auf AWS gefangen werden, verstehen sie die Situation sehr gut und verzichten sofort auf die aufgeblasene Rechnung - zumindest zum Zeitpunkt des Schreibens!) .
Team Moral
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 genügend Zeit geschehen, haben Sie eine Kultur in den Händen, die Sie bereuen werden, sich entwickeln zu lassen.
Gewinne des Wettbewerbers
Nehmen wir also an, es gab einen Verstoß, aber keinen tatsächlichen Verlust. Ihre Konkurrenten werden den Vorfall jedoch nutzen, um ihre eigene API zusammenzufassen 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 gibt es Konsequenzen für Sicherheitsverletzungen, die über den Verlust von Geld hinausgehen.
Best Practices zum Sichern von API-Endpunkten
Zum Glück gibt es bestimmte einfach zu implementierende und gut verstandene Methoden, die Sie auf Ihre API-Endpunkte anwenden können, um sie zu sichern. Folgendes empfehlen die meisten Sicherheitsexperten.
HTTPS immer 🔒
Wenn Ihre API-Endpunkte es API-Verbrauchern ermöglichen, darüber zu sprechen http
oder andere nicht sichere Protokolle setzen Sie sie einem großen Risiko aus. Passwörter, geheime Schlüssel und Kreditkarteninformationen können leicht gestohlen werden Man-in-the-Middle-Angriff, oder das Paket-Sniffer-Tool kann sie als einfachen Text lesen.
Also immer machen https
einzige Option verfügbar. Egal wie trivial ein Endpunkt erscheinen mag, die Verbindung wird hergestellt http
sollte nicht einmal eine Option sein. TLS-Zertifikat kostet nicht viel; Sie können für nur $ 20 von der kaufen SSL-Speicher.

Einweg-Passwort-Hashing
Passwörter sollten niemals als einfacher Text gespeichert werden, da im Falle einer Sicherheitsverletzung alle Benutzerkonten gefährdet werden. Gleichzeitig sollte eine symmetrische Verschlüsselung strikt vermieden werden, da jeder Angreifer, der genial und hartnäckig genug ist, diese brechen kann.
Die einzige vorgeschlagene Option sind asymmetrische (oder "Einweg") Verschlüsselungsalgorithmen zum Speichern von Passwörtern. Auf diese Weise können weder ein Angreifer noch ein Entwickler oder Systemadministrator im Unternehmen Kundenkennwörter lesen.
Starke Authentifizierung 💪
Jetzt hat fast jede API eine Form der Authentifizierung, aber meiner Meinung nach funktioniert das OAuth2-System am besten. Im Gegensatz zu anderen Authentifizierungsmethoden wird Ihr Konto in Ressourcen unterteilt und es wird nur ein eingeschränkter Zugriff auf den Authentifizierungstoken-Träger gewährt.
Gleichzeitig ist es eine weitere sehr gute Methode, Token so einzustellen, dass sie beispielsweise alle 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 nicht über eine API verfügen, die jede Minute von Millionen von Menschen verwendet wird, ist es eine sehr gute Idee, ein Limit für die Anzahl der Aufrufe festzulegen, die ein Client in einem bestimmten Zeitfenster an die API tätigen kann.
Dies dient hauptsächlich dazu, Bots zu entmutigen, die weiterhin jede Sekunde Hunderte von gleichzeitigen Anforderungen senden und Ihre API dazu bringen können, Systemressourcen ohne guten Grund zu verbrauchen. Alle Webentwicklungs-Frameworks werden mit einer geschwindigkeitsbeschränkenden Middleware geliefert (und wenn nicht, ist es ziemlich einfach, sie über eine Bibliothek hinzuzufügen), deren Einrichtung nur etwa eine Minute dauert.
Eingabe validieren
Das klingt wie ein Kinderspiel, aber Sie werden überrascht sein, wie viele APIs darauf hereinfallen. Die Überprüfung der Eingabe bedeutet nicht nur, zu überprüfen, ob die eingehenden Daten im richtigen Format vorliegen, sondern auch, dass keine Überraschungen möglich sind. Ein einfaches Beispiel ist die SQL-Injection, mit der Ihre Datenbanken gelöscht werden können, wenn Sie die Abfragezeichenfolgen mit wenig oder keiner Überprüfung durchlaufen lassen.
Ein weiteres Beispiel ist die Überprüfung der POST-Anforderungsgröße und die Rückgabe eines geeigneten Fehlercodes und einer Meldung an den Client. Der Versuch, lächerlich große Eingaben zu akzeptieren und zu analysieren, dient nur dazu, die API in die Luft zu jagen.
Erzwingen Sie gegebenenfalls die IP-Adressfilterung
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 fügt Belästigung hinzu 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 verschiedene Tools, die Sie verwenden können. Beachten Sie jedoch, dass am Ende des Tages keine Sicherheitsstrategie perfekt ist. Trotzdem können diese Tools Ihre API-Sicherheit um ein Vielfaches erhöhen, daher werden sie empfohlen.

Metasploit
Metasploit ist ein äußerst beliebtes Open-Source-Framework für Penetrationstests von Web-Apps und APIs. Es kann Ihre API anhand verschiedener Parameter scannen und eine umfassende Sicherheitsüberprüfung auf verschiedene Schwachstellenstufen durchführen.
Der von Metasploit durchgeführte Sicherheitsscan kann Ihnen beispielsweise mitteilen, ob Ihre API-Signaturen die zugrunde liegenden Technologien und das Betriebssystem preisgeben oder nicht. Dies zu verbergen ist oft die halbe Miete für die API-Sicherheit.

Während das Open-Source-Core-Framework im Allgemeinen ausreicht, gibt es auf Metasploit basierende, kostenpflichtige Produkte, die einen Blick wert sind. Der Pro-Plan ist großartig, wenn Sie Premium-Support wünschen und das Framework ausführlich nutzen möchten. Er ist jedoch im Allgemeinen nicht erforderlich, wenn Ihr Team über ausreichende Erfahrung verfügt.
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.
AppTranas Der API-Schutz 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-Angriffsoberflä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.
Mit Indusface AppTrana können Sie maßgeschneiderte API-spezifische Richtlinien generieren, um API-bezogenen Missbrauch in Echtzeit zu blockieren.
Cloudflare
Nicht nur CDN, sondern Cloudflare bieten viele Sicherheitsfunktionen wie WAF, Ratenbegrenzung, DDoS SchutzDies ist wichtig, um Ihre API vor Online-Bedrohungen zu schützen.
Invicti
Invicti kommt mit einem Alleinstellungsmerkmal des "Proof-basierten Scannens". Einfacher ausgedrückt ist es häufig möglich, dass unregelmäßige Netzwerkbedingungen oder 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 problemlos in Ihre CI / CD-Pipeline integrieren und stellt sicher, dass keine neuen Code-Ergänzungen die Sicherheit Ihrer API gefährden.

SoapUI kann mit Swagger, OAS und anderen gängigen API-Standards arbeiten, wodurch sich die Zeit für den Einstieg erheblich verkürzt. 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

MIT DER INTELLIGENTEN SCHADENKALKULATION VON 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 überwachen und zu verwalten, ohne dass benutzerdefinierte Codes erforderlich sind. 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 zur Steuerung verschiedener Arten von Benutzern und Diensten unter einem Dach. Definieren Sie den Zugriff abhängig von Benutzerprofilen, Netzwerken, Gruppen, Einwilligungen und Clients. Erweitern Sie Token mithilfe dynamischer Daten aus Ihren internen Systemen, um eine schnellere Integration und nahtlose Migration zu ermöglichen.
Es erleichtert die zentrale Verwaltung von APIs und ermöglicht den Schutz von API-Ressourcen. Okta konzentriert sich auf die Sicherheit, indem Sie den Zugriff zwischen verschiedenen Mikrodiensten schützen können.
Fazit
Es gibt kein Mangel von 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.