BLOG | NGINX

Verhindern Sie API-Angriffe mit wichtigen Tools und Best Practices für die API-Sicherheit

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Andrew Stiefel Miniaturbild
Andrew Stiefel
Veröffentlicht am 18. Juli 2023

In den letzten Jahren hat die Verbreitung von APIs die Arbeitsweise von Unternehmen erheblich verändert. APIs ermöglichen die Kommunikation und den Datenaustausch zwischen verschiedenen Anwendungen. Dadurch sind effizientere und effektivere Geschäftsprozesse und Softwareentwicklung möglich.

Mit der zunehmenden Nutzung von APIs geht jedoch auch das Risiko einer API-Ausbreitung einher. Dabei werden APIs über verteilte Teams und Architekturen hinweg erstellt und bereitgestellt, oft ohne angemessene Überwachung und Verwaltung. Dies kann für Unternehmen eine Reihe neuer Sicherheitsrisiken mit sich bringen, da jede API einen potenziellen Einstiegspunkt für Angreifer darstellt, die unbefugten Zugriff auf vertrauliche Daten und Systeme erhalten möchten.

Der Aufstieg der API-First-Softwareentwicklung

Einer der Hauptgründe für die Ausbreitung von APIs ist die Verbreitung von Microservices. Eine Microservices-Architektur zerlegt eine größere Anwendung in kleinere, einzelne Anwendungen, die über API miteinander kommunizieren. Dadurch werden komplexe Anwendungen in diskrete Teile zerlegt, die von einzelnen Teams verwaltet und unabhängig voneinander skaliert werden können, um den Datenverkehrsanforderungen gerecht zu werden.

Microservices bieten Entwicklern viele Vorteile, darunter eine höhere Flexibilität und Skalierbarkeit. Diese Vorteile sind jedoch auch mit Nachteilen verbunden, beispielsweise einer höheren Komplexität. Aus diesem Grund verfolgen viele Unternehmen beim Aufbau von Microservices einen API-First-Ansatz . Bei dieser Strategie beginnt der Entwurfsprozess für Anwendungen und Dienste mit einem API-Vertrag, der die Funktionsweise einer API bis hin zum Format der Anfragen und Antworten beschreibt.

Integrieren Sie Sicherheit in den gesamten API-Lebenszyklus

Mit der zunehmenden Verbreitung von APIs wächst die Angriffsfläche

Die Vorteile einer API-First-Softwareentwicklung können leicht zunichte gemacht werden, wenn die API-Sicherheit, insbesondere während der Entwicklung und Bereitstellung, nicht ernst genommen wird. Auf der grundlegendsten Ebene bedeuten mehr APIs eine größere Angriffsfläche. APIs spielen in der modernen Softwareentwicklung eine entscheidende Rolle und sind gleichzeitig immer einfacher zu nutzen.

Im Jahr 2018 prognostizierte Gartner , dass APIs bis 2022 der häufigste Angriffsvektor für Anwendungen sein würden. Ihre Vorhersage einer so großen Verzögerung war eher zu optimistisch. Es kam bereits zuvor zu spektakulären API-Sicherheitsverletzungen bei großen Unternehmen, von denen Millionen von Benutzern betroffen waren, und diese sind immer häufiger geworden:

Die Breite und Vielfalt dieser Angriffe verdeutlicht die Herausforderungen, vor denen führende Sicherheits- und Technikverantwortliche stehen. Einige Angriffe nutzen APIs aus, die fälschlicherweise im Internet verfügbar gemacht wurden. Andere verwenden API-Schlüssel oder andere Authentifizierungsmethoden, die fälschlicherweise in Code-Repositories offengelegt wurden. Oder Angreifer verschaffen sich über VPN-Exploits Zugriff auf interne Umgebungen und nutzen interne APIs, um Daten zu exfiltrieren.

Um API-Angriffe abzuwehren, sind die richtige Strategie und die richtigen Tools erforderlich

Der gängigste Weg zum Schutz vor API-Bedrohungen besteht darin, traditionelle Sicherheitsstrategien für Webanwendungen mit modernen API-Sicherheitstechniken zu kombinieren. Angesichts der vielfältigen API-Bedrohungen von heute reichen herkömmliche Strategien oft nicht aus. Moderne Techniken wie die automatische API-Erkennung und API-Kontrasttests versuchen, diese Lücken zu schließen.

Für Unternehmen ist es von entscheidender Bedeutung , den richtigen Kurs zu wählen (globale Kontrollen und Sicherheitsrichtlinien zum Schutz bereitgestellter Apps und APIs zu implementieren) und den linken Kurs zu wählen (Sicherheit in den Code einzubauen, um Schwachstellen zu beseitigen, bevor Apps und APIs in Produktion gehen). Keine der beiden Strategien kann allein umfassende API-Sicherheit gewährleisten. Der Schlüssel zur Verhinderung von Sicherheitsverletzungen liegt daher in einem ganzheitlichen Ansatz, der drei Kategorien von API-Sicherheitspraktiken umfasst:

  • API-Sicherheitsstatusverwaltung – Bietet Einblick in den Sicherheitsstatus einer API-Sammlung, einschließlich der Arten der offengelegten Daten und der Anforderungsmethoden
  • API-Sicherheitstests – Bewertet die Sicherheit einer API an wichtigen Punkten ihres Lebenszyklus, um potenzielle Schwachstellen zu identifizieren.
  • API-Laufzeitschutz – Erkennt und verhindert, dass während des Betriebs bösartige Anfragen die APIs erreichen

End-to-End-API-Sicherheit

Durch die Kombination der richtigen Strategie mit den richtigen Tools können Unternehmen ihre APIs besser vor Angriffen schützen und die Sicherheit ihrer Softwaresysteme gewährleisten. Sehen wir uns die wichtigen Funktionen und Tools an, die führende Plattformentwickler implementieren müssen, um APIs während ihres gesamten Lebenszyklus zu schützen.

Was ist API Security Posture Management?

Durch die Verwaltung der API-Sicherheitslage können Sie die Anzahl, Typen, Standorte und Daten Ihrer APIs transparent machen. Mithilfe dieser Informationen können Sie die mit den einzelnen APIs verbundenen Risiken verstehen und entsprechende Maßnahmen zu ihrem Schutz ergreifen.

Hauptfunktionalität:

  • Automatisierte API-Erkennung – Automatische und kontinuierliche API-Erkennung für umfassende Transparenz in den in einer Umgebung bereitgestellten APIs
  • API-Charakterisierung – Identifizieren und kategorisieren Sie APIs nach Protokoll oder Architektur (REST, GraphQL, SOAP usw.) und bilden Sie sensible Datenflüsse ab, um Ihr Risikopotenzial zu verstehen.
  • API-Katalogisierung – Pflegen Sie eine vollständige Liste der APIs, um Softwareteams zur Wiederverwendung vorhandener APIs zu ermutigen und SecOps-Teams dabei zu helfen, einen vollständigen Überblick über Ihre Sicherheitslage zu erhalten.

Repräsentative Technologien:

  • Web-Anwendungs- und API-Schutz (WAAP) – Nutzt eine privilegierte globale Position in der API-Infrastruktur, um ein- und ausgehenden Datenverkehr in Umgebungen zu analysieren, APIs zu identifizieren und sich einen Überblick über Ihre Risikobelastung zu verschaffen.
  • Inline- oder agentenbasierte Erkennung – Hängt einen Agenten an vorhandene API-Gateways, Load Balancer oder Kubernetes Ingress-Controller an, um den API-Verkehr zu spiegeln und zu analysieren.
  • Out-of-Band- oder agentenlose Erkennung – Verwendet Traffic Mirroring oder exportierte Protokolle und Metriken, um den API-Verkehr zu analysieren; bietet in der Regel weniger Einblick in APIs und Bedrohungen als andere Technologien
  • Domänen-Crawler – API-Sicherheitsanbieter bieten möglicherweise Crawler an, die Ihre Domäne auf exponierte API-Endpunkte untersuchen, die es dem Datenverkehr ermöglichen, Ihre API-Gateways und Load Balancer zu umgehen, wo Sicherheitsrichtlinien durchgesetzt werden können.

Denken Sie daran, dass keine Technologie jede API in Ihrer Architektur zuverlässig finden kann . Die meisten Erkennungstechniken basieren auf der Transparenz vorhandener Lastenausgleichsmodule, API-Gateways und Ingress-Controller und können Fehlkonfigurationen, die diese Architekturkomponenten umgehen, kaum erkennen.

Letztendlich bieten Code-Überprüfungen und die Befolgung von API-First-Best Practices eine wirksamere langfristige Prävention. Automatisierte API-Erkennungstools sind jedoch weiterhin nützlich, um sich schnell einen Überblick über Ihre Sicherheitslage zu verschaffen und APIs zu erkennen, die andernfalls unverwaltet und ungesichert bleiben könnten.

Was ist ein API-Sicherheitstest?

Während es beim API-Sicherheitslagemanagement um die unternehmensweite Sicherheit geht, geht es beim API-Sicherheitstest vor allem um einzelne APIs. Im Grunde helfen API-Sicherheitstests dabei, Schwachstellen und die damit verbundenen Risiken zu identifizieren und zu verhindern, indem sie die API-Laufzeit testen – die Anwendung, die hinter der API läuft. Dadurch wird sichergestellt, dass grundlegende Sicherheitsanforderungen erfüllt wurden, einschließlich der Bedingungen für Authentifizierung, Autorisierung, Ratenbegrenzung und Verschlüsselung.

Hauptfunktionalität:

  • API-Vertragstest – Verwendet die OpenAPI-Spezifikation einer API, um durch Vergleichen von Clientanforderungen und Serverantworten zu überprüfen, ob sie wie vorgesehen funktioniert. Dabei wird ein „Inside-Out“-Ansatz verwendet, um vor der Bereitstellung von APIs festzustellen, ob diese anfällig sind.
  • Dynamisches Testen der Anwendungssicherheit (DAST) – Simuliert Angriffe auf eine API-Laufzeit, um Schwachstellen zu finden, und bewertet die API von „außen nach innen“ wie ein böswilliger Benutzer.

Repräsentative Technologien:

  • Software zum Testen von API-Verträgen – Spezialisierte Tools zum Ausführen von Tests, die API-Anfragen und -Antworten segmentieren, um zu überprüfen, ob das Verhalten von Client und Server dem API-Vertrag entspricht.
  • Software für Anwendungssicherheitstests (AST) – Tools, die Anwendungen, einschließlich APIs, durch die Simulation von Angriffen analysieren und testen

Es gibt sowohl Open-Source-Vertragstesttools als auch kommerzielle Produkte von spezialisierten API-Sicherheitsanbietern. Der Markt für Anwendungssicherheitstests (AST) besteht seit Jahrzehnten und immer mehr Anbieter bieten spezielle Scan- und Testtools für APIs an.

Was ist API-Laufzeitschutz?

Unter API-Laufzeitschutz versteht man die Sicherung von APIs während der Ausführung und Verwaltung von Anfragen. Dabei wird der Integration von Sicherheit in die Plattforminfrastruktur sowie in den Code der APIs selbst höchste Priorität eingeräumt. Das Ziel besteht darin, bösartige API-Anfragen zu identifizieren und zu verhindern, die nach der Bereitstellung auftreten.
Hauptfunktionalität:

  • Zugriffskontrolle – Erzwingen Sie Authentifizierungs- (authN) und Autorisierungsrichtlinien (authZ)
  • Netzwerksicherheit – Verschlüsseln und schützen Sie die Kommunikation im gesamten Netzwerk
  • Anwendungsschutz – Schützen Sie API-Laufzeiten vor bösartigen API-Anfragen und Angriffen
  • Echtzeitüberwachung – Visualisieren, verfolgen und mildern Sie Angriffe über die gesamte API-Infrastruktur hinweg

Repräsentative Technologien:

  • API-Gateway – Wendet Sicherheitsrichtlinien an und erzwingt diese, einschließlich Authentifizierung, Autorisierung, Ratenbegrenzung, Zugriffskontrolllisten und Verschlüsselung.
  • Web Application Firewall (WAF) – Schützt APIs und Anwendungen vor komplexen Layer-7-Angriffen durch aktive Überwachung und Filterung des Datenverkehrs basierend auf Angriffssignaturen.
  • Identitätsanbieter (IdP) – Dienst, der die Benutzeridentität speichert und überprüft und normalerweise mit Single Sign-On (SSO)-Anbietern zur Authentifizierung von Benutzern zusammenarbeitet.

Nicht alle API-Gateways und WAFs/WAAPs sind gleich. Einigen Diensten, insbesondere den nativen Lösungen, die in der Cloud und auf anderen Plattformen verfügbar sind, fehlt die globale Sichtbarkeit und Standardisierung, die in Multi-Cloud- und Hybridarchitekturen erforderlich ist.

Best Practices für API-Sicherheit

Angesichts der Bedeutung der Sicherung von APIs ist ein organisierter Umgang mit der API-Sicherheit unabdingbar. Um die Sicherheitsanforderungen über den gesamten API-Lebenszyklus hinweg zu erfüllen, müssen Plattformentwickler und Sicherheitsverantwortliche zusammenarbeiten. Wie wir bereits zuvor untersucht haben, deckt sich dies grob mit drei Hauptbereichen der Praxis: API-Sicherheitslageverwaltung, API-Sicherheitstests und API-Laufzeitschutz. Mit anderen Worten: Sie müssen sich darauf konzentrieren, herauszufinden, über wie viele APIs Sie verfügen, wie Sie diese auf Fehler testen und wie Sie Sicherheit in Ihren Code integrieren.

Liste der Best Practices für API-Sicherheit

Abschluss

Wie die gesamte Cybersicherheit ist die API-Sicherheit ein fortlaufender Prozess, der die Zusammenarbeit vieler Interessengruppen erfordert, darunter Netzwerkingenieure, Leiter von Sicherheitsoperationen, Leiter von Plattformentwicklungen und Softwareentwicklungsingenieure. Die gute Nachricht ist, dass es kein großes Geheimnis ist, wie man APIs sichert.

Die meisten Organisationen verfügen bereits über Maßnahmen zum Schutz vor bekannten Angriffen wie Cross-Site-Scripting, Injection, Distributed Denial of Service und anderen Angriffen, die auf APIs abzielen. Und viele der oben beschriebenen Best Practices sind erfahrenen Sicherheitsexperten wahrscheinlich recht vertraut. Unabhängig davon, wie viele APIs Ihr Unternehmen betreibt, besteht Ihr Ziel darin, solide API-Sicherheitsrichtlinien zu etablieren und diese im Laufe der Zeit proaktiv zu verwalten.

Starten Sie Ihre 30-tägige kostenlose Testversion des NGINX API Connectivity Stack , der den F5 NGINX Management Suite API Connectivity Manager zum Verwalten, Steuern und Sichern von APIs, F5 NGINX Plus als API-Gateway sowie F5 NGINX App Protect WAF und DoS für erweiterte API-Sicherheit umfasst.

Weitere Ressourcen


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."