Warakorn - Fotolia
Wie arbeiten APIs, und wie lassen sie sich absichern?
Die Funktionsweise von APIs zu verstehen, ist für das Erstellen von Sicherheitsrichtlinien essenziell. Mit vier Schritten bauen Sie eine erste Verteidigungslinie auf.
Unternehmen, die den Zugriff auf Informationen über APIs (Application Programming Interface; Programmierschnittstelle) erlauben wollen, benötigen eine Strategie, um solche Informationen zu schützen. Verständnis für die Funktionsweise von APIs und die umgebende Sicherheitsrichtlinien sind entscheidend für die interne Sicherheit und Stabilität.
APIs werden in der Regel genutzt, um verschiedene Aktionen durchzuführen, die unter folgende Kategorien fallen:
- Abruf von Daten.
- Ändern, Aktualisieren, Löschen und Hinzufügen von Daten.
- Aufruf einer durchzuführenden Aktion.
Die Funktionsweise von APIs zu begreifen und zu verstehen, wie sie genutzt werden, ist hilfreich, um Sicherheitsrichtlinien zu formulieren. Im Folgenden finden Sie vier Arten, wie APIs genutzt werden und wie sich deren Sicherheit gewährleisten lässt.
1. Autorisierung
Der Zugriff auf Informationen über eine API muss gewährt und autorisiert werden. Nutzer und Anwendungen, die auf Daten zugreifen müssen, sollten dies durchführen können, indem sie sich zunächst selbst beim betreffenden Service authentifizieren. Unterschiedliche Nutzer und Anwendungen sollten separat identifiziert und autorisiert werden, so dass ein granularer Zugriff auf die Daten möglich ist.
Während zum Beispiel einige Anwender auf alle Aktionen im System Zugriff haben, etwa Hinzufügen, Löschen und Aktualisieren, dürfen andere Nutzer nur Datensätze abrufen oder neue hinzufügen. Die Zugriffsstufe, die jeder Nutzer oder jede Anwendung auf verschiedene Objektklassen von Informationen besitzt, muss verwaltet und gepflegt werden, damit Anwender nicht auf mehr Daten zugreifen können, als unbedingt nötig ist.
Diese Art von gestaffelter Autorisierung wird in der Regel erreicht, indem man unterschiedliche Rollen definiert und diese Anwenderm zuweist. Jede Rolle verleiht dem jeweiligen Nutzer andere Zugriffsrechte.
2. Audit Trail
Ein weiteres wichtiges Element, um die Funktionsweise von APIs abzusichern, ist ein Audit Trail. Darunter versteht man eine Möglichkeit, nachzuverfolgen, wer zu welchem Zeitpunkt auf Informationen zugegriffen hat. Da Nutzer beim Zugriff auf APIs separat und eindeutig identifiziert werden, müssen diese Aufrufe sowie ihr Rückgabestatus als Audit Trail protokolliert werden.
Mit Audit Trails lässt sich nachvollziehen, wie auf die Daten zugegriffen wird und ob schädliche Aktivitäten stattgefunden haben. Der Trail führt auch zu dem User, der den Zugriff initiiert hat.
3. Data at Rest und Data in Motion
Die Daten, auf die über die API zugegriffen wird, werden am besten in einem verschlüsselten Format gespeichert. Verschlüsselung ist besonders wichtig, falls diese Daten personenbezogene Informationen oder irgendwelche anderen sensiblen Daten enthalten. Alle Passwörter sollten mit Salt und Hash versehen und niemals im Klartext gespeichert werden.
Die APIs aufzurufen oder auszuführen, bedeutet, dass Daten geändert und Informationen über die APIs abgefragt werden. Während in der heutigen Zeit alle APIs über verschlüsseltes HTTPS oder sichere Web-Sockets aufgerufen werden sollten, gilt dies umso mehr für den Informationsabruf via APIs. Das ist notwendig, um zu verhindern, dass nicht berechtigte Anwender den Traffic von der API zum vorgesehenen Nutzer belauschen können.
4. Rate Limiting
Ein Nutzer sollte nur bis zu einer bestimmten Rate über die API auf Informationen zugreifen dürfen. Auf diese Weise lässt sich das Risiko reduzieren, dass Anwender den Zugriff missbrauchen oder dass ihre Identität übernommen und missbräuchlich verwendet wird, was zu einem größeren Datenleck führen könnte.
Zum Beispiel ist es einem Nutzer erlaubt, sich mit einer API zu verbinden, um neue User zu validieren. Aber wenn dieser Nutzer Ihre API mit einer Rate von 1.000 Aufrufen pro Sekunde ausführt, könnte dies heißen, dass die API missbraucht wird, um Daten abzugreifen. In diesem Falle wäre es sinnvoll, den API-Zugriff des Nutzers auf einen Aufruf pro Sekunde zu begrenzen.
Wie andere Sicherheitsmaßnahmen kann auch Rate Limiting granular sein und verschiedene Anwender und Rollen abdecken. Für verschiedene API-Aufrufe lassen sich unterschiedliche Rate Limits festlegen.
Andere Autorisierungsrichtlinien können den Zugriff nach Geografie, dem exakten Standort eines Nutzers oder spezifischen Sicherheitszertifizierungen einschränken. Es ist klug, den Zugriff auf Informationen zu überwachen. Ein verdächtiges Verhalten kann auf einen potenziellen Missbrauch oder Datenlecks hindeuten.