Tierney - stock.adobe.com

8 bewährte Verfahren zur Absicherung von RESTful APIs

Der REST-Architekturstil unterstützt die Kommunikation zwischen Anwendungen. Um Angreifer abzuwehren, gilt es die erforderlichen Schutzmaßnahmen für RESTful APIs umzusetzen.

Web-App-Entwickler verwenden häufig REST APIs, um die Lücke zwischen der Datenbank und der Benutzeroberfläche der Anwendung zu schließen, die mit dem Endbenutzer interagiert. RESTful APIs bieten zwar wichtige Funktionen, aber aufgrund ihrer Beliebtheit und Leistungsfähigkeit sind sie auch ein beliebtes Ziel für Kriminelle.

Der Schlüssel zum Schutz von RESTful APIs liegt darin, die Sicherheit einfach zu halten. Verfallen Sie nicht dem Trugschluss, dass mehr auch besser ist, denn dadurch vergrößern Sie nur die Angriffsfläche für Cyberkriminelle.

Was ist eine REST-API?

REST APIs verwenden den Architekturstil REST (REpresentational State Transfer), um die Kommunikation zwischen verschiedenen Anwendungstypen zu ermöglichen.

Entwickler verwenden REST, um Webanwendungen zu erstellen und bereitzustellen. REST kann angepasst werden, um Kriterien für die Speicherung und Übertragung von Informationen und Daten an den Endbenutzer festzulegen.

Mit der RESTful API sind vier Methoden verbunden:

  • GET: Diese Methode legt fest, wie Ressourcen für den Endbenutzer zugänglich gemacht werden sollen.
  • POST: Diese Methode beschreibt, wie Informationen, die ein Endbenutzer übermittelt – beispielsweise über die Seite „Kontakt“ einer Website –, an die Datenbank gesendet werden sollen.
  • PUT: Hiermit werden die Informationen aktualisiert, die sich derzeit in den Datensätzen der Datenbank befinden. Mit dieser Funktion könnte ein Kunde beispielsweise eine neue Zahlungsmethode zu einem Kreditkartenportal hinzufügen.
  • DELETE: Hiermit werden Datensätze in der Datenbank gelöscht. Wenn ein Kunde beispielsweise eine Zahlung übermittelt, dann aber zurückgeht und sie storniert, würde dies die Löschfunktion auslösen.

Bewährte Verfahren für die Sicherheit von RESTful-APIs

Ein Angreifer, der nur eine einzige RESTful API knackt, kann eine Menge Daten abziehen. Aber es gibt Möglichkeiten, dieses Risiko zu verringern, zum Beispiel mit folgenden Maßnahmen:

TLS. Transport Layer Security verschlüsselt den Datenfluss vom Frontend zum Backend einer Webanwendung und umgekehrt. Es kann auch andere Mechanismen schützen, wie beispielsweise API-Schlüssel. Das Mutual TLS (mTLS) ermöglicht es dem Frontend und dem Backend, sich gegenseitig zu authentifizieren, wodurch eine zusätzliche Schutzebene entsteht.

Autorisierung und Authentifizierung. Die Autorisierung bestätigt die Identität der Person, die auf die RESTful-API zugreifen möchte, während die Authentifizierung bestimmte Rechte und Berechtigungen hinsichtlich der Aktionen zuweist, die diese Person ausführen darf. Der Authentifizierungsschritt sollte gemäß dem Prinzip der geringsten Privilegien erfolgen. Zu den Mechanismen für die Autorisierung und Authentifizierung gehören API-Schlüssel, OAuth 2.0, das kurzlebige Zugriffstoken erstellt, und JSON-Web-Token, die digital signiert sind.

Eingabevalidierung. Damit wird bestätigt, dass die vom Endbenutzer übermittelten Daten echt und authentisch sind. Ohne diese Art der Überprüfung kann ein Angreifer leicht fehlerhafte Informationen einfügen. Dies kann zu SQL-Injection- oder Cross-Site-Scripting-Angriffen (XSS) führen. Um Eingaben zu validieren, müssen Sie Permutationen wie Länge und Format des Inhalts berücksichtigen.

Fehlerprotokollierung. Führen Sie ein Protokoll über auftretende Fehler. Wenn eine API eine Anfrage nicht ausführen kann, erhält der Endbenutzer eine Fehlermeldung, beispielsweise: Fehler 400: Ungültige Anfrage, Fehler 401: Nicht autorisiert oder Fehler 500: Interner Serverfehler. Halten Sie diese Fehlermeldungen einfach; zu viele Informationen zu preisgeben, verschafft jemandem, der versucht, Ihre APIs zu knacken, einen Vorteil.

Kontrolle der Anzahl der Anfragen. Die Kontrolle von Anfragen, auch als Drosselung und Ratenbegrenzung bezeichnet, beschränkt die Gesamtzahl der Anfragen, die an eine einzelne API gestellt werden können. Dadurch können Distributed-Denial-of-Service-Angriffe (DDoS) auf den Server, auf dem die Anwendung gehostet wird, unterbrochen werden.

Schwachstellenprüfungen. Eine der besten Methoden, um APIs auf Schwachstellen oder Lücken zu untersuchen, ist ein Penetrationstest. Wenn ein Red Team versucht, in die APIs eines Unternehmens einzudringen, kann es die gefundenen Schwachstellen detailliert auflisten und Abhilfemaßnahmen vorschlagen.

API-Erkennung. Bei dieser Methode inventarisiert ein Unternehmen alle verwendeten APIs, fast so, als würde es eine Prüfung durchführen. Dies ist eine effektive Methode, um sicherzustellen, dass keine unerwünschten oder schadhaften APIs vorhanden sind.

API-Gateways. Diese Art von Mechanismus fungiert als Dreh- und Angelpunkt für die Filterung und Verarbeitung aller API-Anfragen. API-Gateways erhöhen die Sicherheit durch zusätzliche Vorteile, darunter:

  • Sicherheitsrichtlinien. Diese ermöglichen es einem Sicherheitsteam, Protokolle für Authentifizierung, Autorisierung, Verschlüsselung und Zugriffskontrolle zu implementieren.
  • Routing-Richtlinie. Diese ermöglicht Permutationen zur Optimierung des Flusses von API-Anfragen.
  • Observability-Richtlinie. Diese Richtlinie ermöglicht es einem Team, Protokolle aller API-Transaktionen zu erstellen, wodurch es möglich ist, alle Muster zu erkennen, die von der Basislinie abweichen.

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit