Top-10-API-Bedrohungen des OWASP

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Dokument werden verschiedene Ansätze beschrieben, die Sie in Apigee verwenden können, um die von OWASP identifizierten Sicherheitslücken zu schließen. Weitere Ansätze, die für Apigee dokumentiert sind, finden Sie unter OWASP Top 10 2021 Mindering Options on Google Cloud.

Einführung

OWASP ist eine offene Community, die Organisationen dabei unterstützt, vertrauenswürdige Anwendungen und APIs zu entwickeln, zu erwerben und zu warten. Im Rahmen des OWASP API Security-Projekts veröffentlicht OWASP die kritischsten Sicherheitsrisiken für Webanwendungen und REST APIs und gibt Empfehlungen zur Bewältigung dieser Risiken.

In diesem Dokument werden Ansätze zum Schutz vor gängigen API-basierten Angriffen erläutert, die in den zehn häufigsten API-Sicherheitsbedrohungen der OWASP im Jahr 2019 ermittelt wurden. Ein gemeinsames Thema der in der aktuellen Liste hervorgehobenen Top-Bedrohungen ist die falsche Platzierung von Authentifizierungs- und Autorisierungskontrollen. Dazu gehört beispielsweise die Abhängigkeit von der Filterung von Daten, die von einer API-Anfrage in Client-Anwendungen zurückgegeben werden, indem das Anti-Muster verwendet wird, das die Erzwingung der Zugriffssteuerung auf die nutzende Client-App anwendet.

Durch das rasante Wachstum des API-Ökosystems werden API-Missbrauch und -Missbrauch, die zur Daten-Exfiltration durch Angreifer führen, heute leider zu einem der häufigsten Angriffsvektoren. Sicherheit hat für Apigee auch weiterhin höchste Priorität. Es gibt eine Reihe neuer Features wie Advanced API Ops, einschließlich Funktionen für Sicherheitsberichte und Anomalieerkennung. Es ist jedoch wichtig, die Sicherheitsfunktionen von Apigee korrekt zu entwerfen und zu implementieren, um die Wahrscheinlichkeit erfolgreicher Angriffe auf Ihre APIs zu verringern.

Verbraucheranwendungen sollten als nicht vertrauenswürdig bzw. „öffentlich“ eingestuft werden, da Sie die Plattform, auf der sie ausgeführt werden, nicht kontrollieren. Gehen Sie davon aus, dass jede öffentliche Anwendung manipuliert werden kann und wird. Daher kann sie nicht vertrauenswürdig sein, um die Zugriffssteuerung (API1, API5), das Filtern von Antwortdaten (API6) oder die sichere Speicherung von Clientschlüsseln (API2) wie API-Schlüssel oder Zugriffstokens zu erzwingen. Aus der Untersuchung der OWASP-Top 10 des Jahres 2019 ergeben sich einige Empfehlungen:

  • Bestimmen Sie, welche Art von Clientanwendungen Ihre APIs nutzen (SPA, mobil oder browserbasiert), und entwerfen Sie die entsprechenden Authentifizierungs-, Autorisierungs- und Sicherheitsmuster.
  • Verwenden Sie immer "öffentliche Client-OAuth- oder OpenID Connect-Abläufe". Die Verwendung von PKCE wird dringend empfohlen.
  • Denken Sie an die Geschäftslogik Ihrer App, definieren Sie zuerst Ihre OpenAPI-Spezifikation und entwerfen Sie Ihre API-Proxys so, dass alle Antwortdaten aus dem Back-End in Apigee gefiltert werden. Verlassen Sie sich hierfür niemals auf nachgelagerte Anwendungscodelogik.
  • Filtern Sie alle Datenanfragen, die nutzerspezifische personenidentifizierbare Informationen enthalten, damit nur Daten aus Ihrem Back-End zugelassen werden, die zum anfragenden Nutzer gehören.

API1:2019 Fehlerhafte Autorisierung auf Objektebene

Beschreibung der Bedrohung

Eine unzureichende Autorisierungsvalidierung einer Objektzugriffsanfrage ermöglicht es einem Angreifer, eine nicht autorisierte Aktion durchzuführen, indem er ein Zugriffstoken wiederverwendet. Diese Bedrohung wird durch eine falsche Konfiguration der Autorisierungsvalidierungen verursacht. Apigee bietet Richtlinien für VerificationApiKey, OAuth und JWT (JSON Web Token) zum Schutz vor dieser Sicherheitslücke. Dennoch ist es wichtig, dass diese Richtlinien korrekt konfiguriert sind, um diese Bedrohung zu verhindern.

Um dieser Bedrohung vorzubeugen, ist es wichtig, dass die Teams für Anwendungsentwicklung und Sicherheit eng zusammenarbeiten. Autorisierung ist von Natur aus ein komplexes Thema und eine effektive, detaillierte Autorisierung erfordert ein tiefgreifendes Verständnis der Geschäftslogik der Anwendung.

Bei der Apigee-Implementierung sind zwei Hauptaspekte zu berücksichtigen:

  • Integrität von Zugriffstokens
  • Erzwingung der Zugriffssteuerung

Integrität des Zugriffstokens

Es ist wichtig, zu prüfen, ob das vom anfragende Client bereitgestellte Token nicht manipuliert wurde. Verwende dazu den richtigen OAuth- oder OpenID Connect-Ablauf sowie den entsprechenden Validierungs- oder Signaturmechanismus der Anmeldedaten. Apigee unterstützt alle gängigen OAuth-Abläufe.

Zu den Richtlinien für die Überprüfung von Apigee-Zugriffstokens gehören:

Erzwingung der Zugriffssteuerung

Sobald die Gültigkeit des Zugriffstokens verifiziert wurde, ist es wichtig, Richtlinien zur Erzwingung der Zugriffssteuerung zu implementieren, um jede eingehende API-Anfrage anhand der Zugriffsberechtigungen des Autorisierungstokens zu evaluieren.

Apigee bietet zwei Hauptmechanismen zum Überprüfen und Durchsetzen von Autorisierungsrichtlinien:

  • Intern: Verwenden von bedingten Abläufen zum Auswerten von Zugriffsanfragen basierend auf Anforderungen, die als Ablaufvariablen aus einem Autorisierungstoken extrahiert wurden
  • Delegiert: Verwendung eines Dienst-Callouts für eine Zugriffsverwaltungslösung eines Drittanbieters

Der interne Ansatz (siehe Abbildung oben) wird empfohlen, wenn das Zugriffssteuerungsmodell relativ einfach ist. Beispielsweise können aus einem Zugriffstoken extrahierte Anforderungen verwendet werden, um eine API-Objektanfrage direkt zu bewerten und zu autorisieren.

Verwenden Sie die für die OAuth- oder JWT-Richtlinien verfügbaren Flussvariablen, um Zugriffsanfragen mithilfe von bedingten Ablaufanweisungen auszuwerten.

Der delegierte Ansatz (siehe Abbildung oben) wird empfohlen, wenn aus einem Zugriffstoken extrahierte Anforderungen nicht direkt zum Autorisieren einer API-Anfrage an ein Back-End-Objekt verwendet werden können oder für komplexere OAuth-Ablauftypen, bei denen ein separater Aufruf an einen Autorisierungsserver erforderlich ist, um ein Zugriffstoken zu erhalten.

Mit der Richtlinie Dienst-Callouts kann entweder eine Entscheidung über die Autorisierungsrichtlinie von einem Drittanbieterdienst angefordert oder zusätzliche Anspruchsinformationen vom anfordernden Agent abgerufen werden, um dann mithilfe eines bedingten Ablaufs eine Entscheidung über die Zugriffssteuerung zu treffen.

API2:2019 Fehlerhafte Nutzerauthentifizierung

Beschreibung der Bedrohung

Schlecht implementierte Richtlinien zur Nutzerauthentifizierung ermöglichen es Angreifern, die Identität legitimer Nutzer zu stehlen, indem Implementierungsfehler in Authentifizierungsimplementierungen ausgenutzt werden. Zu den Authentifizierungsprinzipien, die bei der Implementierung von Authentifizierungsansätzen zu beachten sind, gehören:

  • Immer sowohl den User-Agent (die Anwendung) als auch den anfragenden Nutzer authentifizieren
  • Delegierte Authentifizierungs- und Autorisierungsmuster verwenden und vermeiden, dass Passwörter direkt in einer API-Anfrage weitergegeben werden
  • Überprüfen Sie immer die Signatur von Anmeldedaten und achten Sie darauf, dass alle verwendeten Anmeldedaten eine definierte Ablaufzeit haben
  • Brute-Force-Angriffe verhindern, indem Sie Kontingente festlegen und Apigee Sense verwenden, um Bot-gesteuerte Brute-Force-Angriffe zu erkennen und darauf zu reagieren

Bei einem Outside-in-Modell orientiert sich das API-Design an den Anwendungsfällen der Nutzer für die Daten und nicht an der Struktur der vorhandenen Daten in Ihren Back-End-Systemen. Sicherheit ist ein kritisches Element beim Entwerfen von APIs für externe Nutzer. Back-End-Systeme sind in der Regel nicht mit ausreichend starken Authentifizierungsimplementierungen ausgestattet, um sie in öffentlichen Netzwerken zugänglich zu machen. In Kombination mit einer Lösung zur Identitäts- und Zugriffsverwaltung bietet Apigee dort starke Lösungen zum Schutz vor dieser Bedrohung.

Hier sind einige Hauptelemente zu berücksichtigen, die in den folgenden Abschnitten behandelt werden:

  • Sicherheitsdesign: Vollständige Nutzung von Apigee-Features zur Implementierung von Authentifizierungsmustern
  • Governance: Sicherstellen, dass die korrekte Verwendung der entworfenen Authentifizierungsmuster einheitlich für alle veröffentlichten API-Produkte verwendet wird
  • Betriebssicherheit: Möglichkeit, verdächtiges oder ungewöhnliches Verhalten zu erkennen und authentifizierte API-Proxys zu umgehen oder Brute-Force-Angriffe auszuführen

Sicherheitsdesign

Das Ziel des Sicherheitsdesigns besteht darin, Authentifizierungsabläufe und die Einbindung in Identitätstools von Drittanbietern korrekt zu implementieren. Das Sicherheitsdesign ist eine entscheidende Phase. Zunächst müssen Sie den richtigen Typ des delegierten Authentifizierungsvorgangs für den Anwendungstyp kennen, der Ihre API-Endpunkte nutzt. Der nächste Schritt besteht darin, zusammen mit Ihrem Identitätsteam die Integrationsmuster zu definieren, die mit Ihrer Identitätslösung implementiert werden sollen.

Die RFCs von OpenID Connect und OAuth bieten eine Vielzahl von delegierten Authentifizierungs- und Autorisierungsabläufen sowie Akteuren, die an diesen Abläufen beteiligt sind. Dies ist ein komplexes Thema und es überrascht nicht, dass eine fehlerhafte Authentifizierung eine der häufigsten OWASP API-Bedrohungen ist. Eine umfassende Einführung zur korrekten Implementierung von Identitätsstandards wird in diesem Dokument nicht behandelt. Apigee bietet jedoch viele zusätzliche Ressourcen zum besseren Verständnis von OAuth-Abläufen, z. B. dieses E-Book und Webcast sowie ein Beispiel für eine Implementierung.

Authentifizierungsrichtlinien

Zu den Apigee-Richtlinien, die bei Identitäts- und Authentifizierungsproblemen helfen, gehören:

Traffic-Verwaltung

Die folgenden Apigee-Funktionen zur Traffic-Verwaltung schützen Sie vor Brute-Force-Angriffen:

  • Die Spike Arrest-Richtlinie zum Festlegen eines gleitenden Durchschnittsratenlimits für einen API-Proxy
  • Kontingentrichtlinien zum Festlegen detaillierter Ratenbegrenzungen für API-Proxys auf der Grundlage von Kontingenten, die durch Anwendungsschlüssel, Entwickler oder API-Produktkontingente definiert werden
  • Caching-Richtlinien zum Caching gespeicherter Zugriffstokens auf Basis ihrer definierten Ablaufzeiten sowie der Möglichkeit, im Cache gespeicherte Anmeldedaten invalidate (z. B. wenn ein gültiges Zugriffstoken kompromittiert wurde)

Governance

Sicherheit ist ein kontinuierlicher Prozess, kein „Set and Forget“-Projekt. Eine der Hauptursachen für Sicherheitslücken ist eine fehlerhafte Konfiguration. Sobald Authentifizierungsabläufe, Identitätsintegrationsmuster und authentifizierungsbezogene Traffic-Verwaltungsrichtlinien definiert wurden, ist es absolut entscheidend, dass sie korrekt und konsistent implementiert sind.

Apigee bietet eine Reihe von Features und Tools, mit denen Sie die Integrität der Implementierung gewährleisten und Fehlkonfigurationsfehler vermeiden können.

Rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC)

Unabhängig davon, ob Sie ein großes Unternehmen oder ein kleines Start-up sind, müssen Sie dafür sorgen, dass nur die richtigen Personen und Teams auf API-Proxy-Konfigurationen zugreifen und diese ändern können, um Fehlkonfigurationsfehler zu vermeiden. API-Programme werden von multidisziplinären Teams in Ihrem Unternehmen unterstützt. Es ist absolut wichtig, dass jedes Team nur die erforderlichen Berechtigungen erhält, damit es seine Aufgaben im Rahmen Ihrer API-Entwicklung erledigen kann.

Apigee bietet Funktionen zum Verwalten des rollenbasierten Zugriffs. Sie können Nutzern dann entweder vordefinierte Rollen zuweisen oder benutzerdefinierte Rollen erstellen, die für Ihre API-Teams geeignet sind. Die korrekte Definition und Verwaltung der Rollenzuweisung ist entscheidend, damit Sie Ihr API-Programm sicher skalieren können. Sie können auch Föderation verwenden, um eine Integration in Ihr vorhandenes Unternehmensverzeichnis vorzunehmen, damit Sie keinen zweiten Satz von Administratoranmeldedaten in Apigee verwalten müssen.

Freigegebene Abläufe

Mit freigegebenen Abläufen können Sie Richtlinien und Ressourcen in einem wiederverwendbaren Objekt definieren, das über API-Proxys implementiert werden kann. Vielleicht haben Sie in Zusammenarbeit mit Ihren Sicherheitsteams mehrere Authentifizierungsdesignmuster basierend auf dem Typ der Anwendung entwickelt, die eine API verwendet. API-Entwickler müssen kein Identitätsexperte sein, um diesen wiederzuverwenden. Er muss lediglich den korrekten freigegebenen Ablauf kennen, der seiner vorhandenen API-Proxy-Konfiguration mithilfe der Richtlinie Flow Callout hinzugefügt werden muss.

Abbildung: Freigegebene Abläufe sind wiederverwendbare Pakete von Richtlinien und bedingter Logik, mit denen Sie ein zusammengesetztes Muster beibehalten können.

Security Reporting

Nachdem Sie sichergestellt haben, dass nur die richtigen Personen in Ihrer Organisation Ihre Authentifizierungsmuster ändern können, und Ihre gemeinsamen Authentifizierungsabläufe definiert haben, müssen Sie dafür sorgen, dass die von Ihren API-Teams entwickelten API-Proxys diese Authentifizierungsmuster konsistent verwenden.

Das neue Feature Advanced API Ops von Apigee umfasst erweiterte Sicherheitsberichte, mit denen sich Betriebs- und Sicherheitsteams ganz einfach Berichte zu allen API-Proxys anzeigen lassen können. Der Fokus liegt dabei auf der Einhaltung von Sicherheitsrichtlinien wie der Verwendung freigegebener Abläufe. Berichterstellung, Logging und Benachrichtigungen sind ein wichtiges Element der API-Sicherheit, das unter API10: unzureichendes Logging ausführlicher erläutert wird. Im Hinblick auf die Vermeidung fehlerhafter Authentifizierungsrisiken ist es jedoch äußerst nützlich, die Einhaltung der definierten Authentifizierungsstandards sicherzustellen, die als freigegebene Abläufe implementiert werden.

Betriebssicherheit

Sobald Ihre APIs in der Produktion sind und die richtigen Authentifizierungsmuster mit grundlegender Traffic-Verwaltung verwendet werden, muss Ihr SecOps-Team auch in der Lage sein, verdächtige Aktivitäten zu überwachen und darauf zu reagieren. Häufig beginnt der Versuch, die Anmeldedaten für die Authentifizierung zu kompromittieren.

Apigee Sense

Apigee Sense schützt Ihre APIs vor unerwünschtem Anfragetraffic, einschließlich Angriffen durch schädliche Clients. Apigee Sense analysiert API-Anfragetraffic und identifiziert Muster, die unerwünschte Anfragen darstellen könnten. Mithilfe dieser Analyse können Sie Clients identifizieren, die unerwünschte Anfragen stellen, und dann Maßnahmen ergreifen, um diese Anfragen zuzulassen, zu blockieren oder zu kennzeichnen. Zukünftige Funktionen von Sense beinhalten die Möglichkeit, bei verdächtigem Traffic automatisch die reCAPTCHA-Überprüfung zu aktivieren.

Mit Apigee Sense können Sie Ihre APIs vor Anfragemustern schützen, die Folgendes enthalten:

  • Automatisiertes Verhalten, das sich an menschliches Verhalten anpasst
  • Dauerhafte Versuche von derselben IP-Adresse
  • Ungewöhnliche Fehlerraten
  • Verdächtige Clientanfragen
  • Daten-Crawling
  • Brute-Force-Angriffe auf Schlüsselerfassung und Authentifizierung
  • Aktivitäts-Bursts
  • Geografische Muster

Advanced API Ops

Sense wurde speziell für die Erkennung und Reaktion auf Bot-ähnliche Bedrohungen entwickelt. Advanced API Ops umfasst jedoch sowohl die Anomalieerkennung als auch die erweiterte Benachrichtigungsdefinition.

Bei der Anomalieerkennung werden Modelle für künstliche Intelligenz (KI) und maschinelles Lernen (ML) auf Ihre API-Verlaufsdaten angewendet. Die Anomalieerkennung kann dann in Echtzeit Benachrichtigungen für Szenarien auslösen, an die Sie noch gar nicht gedacht haben, um Ihre Produktivität zu steigern und die mittlere Zeit bis zur Problembehebung (Mean Time To Resolution, MTTR) Ihrer API-Probleme zu reduzieren.

Advanced API Ops baut auf dem vorhandenen API-Monitoring-Benachrichtigungsmechanismus auf, um die folgenden erweiterten Warnungstypen hinzuzufügen:

  • Benachrichtigungen zur Verkehrslage insgesamt: Löst eine Benachrichtigung aus, wenn sich der Traffic in einem Zeitraum um einen angegebenen Prozentsatz ändert. Sie können beispielsweise eine Benachrichtigung senden lassen, wenn der Traffic eine Stunde lang um mindestens 5 % zunimmt oder eine Woche lang um mindestens 10% sinkt
  • Anomaliebenachrichtigungen: Edge erkennt Verkehrs- und Leistungsprobleme, ohne dass Sie diese selbst bestimmen müssen. Über diese Anomalien können Sie dann
  • TLS-Ablaufbenachrichtigungen Löst eine Benachrichtigung aus, wenn ein TLS-Zertifikat bald abläuft

API3:2019 Übermäßige Datenlecks

Beschreibung der Bedrohung

Eine veröffentlichte API kann mehr Daten als nötig zur Verfügung stellen und ist darauf angewiesen, dass die Clientanwendung die erforderlichen Filter durchführt. Wenn ein Angreifer die zugrunde liegende API direkt abfragt, kann er auf sensible Daten zugreifen.

Eines der Outside-in-Designprinzipien für das API-Design von Apigee ist die Datenparsimonie. Arbeiten Sie mit Ihren UX-Designern und -Entwicklern zusammen, damit Daten nur über APIs verfügbar gemacht werden, die auf der Benutzeroberfläche Ihrer App erforderlich sind. Back-End-Systeme wurden nicht für öffentliche Nutzungsmuster entwickelt. Eine der ersten Aufgaben beim ersten API-Design mit Apigee besteht daher darin, die für die Bereitstellung eines erstklassigen API-Produkts für Ihre Kunden und Entwickler erforderlichen Daten auf das Minimum zu reduzieren.

Ein weiteres Grundprinzip von Apigee ist die Wiederverwendbarkeit. Abgesehen von Sicherheitsbedenken muss eine Anwendung, die die von einer API bereitgestellten Daten filtert, diese Filterlogik auf alle Plattformen übertragen, für die Sie eine App entwickeln.

Aus Sicherheitsgründen ergibt sich diese Bedrohung dadurch, dass die Autorisierungserzwingung an eine Anwendung delegiert wird, häufig jedoch auf einer Plattform oder einem Betriebssystem, über die Sie keine Kontrolle haben. Wir haben bereits in API1 und API2 untersucht, wie wichtig es ist, die Authentifizierung und Autorisierung korrekt zu implementieren, um nicht autorisierte Datenzugriffe zu vermeiden.

In den nächsten Abschnitten wird erläutert, wie Sie:

  • Anfragen und Antworten an Back-End-Dienste umschreiben, um die Offenlegung von Daten zu minimieren
  • Implementieren Sie eine Fehlerbehandlung, um zu verhindern, dass ausführliche Fehlermeldungen Angreifern vertrauliche Umgebungsinformationen über Ihre Back-End-Dienste preisgeben.

Antworten und Anfragen neu schreiben

Back-End-Systeme sind in der Regel nicht für die Verwendung in öffentlichen Anwendungen oder in nicht vertrauenswürdigen öffentlichen Netzwerken vorgesehen. Apigee Edge wurde entwickelt, um Ihnen die Bereitstellung öffentlicher API-Produkte zu ermöglichen, indem Sie Ihre Back-Ends vor übermäßiger Datenexposition schützen.

Dazu verwendet Apigee drei wichtige Richtlinien:

  • Nachricht zuweisen
  • Code-Callouts
  • Fehlerbehandlung

Nachrichtenrichtlinie zuweisen

Die Richtlinie Nachricht zuweisen ändert oder erstellt neue Anfrage- und Antwortnachrichten während des API-Proxy-Ablaufs. Mit der Richtlinie können Sie die folgenden Aktionen für diese Nachrichten ausführen:

Mit „Nachricht zuweisen“ fügen Sie in der Regel Attribute der Anfrage oder Antwort hinzu, ändern oder entfernen sie. Sie können mit der Funktion „Nachricht zuweisen“ jedoch auch eine benutzerdefinierte Anfrage- oder Antwortnachricht erstellen und an ein alternatives Ziel übergeben. Eine Beschreibung hierzu finden Sie unter Benutzerdefinierte Anfragenachrichten erstellen.

Komplexe Umformulierungen mit benutzerdefiniertem Code

Für komplexe Datenverarbeitungs- und Umschreibregeln, deren Komplexität die Fähigkeit der Richtlinie zum Zuweisen von Nachrichten übersteigt, können Sie prozedurale Programmiersprachen wie JavaScript, Java oder Python verwenden. Sie können einem API-Proxy benutzerdefinierten Code hinzufügen und ihn dann über Richtlinien aufrufen, die dem Proxyablauf hinzugefügt wurden. Die Unterstützung für prozeduralen Code soll Ihnen die Implementierung einer komplexen Handhabung von Flussvariablen, Fehlern sowie Anforderungs- und Antworttexten erleichtern.

Mit proaktivem Code können Sie Folgendes tun:

  • Erstellen oder ändern komplexer Textwerte wie Anfrage- und Antwortwerte.
  • URLs umbenennen, z. B. um eine Ziel-Endpunkt-URL zu maskieren

Apigee Edge enthält eine separate Richtlinie für unterstützte Sprachen: JavaScript-Richtlinie, Java-Callout-Richtlinie und Python-Skript-Richtlinie.

Fehlerbehebung

Apigee ermöglicht Ihnen eine benutzerdefinierte Ausnahmebehandlung mithilfe einer Richtlinie vom Typ Fehler auslösen. Mit der Richtlinie „Fehler auslösen“, die eine Variante der Richtlinie zum Zuweisen von Nachrichten ist, können Sie eine benutzerdefinierte Fehlerantwort als Reaktion auf eine Fehlerbedingung generieren.

Freigegebene Abläufe

Freigegebene Abläufe können verwendet werden, um die Standardisierung von Fehlermeldungen zu erzwingen. Beispielsweise können dieselben konfigurierten Richtlinien, die einen bestimmten HTTP-Fehlercode aus dem Back-End erkennen, auch verwendet werden, um die Fehlerantwort so umzuschreiben, dass eine allgemeine Fehlermeldung zurückgegeben wird.

API4:2019 Fehlende Ressourcen und Ratenbegrenzung

Beschreibung der Bedrohung

Wenn keine Richtlinien zur Ratenbegrenzung implementiert werden, können Angreifer das Back-End mit Denial-of-Service-Angriffen überlasten.

Diese Bedrohung kann mithilfe der folgenden Apigee-Funktionen einfach beseitigt werden:

  • Kontingente und Spike Arrest-Richtlinien als vorbeugende Kontrollen zur Festlegung von Traffic-Limits für eingehende API-Anfragen
  • Apigee Sense, um Bot-gesteuerte Angriffe dynamisch zu erkennen und zu reagieren
  • Erweitertes API-Monitoring und Benachrichtigungen, da Erkennungskontrollen bei laufenden DDoS-Angriffen benachrichtigt werden sollen

Ratenbegrenzung mit Kontingenten und Spike Arrest-Richtlinien

Apigee bietet zwei Richtlinien für die Ratenbegrenzung:

  • Spike Arrest stellt eine allgemeine Richtlinie, die auf API-Proxyebene definiert ist, zur Ratenbegrenzung der Gesamtzahl von eingehenden Anfragen an ein Back-End bereit.
  • Kontingente sind ein detailliertes Richtlinientool zur Durchsetzung von Kontingentrichtlinien, entweder auf einem API-Proxy oder auf API-Produktebene.

Spike Arrest

Die Spike Arrest -Richtlinie schützt vor Trafficspitzen. Diese Richtlinie drosselt die Anzahl der Anfragen, die von einem API-Proxy verarbeitet und an ein Back-End gesendet werden. Sie dient dem Schutz vor Leistungsverzögerungen und Ausfallzeiten und verwendet einen gleitenden Durchschnitt, der innerhalb der Richtlinie definiert werden kann.

Kontingente

Die Kontingentrichtlinie ermöglicht die Konfiguration der Anzahl von Anfragenachrichten, die ein API-Proxy für einen bestimmten Zeitraum zulässt, z. B. eine Minute, eine Stunde, einen Tag, eine Woche oder einen Monat. Sie können für alle Anwendungen, die auf den API-Proxy zugreifen, dasselbe Kontingent festlegen, oder Sie legen das Kontingent auf folgender Basis fest:

  • Das Produkt, das den API-Proxy enthält
  • Die Anwendung, die die Anfrage an die API sendet
  • Der Entwickler der Anwendung
  • Viele weitere Kriterien

Diese Richtlinie ist detaillierter als der Spike Arrest und sollte im Allgemeinen gleichzeitig verwendet werden.

Bot-Erkennung mit Apigee Sense

Mit Apigee Sense können Sie Maßnahmen ergreifen, um Anfragen von bestimmten Clients, IP-Bereichen oder autonomen Systemorganisationen explizit zuzulassen, zu blockieren oder zu kennzeichnen – je nachdem, ob Clients oder Standorte schädliches oder verdächtiges Verhalten zeigen. Apigee Edge wendet diese Aktionen auf Anfragen an, bevor Ihre API-Proxys sie verarbeiten. Beispielsweise kann ein IP-Bereich oder ein bestimmter Client erkannt werden, der sich so verhält, dass Brute-Rätsel-Angriffe gesprochen werden, und diese können dann blockiert oder gemeldet werden.

Bedrohungserkennung mit Advanced API Ops Monitoring

Mit einer Traffic-Benachrichtigung können Sie benachrichtigt werden, wenn sich der Traffic für eine Umgebung, einen Proxy oder eine Region in einem bestimmten Zeitraum um einen bestimmten Prozentsatz ändert. Durch dieses Feature kann dynamisch eine Warnung ausgegeben werden, wenn der Traffic deutlich vom erwarteten Durchsatz abweicht, wie es bei einem DDoS-Angriff der Fall wäre. Diese Benachrichtigungen können einfach an die Logging- und Monitoring-Lösung eines Drittanbieters gesendet werden.

API5:2019 Fehlerhafte Autorisierung auf Funktionsebene

Beschreibung der Bedrohung

Diese Bedrohung ist eine Variante von API1 und ist auch eine Sicherheitslücke bei der Autorisierung. Mit dieser Bedrohung kann ein Angreifer Aktionen ausführen, indem er Anfragen an Funktionen sendet, auf die er nicht zugreifen darf. Beispielsweise kann ein Angreifer möglicherweise Daten ändern oder löschen, für die er nur lesen darf, wenn ein API-Endpunkt das HTTP-Anfrageverb nicht validiert. Dazu wird ein GET durch ein PUT oder DELETE ersetzt. Wenn eine ausreichend restriktive Zugriffssteuerung für einen API-Ressourcen-URI-Pfad nicht implementiert wird, kann ein API-Endpunkt es einem Angreifer auch ermöglichen, die Daten eines anderen Nutzers einzusehen, indem er einfach den Pfad in einer Anfrage ändert.

Diese Art von Bedrohung unterstreicht den Nutzen der Verwendung von Apigee als Vermittlungs- und Abstraktionsebene, da viele Back-End-Systeme, die nicht für den öffentlichen Zugriff entwickelt wurden, standardmäßig einen einzigen Endpunkt für die Ausführung mehrerer Funktionen der Geschäftslogik bieten, einschließlich risikoreicher administrativer Funktionen.

Die konzeptionellen Elemente, mit denen die Wahrscheinlichkeit dieser Bedrohung reduziert werden soll, werden in der Regel in folgende Elemente unterteilt:

  • Was wird geschützt? Denken Sie über Ihre API-Produktstrategie nach und implementieren Sie eine logische Segmentierung der Funktionalität, wenn Sie Best Practices für RESTful verwenden, um die Pfade und Ressourcen zu entwerfen, die von API-Proxys, Produkt- und Anwendungsfunktionen von Apigee verfügbar gemacht werden.
  • Wer greift auf Ihre API-Ressourcen zu? Definieren Sie die übergeordneten Personas und implementieren Sie Standardzugriffsberechtigungen mit den geringsten Berechtigungen. Verwenden Sie dazu einige der Authentifizierungs- und Autorisierungsfunktionen von Apigee, wie in API1 und API2 beschrieben.
  • Wie werden Ihre Zugriffsrichtlinien erzwungen? Verwenden Sie bedingte Abläufe und Fehler, um den URL-Pfad und das Verb aller API-Anfragen zu validieren.

Abbildung: Dieses Diagramm zeigt, wie die Autorisierung auf Funktionsebene in Apigee erzwungen wird, wobei Bereiche, die in einem Zugriffstoken bereitgestellt werden, als Berechtigungen verwendet werden.

Logische Segmentierung mit API-Proxys, Produkten und Apps

Apigee bietet ein hochflexibles Toolkit, mit dem sich API-Ressourcen logisch segmentieren lassen. API-Proxys können damit in beliebig viele API-Produkte gebündelt werden. Diese werden wiederum von Ihren Anwendungsentwicklern genutzt, die Anwendungen registrieren können, die Ihre API-Produkte nutzen. Zugriffsrichtlinien können auf jeder dieser Ebenen definiert werden.

Für eine effektive funktionale Autorisierung und Segmentierung ist jedoch die Definition einer API-Produktstrategie von entscheidender Bedeutung. Zu diesem wichtigen und fortlaufenden Prozess gehört die Definition von „Wer“ und „Was“ Ihrer API-Produkte. Betrachten Sie dazu Ihre API-Ressourcen aus Kunden- und Entwicklerperspektive und definieren Sie dann bis auf Pfadressourcen- und HTTP-Verbebene genau, welche Arten von Anfragen zulässig sind.

Abbildung: Die in einem API-Produkt gebündelten API-Ressourcen können von einer oder mehreren APIs stammen. Sie können Ressourcen also kombinieren und abgleichen, um Nutzungsstufen und Autorisierungsgrenzen zu erstellen.

Zugriffssteuerung auf Funktionsebene mit OAuth-Bereichen und JWT-Anforderungen

Während die oben für API1:2019 defekte Objektautorisierung betrachteten Autorisierungsansätze auf eine detaillierte Zugriffssteuerung auf Objektebene ausgerichtet sind, ist es genauso wichtig, eine grobe Zugriffssteuerung auf Funktionsebene anzuwenden. Darf der anfragende Nutzer diesen URL-Pfad überhaupt anfordern? Diese Art von Richtlinien wird oft für jede Nutzeridentität definiert (Kunde, Mitarbeiter, Administrator, interner oder externer Entwickler).

Um das Risiko einer Fehlkonfiguration zu verringern, sollten Sie gemeinsam mit Ihrem Sicherheitsteam dafür sorgen, dass die Assertions in Bezug auf den anfragenden Nutzer im Zugriffstoken enthalten sind, entweder durch Verwendung von OAuth-Bereichen oder JWT-Anforderungen.

Validierung mit bedingten Abläufen anfordern

Grundsätzlich besteht ein REST API-Aufruf aus Folgendem:

  • Endpunkt
  • Eine Ressource
  • Ein Aktionsverb
  • Beliebig viele zusätzliche Anfrageattribute, z. B. Abfrageparameter

Der in dieser Bedrohung beschriebene Angriffstyp wird in der Regel durch unzureichende Filterung einer API-Anfrage verursacht, sodass Angreifer nicht autorisierte Aktionen ausführen oder auf eine geschützte Ressource zugreifen können. Zusätzlich zur bedingten Logik, die es Ihnen ermöglicht, Anfragen basierend auf Zugriffstokens oder Anforderungen zu filtern, ermöglicht Apigee die Implementierung von Filterlogik auf Grundlage der Anfrage selbst.

Sobald Sie die Geschäftslogik eines API-Produkts klar verstanden und definiert haben und welche Funktionen von Ihren APIs zugelassen werden, besteht der nächste Schritt darin, mit den folgenden Apigee-Produktfunktionen alle Anfragen einzuschränken, die davon abweichen:

  • Bedingte Logik und Fehlerrichtlinien auslösen, um Ressourcenpfade oder Verben an einem beliebigen Schritt in einer Proxy-Ablaufkonfiguration einzuschränken
  • JSON- und XML-Bedrohungsschutzrichtlinien zum Schutz vor inhaltsbasierten Angriffen mithilfe fehlerhafter JSON- oder XML-Anfragenutzlasten

API6:2019 Massenzuweisung

Beschreibung der Bedrohung

Ungefilterte Daten, die Clientanwendungen über APIs zur Verfügung gestellt werden, ermöglichen es Angreifern, Objektattribute über Anfragen zu erraten oder Namenskonventionen für Endpunkte zu verwenden, um Hinweise darauf zu erhalten, wo nicht autorisierte Änderungen an Datenobjekten oder der Zugriff auf Eigenschaften von im Back-End gespeicherten Datenobjekten vorgenommen werden sollten.

Diese Bedrohung entsteht, wenn ungefilterte Daten (normalerweise in JSON oder XML) an einen Client gesendet werden. Dadurch kann ein Angreifer die zugrunde liegenden Implementierungsdetails Ihrer Back-End-Systeme sowie die Property-Namen von vertraulichen Datenelementen erraten. Das Ergebnis dieser Art von Angriff könnte einem Angreifer die Möglichkeit geben, unangemessene Daten zu lesen oder zu manipulieren, oder im schlimmsten Fall Sicherheitslücken bei der Remote-Codeausführung schließen.

Diese Art von Bedrohung ist in der Regel durch zwei Aspekte möglich:

  • Die Perspektive des API-Designs. Verlassen Sie sich niemals auf die Anwendungslogik, um clientseitige Daten zu filtern, da Anwendungen von Angreifern ausgenutzt und als vertrauenswürdig eingestuft werden können. Entwerfen Sie Ihr API-Datenschema immer so, dass nur die minimal erforderlichen Daten für einen API-Dienst verfügbar gemacht werden.
  • Die Perspektive der API-Implementierung. Implementieren Sie Datenfilterung und Schemavalidierung, um eine unbeabsichtigte Offenlegung vertraulicher Daten für eine Clientanwendung zu verhindern.

Aus Sicht von Apigee-Produkten bieten wir mehrere nützliche Features, um eine robuste Implementierung der Datenfilterung Ihrer APIs zu gewährleisten.

Filterrichtlinie für OpenAPI-Spezifikation

Mit der Richtlinie OpenAPI Specification Validation können Sie eine eingehende Anfrage oder Antwortnachricht mit einer OpenAPI 3.0-Spezifikation (JSON oder YAML) validieren. Diese Richtlinie ermöglicht Ihnen Folgendes:

  1. API durch Erstellen einer OpenAPI-Spezifikation (OAS) entwerfen
  2. Implementieren Sie mit Apigee die erforderliche Vermittlungs-, Sicherheits- und Caching-Logik, um ein API-Produkt sicher über Ihr Back-End freizugeben
  3. Prüfen Sie eingehende Anfragen anhand des Datenschemas, das in Ihrer OAS-Spezifikation definiert ist, einschließlich Basispfad, Verb, Richtlinie für Anfragenachrichten und Parameter.

SOAP-Nachrichtenvalidierungsrichtlinie

Mit der SOAP-Nachrichtenvalidierungsrichtlinie können Sie XML-basierte Anfragen validieren, indem Sie entweder eine XML-Nachricht anhand eines XSD-Schemas oder eine SOAP-Nachricht anhand einer WSDL-Definition validieren. Darüber hinaus können Sie die Richtlinie zur Nachrichtenüberprüfung verwenden, um zu bestätigen, dass eine JSON- oder XML-Nachrichtennutzlast korrekt formatiert ist, einschließlich der Prüfung folgender Elemente in einer XML- oder JSON-Nachricht:

  • Es gibt ein einziges Stammelement.
  • Der Inhalt enthält keine unzulässigen Zeichen.
  • Objekte und Tags sind ordnungsgemäß verschachtelt.
  • Start- und End-Tags stimmen überein.

API7:2019 Sicherheitsfehlkonfiguration

Beschreibung der Bedrohung

Sicherheitsfehlkonfigurationen sind häufig auf unsichere Standardkonfigurationen, unvollständige oder Ad-hoc-Konfigurationen, offenen Cloud-Speicher, falsch konfigurierte HTTP-Header, unnötige HTTP-Methoden, weniger striktes Cross-Origin Resource Sharing (CORS) und ausführliche Fehlermeldungen mit vertraulichen Informationen zurückzuführen. Angreifer versuchen oft, nicht gepatchte Fehler, gängige Endpunkte oder ungeschützte Dateien und Verzeichnisse zu finden, um sich unberechtigten Zugriff auf das anzugreifende System oder die Kenntnis des gewünschten Systems zu verschaffen. Sicherheitsfehlkonfigurationen können nicht nur vertrauliche Nutzerdaten preisgeben, sondern auch Systemdetails, die zu einer vollständigen Servermanipulation führen können. Weitere Anwendungsfälle für Sicherheitslücken aufgrund von fehlerhaften Sicherheitskonfigurationen:

  • Falsch konfiguriertes TLS
  • Fehlermeldungen mit Stacktraces
  • Nicht gepatchte Systeme
  • Sichtbare Bereiche für Speicher oder Serververwaltung

Es gibt verschiedene Maßnahmen, die Organisationen ergreifen können, um die Herausforderungen in Bezug auf Sicherheitsfehlkonfigurationen zu bewältigen. Dazu gehören:

  1. Härtungs- und Patchprozesse etablieren und standardisieren
  2. Governance rund um die API-Umgebung entwickeln
  3. Administratorzugriff einschränken und Auditing und Benachrichtigungen aktivieren

Freigegebene Abläufe und Ablauf-Hooks

Apigee unterstützt das Konzept eines gemeinsamen Ablaufs, mit dem API-Entwickler Richtlinien und Ressourcen zu einer wiederverwendbaren Gruppe kombinieren können. Da wiederverwendbare Funktionen an einem Ort verfügbar sind, trägt ein gemeinsamer Ablauf dazu bei, Konsistenz zu gewährleisten, die Entwicklungszeit zu verkürzen und den Code einfacher zu verwalten. Sie können einen freigegebenen Ablauf in einzelnen API-Proxys einbinden oder einen Schritt weiter gehen und freigegebene Abläufe in Ablauf-Hooks platzieren, um automatisch freigegebene Ablauflogik für jeden API-Proxy auszuführen, der in derselben Umgebung als ein freigegebener Ablauf bereitgestellt wird.

API-Sicherheitsberichte

Da Organisationen versuchen, ein Governance-Framework zu entwickeln, bietet Apigee Funktionen rund um die Berichterstellung zur API-Sicherheit, mit der Betriebsteams die Transparenz erhalten, die sie für die Sicherheitsattribute von APIs benötigen, um:

  • Einhaltung von Sicherheitsrichtlinien und Konfigurationsanforderungen sicherstellen
  • Sensible Daten vor internem und externem Missbrauch schützen
  • Sicherheitsvorfälle proaktiv erkennen, diagnostizieren und beheben

Apigee-Sicherheitsberichte liefern Betriebsteams detaillierte Informationen, um die Einhaltung von Richtlinien und Konfigurationsanforderungen sicherzustellen, APIs vor internem und externem Missbrauch zu schützen und Sicherheitsvorfälle schnell zu identifizieren und zu beheben.

Mithilfe von Sicherheitsberichten können Sicherheitsadministratoren schnell nachvollziehen, wie Ihre API-Proxys für die Sicherheit konfiguriert sind und welche Laufzeitbedingungen die Proxy-Sicherheit beeinträchtigen können. Anhand dieser Informationen können Sie die Konfiguration so anpassen, dass für jeden Proxy das richtige Sicherheitsniveau vorhanden ist.

API-Monitoring

Apigee bietet eine umfassende API-Monitoringplattform als Ergänzung zu den Funktionen für Sicherheitsberichte. Mit dem API-Monitoring können Organisationen API-Traffic- und Leistungsprobleme proaktiv erkennen. Das Apigee API Monitoring arbeitet mit Apigee Edge for Public Cloud zusammen, um in Echtzeit kontextbezogene Informationen zur API-Leistung bereitzustellen, Probleme schnell zu diagnostizieren und Abhilfemaßnahmen für die Geschäftskontinuität zu erleichtern.

Abbildung: Das API-Monitoring von Apigee bietet eine breite Palette von Tools, mit denen Sie Probleme überwachen, untersuchen und darauf reagieren können. Dabei kommen die branchenführenden Intelligenz-Features der Google Cloud Platform zum Einsatz.

Apigee Sense

Apigee Sense schützt die APIs vor unerwünschtem Anfragetraffic, einschließlich Angriffen durch schädliche Clients. Apigee Sense analysiert API-Anfragetraffic und identifiziert Muster, die unerwünschte Anfragen darstellen könnten.

Mithilfe dieser Analyse können Organisationen Kunden identifizieren, die unerwünschte Anfragen stellen, und dann Maßnahmen ergreifen, um diese Anfragen zuzulassen, zu blockieren oder zu kennzeichnen. Mit Apigee Sense ist es möglich, die APIs vor Anfragemustern zu schützen, die Folgendes enthalten:

  • Automatisiertes Verhalten, das sich an menschliches Verhalten anpasst
  • Dauerhafte Versuche von derselben IP-Adresse
  • Ungewöhnliche Fehlerraten
  • Verdächtige Clientanfragen
  • Daten-Crawling
  • Schlüsselerfassung
  • Aktivitäts-Bursts
  • Geografische Muster

API8:2019 Injection

Beschreibung der Bedrohung

Ein nicht vertrauenswürdiges Einschleusen von Daten wie SQL, NoSQL, XML Parser, ORM, LDAP, OS Commands und JavaScript in API-Anfragen kann zur Ausführung unbeabsichtigter Befehle oder unbefugter Datenzugriffe führen. Angreifer füttern die API mit schädlichen Daten über beliebige Injection-Vektoren wie direkte Eingaben, Parameter, integrierte Dienste usw. und erwarten, dass sie an einen Interpreter gesendet werden. Angreifer können diese Schwachstellen einfach erkennen, wenn sie den Quellcode mithilfe von Scanner und Fuzzers auf Sicherheitslücken überprüfen. Eine erfolgreiche Injektion kann zur Offenlegung von Informationen führen, die die Vertraulichkeit und den Datenverlust beeinträchtigen, oder in einigen Fällen auch zu einem DoS-Angriff.

Zu den Best Practices zur Minderung von Injection-Fehlern/-Angriffen gehört die strikte Definition der Eingabedaten wie Schemas, Typen und Stringmuster, die Durchführung der Eingabevalidierung, Begrenzungsprüfungen und deren Erzwingung zur Laufzeit. Die Apigee-Plattform ermöglicht die Validierung der eingehenden Daten mithilfe von Filtern, um nur gültige Werte für jeden Eingabeparameter zuzulassen.

Apigee Edge fungiert als Server für die eingehenden API-Anfragen und prüft, ob die Nutzlaststruktur in einen akzeptablen Bereich fällt. Dies wird auch als Limitprüfung bezeichnet. Sie können einen API-Proxy so konfigurieren, dass die Eingabevalidierungsroutine die Eingabe umwandelt, um riskante Zeichenfolgen zu entfernen und durch sichere Werte zu ersetzen.

Richtlinie zum Schutz des regulären Ausdrucks

Die Richtlinie RegularExpressionProtection extrahiert Informationen aus einer Nachricht (z. B. URI-Pfad, Abfrageparameter, Header, Formularparameter, Variable, XML-Nutzlast oder JSON-Nutzlast) und wertet diesen Inhalt anhand von vordefinierten regulären Ausdrücken aus. Wenn die Auswertung eines bestimmten regulären Ausdrucks „true“ ergibt, wird die Nachricht als Bedrohung eingestuft und abgelehnt. Ein regulärer Ausdruck oder kurz Regex ist eine Reihe von Strings, die ein Muster in einem String angeben. Mit regulären Ausdrücken können Inhalte programmatisch nach Mustern ausgewertet werden. Mit regulären Ausdrücken lässt sich beispielsweise eine E-Mail-Adresse auf ihre korrekte Struktur prüfen.

Der häufigste Einsatz von RegularExpressionProtection erfolgt in der Auswertung von JSON- und XML-Nutzlasten auf schädliche Inhalte.

Kein regulärer Ausdruck kann alle inhaltsbasierten Angriffe ausschließen. Für einen tief greifenden Schutz sollten mehrere Mechanismen kombiniert werden. In diesem Abschnitt werden einige empfohlene Muster beschrieben, mit denen sich der Zugriff auf Inhalte verhindern lässt.

Es gibt mehrere andere Ansätze zur Validierung von Eingaben, die mit der Apigee-Plattform verfügbar sind:

Inhaltstypen validieren

Der Inhaltstyp bezieht sich auf den Inhalt einer Datei, der über HTTP übertragen und nach einer zweiteiligen Struktur klassifiziert wird. Apigee empfiehlt, die Inhaltstypen für die Anfrage und die Antwort mithilfe von bedingter Logik zu validieren, wie unten erläutert.

API-Sicherheitsberichte

Wenn Organisationen ein Governance-Framework entwickeln möchten, bietet Apigee Funktionen rund um die API-Sicherheitsberichterstattung. Dadurch erhalten Betriebsteams die Transparenz, die sie für den Schutz von APIs benötigen, indem sie Betriebsteams die Transparenz bieten, die sie für die folgenden Sicherheitsattribute von APIs benötigen:

  • Achten Sie auf die Einhaltung von Sicherheitsrichtlinien und Konfigurationsanforderungen.
  • Sensible Daten vor internem und externem Missbrauch schützen
  • Proaktives Erkennen, Diagnostizieren und Beheben von Sicherheitsvorfällen

API9:2019 Unsachgemäße Vermögensverwaltung

Beschreibung der Bedrohung

Unzureichende Umgebungsverwaltung und Umgebungssegregation ermöglichen Angreifern, auf untergesicherte API-Endpunkte zuzugreifen. Ein Mangel an Governance-Absicherungen führt auch zu einer unnötigen Offenlegung verworfener Ressourcen.

Diese Bedrohung kann beseitigt werden, indem die ausgereiften Funktionen von Apigee zur Verwaltung des gesamten API-Lebenszyklus genutzt werden. So können Sie ein umfassendes Governance-Modell erstellen, das die Zusammenarbeit zwischen Teams ermöglicht. Gleichzeitig können Sie die Verantwortlichkeiten zwischen Sicherheitsbeteiligten und API-Entwicklern trennen. Grenzen und Kontrollen können folgendermaßen konfiguriert und verwaltet werden:

Organisationen, Umgebungen und Überarbeitungen: Virtuelle und physische Schutzvorkehrungen, die die Isolation und einen gesicherten Hochstufungsprozess durch Laufzeitkontexte garantieren.

Rollenbasierte Zugriffssteuerung: Nur die erforderlichen Personen in Ihren API-Teams sind berechtigt, Konfigurationsänderungen und das Hochstufen zu verwalten.

Zielgruppenverwaltung für die API-Dokumentation: Sobald eine API im Entwicklerportal veröffentlicht wurde, können Sie die Sichtbarkeit der Dokumentation einschränken, indem Sie Zielgruppen verwalten.

Fluss-Hooks: Sie können globale Richtlinien und Muster erzwingen, die als privilegierte Sicherheitsmechanismen verwaltet werden können, die von API-Entwicklern nicht geändert werden können.

Sicherheitsberichte: Sicherheitsbeteiligte haben durchgängige Transparenz über veröffentlichte APIs und deren unterstützende Konfiguration. Die Einhaltung globaler Sicherheitsrichtlinien kann anhand des Risikoprofils für jeden veröffentlichten API-Endpunkt geprüft und bewertet werden.

Organisationen und Umgebungen

Konfigurationsartefakte, Nutzer und Features in Apigee können auf bestimmte Organisationen und/oder Umgebungen beschränkt werden. Das bedeutet, dass die Plattform vorgefertigte Sicherheitsvorkehrungen umfasst, die um APIs und die unterstützende Konfiguration platziert werden können.

Organisationen: Eine Organisation ist der Mandant der obersten Ebene in Apigee. Dadurch wird eine vollständige Trennung für Traffic, Konfiguration und Nutzer ermöglicht. Als Best Practice für die Governance empfiehlt es sich, separate Produktions- und Nicht-Produktionsorganisationen zu erstellen. Dadurch wird eine Vermischung von Produktionsdaten, Nutzern und Traffic mit weniger Umgebungen effektiv vermieden.

Umgebungen: APIs in Apigee können durch mehrere Bereitstellungsstatus hochgestuft werden. Jeder Zustand ist mit einem Ausführungskontext verknüpft. Der Umgebungskontext wird während des Hochstufungsvorgangs nicht weitergegeben. Dadurch wird verhindert, dass unbefugte Nutzer Zugriff auf sensible Konfigurationen haben.

Überarbeitungen: Durch Überarbeitungen können APIs und einzelne Funktionen nahtlos in Umgebungen hochgestuft werden.

Rollenbasierte Zugriffssteuerung

Zur Eliminierung von API9 ist es unerlässlich, klare Definitionen der Aufgabenbereiche und Aufgabentrennung zwischen den Sicherheitsbeteiligten und API-Entwicklern zu haben. Wie in diesem Dokument bereits erwähnt, bietet Apigee flexible rollenbasierte Zugriffssteuerungsfunktionen, mit denen Sie benutzerdefinierten Rollen Berechtigungen zuweisen können. Für diese spezielle Bedrohung können Rollen so eingeteilt werden, dass sie eingeschränkte Berechtigungen pro Organisation, Umgebung oder detailliertere Konfigurationsberechtigungen haben. Als bevorzugte Methode sollten Sie die Berechtigungen einschränken, um den Bereitstellungsstatus von APIs über Umgebungen zu ändern. Außerdem können Sie so dafür sorgen, dass Entwickler nicht auf globale Sicherheitsbibliotheken (Flow Hooks) zugreifen oder diese ändern können. Diese eingeschränkten Rollen verhindern unerwünschte Änderungen an globalen Sicherheitsrichtlinien, die sowohl Legacy- als auch aktuell veröffentlichte Endpunkte abdecken.

Zielgruppenverwaltung für die API-Dokumentation

Ein Entwicklerportal ist eine entscheidende Komponente für den Erfolg Ihrer API-Strategie. Es ermöglicht Ihnen, ein umfassendes Inventar aller Dokumentationen zu Ihren APIs zu führen, einschließlich Hosts/Endpunkte, Ressourcen, Vorgänge, Nutzlastschemas usw. In Apigee können Sie Ihre APIs mithilfe von API-Produktkonstrukten gruppieren. API-Produkte werden durch Ressourcen- und Betriebspakete definiert, die in denselben Geschäfts- und Sicherheitskontext fallen (z.B. Serviceplan, Unternehmensdomain, Kategorie, Unternehmenshierarchie usw.).

Mit dem integrierten Entwicklerportal von Apigee können Sie API-Produkte veröffentlichen und die Sichtbarkeit von veröffentlichten Inhalten einschränken, indem Sie Zielgruppen verwalten. Diese Funktion entspricht einer Strategie zur Inhaltssegmentierung, die den Geschäfts- und Sicherheitsanforderungen entspricht.

Flusshaken

Die Hochstufungs- und Veröffentlichungsprozesse für APIs müssen immer Prozesse zur Sicherheitscompliance und -zertifizierung umfassen. Um effektiv zu sein, sollten API-Teams, die die entsprechenden Tools verwenden, in der Lage sein, Sicherheitsvorkehrungen zu treffen, die die Trennung der Verantwortungsbereiche gewährleisten und agile Releasezyklen aufrechterhalten.

Apigee ermöglicht Ihnen, durch Flow-Hooks globale Richtlinien zu erzwingen, um Pflichten zur Sicherheits-Governance zu erhöhen. Diese globalen Richtlinien können als privilegierte Sicherheitsmaßnahmen verwaltet werden, die von API-Entwicklern nicht geändert werden können. Dadurch wird die Aufgabentrennung und die Agilität durch Standardsicherheit und damit auch die Sicherheitscompliance für alle in einer bestimmten Ausführungsumgebung bereitgestellten APIs gewährleistet.

Abbildung: Privilegierte Schutzmaßnahmen können in Apigee über Ablauf-Hooks und freigegebene Abläufe konfiguriert werden. Stakeholder im Bereich Sicherheit sind für die Aufrechterhaltung sicherheitsbezogener globaler Richtlinien verantwortlich. Diese Features gewährleisten die Trennung von Verantwortungsbereichen und fördern agile Entwicklungszyklen.

Security Reporting

Sicherheitsaudits dienen dazu, die Sicherheitsrichtlinien, die zum Schutz der Daten und Geschäftsziele Ihrer Organisation dienen, zu bewerten und zu testen. APIs sind standardisierte öffentliche oder private Schnittstellen, die durch ein umfassendes und gleichzeitig überprüfbares Sicherheits-Governance-Modell geschützt werden müssen.

In Apigee haben Sie Zugriff auf spezielle Sicherheitsberichte, mit denen Sie die Einhaltung definierter Richtlinien sicherstellen und Ihren Sicherheitsteams die Möglichkeit geben, auf der Grundlage umfassender Informationen zu folgenden Aspekten Maßnahmen zu ergreifen:

Laufzeit-Traffic: Eine zentrale Ansicht für APIs-Traffic-Statistiken unter anderem zu Zielservern, virtuellen Hosts, TLS-Konfiguration, Traffic-Änderungen pro Umgebung und mehr.

Konfiguration: Audit-Funktion für die API-Proxy-Konfiguration, die eine durchgängige Transparenz über alle auf API-Proxy-Ebene erzwungenen Richtlinien sowie das Erzwingungsspektrum freigegebener Abläufe bietet, die auf Organisations- oder Proxy-Ebene angehängt sind.

Nutzeraktivität: Sie haben die Möglichkeit, vertrauliche Vorgänge von Plattformnutzern zu verfolgen. Sie können verdächtige Aktivitäten analysieren, indem Sie sie aufschlüsseln.

API10:2019 Unzureichendes Logging und Monitoring

Beschreibung der Bedrohung

Unzureichendes Logging, Monitoring und unzureichende Benachrichtigungen führen dazu, dass laufende Angriffe unentdeckt bleiben. Daher sollte eine Strategie erforderlich sein, um Informationen zu kritischen Ereignissen zu erhalten, die Auswirkungen auf Ihr Unternehmen haben.

Bei Strategien zur Ereignis- und Logging-Verwaltung für APIs sollten die folgenden Best Practices berücksichtigt werden:

  • Richtlinie für die Logverwaltung: Dokumentieren und erzwingen Sie Regeln, um die Ausführlichkeit und Ausführlichkeit von Logs, die Logebenen, die Logintegrität, das zentrale Repository und vieles mehr zu standardisieren und zu kontrollieren.
  • Richtlinie für die Ereignisverwaltung: Hiermit wird sichergestellt, dass jedes Ereignis bis zu seiner Quelle zurückverfolgt werden kann. Außerdem sollten Ereignisse nach Kritikalität und geschäftlichen Auswirkungen kategorisiert werden können.
  • Berichte und Audits: Stakeholder für Sicherheit und Betrieb sollten in der Lage sein, in Echtzeit auf Logs und Ereignisse zuzugreifen und darauf zu reagieren. Darüber hinaus können Verstärkungszyklen von Stakeholdern durchgeführt werden, um die Erkennungsmuster basierend auf historischen Daten anzupassen.

Apigee bietet die erforderlichen Tools, um eine umfassende Strategie für die Ereignis- und Logging-Verwaltung zu erstellen. beispielsweise:

Nachrichten-Logging-Richtlinie: Erstellen Sie Logstreams basierend auf Traffic-Daten oder Metadaten aus Ihrem API-Traffic. Sie können die Ausführlichkeit von Streams flexibel festlegen, indem Sie bedingte Logik und Nachrichtenvorlagen nutzen.

Cloud Operation Suite von Google: Profitieren Sie von der vorkonfigurierten Einbindung in hoch skalierbare Monitoring- und Logging-Tools von Google.

Service-Callout-Richtlinie: Zusätzliche Unterstützung für Logstreams, für die HTTP-Endpunkte zum Senden von Ereignissen erforderlich sind.

Analytics: Greifen Sie über vorkonfigurierte und/oder benutzerdefinierte Berichte auf Metadaten zum bisherigen Traffic zu und analysieren Sie diese. Benachrichtigungen auf Grundlage von Trends erstellen und verwalten und Traffic-Anomalien verstehen

API-Monitoring: Wie bereits beschrieben, bietet dieses Tool Benachrichtigungsfunktionen, die bei kritischen Ereignissen ausgelöst werden können. Traffic-Logs können weiter analysiert und bearbeitet werden.