Max Tietz Geschrieben 9. Januar Teilen Geschrieben 9. Januar Hallo zusammen, ich stehe gerade vor der Herausforderung, eine API in mein selbst entwickeltes Shopsystem zu integrieren, und möchte sicherstellen, dass die Sicherheitsaspekte angemessen berücksichtigt werden. Ein Ansatz, den ich in Betracht ziehe, ist das Verbergen von Admin-Funktionen hinter einem Login, indem beispielsweise der "Produkt hinzufügen"-Button nur für Admins sichtbar ist. Allerdings frage ich mich, ob das ausreichend ist oder ob zusätzliche Sicherheitsmaßnahmen auf der Endpointebene erforderlich sind. Darüber hinaus würde mich interessieren, wie man verhindern kann, dass Benutzer einfach Postman oder ähnliche Tools verwenden, um meine Endpoints abzufragen. Welche Maßnahmen sind hier sinnvoll, um unerlaubten Zugriff zu verhindern? Vielen Dank im Voraus für eure Erfahrungen und Ratschläge! VG, MAGGS Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Funfare1337 Geschrieben 10. Januar Teilen Geschrieben 10. Januar Hallo, bei der API musst du die gleichen Sicherheitsmechanismen berücksichtigen wie bei Aufrufen mit dem Browser. Technisch gesehen ist das das Gleiche, nur statt HTML kommt halt JSON zurück (oder was auch immer). Alles was im Browser direkt passiert, ist nette Spielerei bzw. nur die die Benutzerfreundlichkeit gedacht. Es ist nett, wenn der Benutzer den Button "Produkt hinzufügen" Button nicht sieht, wenn er eh nichts damit anfangen kann. Wichtig ist aber, dass der Webrequest zum Produkt hinzufügen abgesichert ist bzw. mit Login/Berechtigung etc. überprüft wird. Postman wirst du nicht verhindern können. Es gibt ein paar Möglichkeiten um es schwerer zu machen (User-Agent überprüfen, CSRF etc), aber ob jetzt am Ende Firefox, Chrome, CURL oder Postman dahinter steht, wirst du nie absolut sicher feststellen können. Konzentriere dich darauf, die API bzw den Shop richtig abzusichern, dann kann es dir egal sein wie genau er aufgerufen wird. (Es macht ja auch keinen Unterschied, ob ein User jetzt Postman oder Chrome/Firefox etc benutzt, er kann so oder so das gleiche machen) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Max Tietz Geschrieben 10. Januar Autor Teilen Geschrieben 10. Januar vor 23 Minuten schrieb Funfare1337: Hallo, bei der API musst du die gleichen Sicherheitsmechanismen berücksichtigen wie bei Aufrufen mit dem Browser. Technisch gesehen ist das das Gleiche, nur statt HTML kommt halt JSON zurück (oder was auch immer). Alles was im Browser direkt passiert, ist nette Spielerei bzw. nur die die Benutzerfreundlichkeit gedacht. Es ist nett, wenn der Benutzer den Button "Produkt hinzufügen" Button nicht sieht, wenn er eh nichts damit anfangen kann. Wichtig ist aber, dass der Webrequest zum Produkt hinzufügen abgesichert ist bzw. mit Login/Berechtigung etc. überprüft wird. Postman wirst du nicht verhindern können. Es gibt ein paar Möglichkeiten um es schwerer zu machen (User-Agent überprüfen, CSRF etc), aber ob jetzt am Ende Firefox, Chrome, CURL oder Postman dahinter steht, wirst du nie absolut sicher feststellen können. Konzentriere dich darauf, die API bzw den Shop richtig abzusichern, dann kann es dir egal sein wie genau er aufgerufen wird. (Es macht ja auch keinen Unterschied, ob ein User jetzt Postman oder Chrome/Firefox etc benutzt, er kann so oder so das gleiche machen) @Funfare1337 vielen lieben dank für deine Tipps,! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arlecchin0 Geschrieben 13. Januar Teilen Geschrieben 13. Januar Mit C++? Was verwendest denn für libs/frameworks? Sagt dir OWASP was? https://owasp.org/www-project-top-ten/ https://owasp.org/www-project-api-security/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Geschrieben 13. Januar Teilen Geschrieben 13. Januar (bearbeitet) Was du brauchst ist im Kern eine vernünftige Authentifizierung (und Autorisierung) an der API, z. B. token basiert via JWT oder Oauth. Wer keine Permissions hat, darf dann halt die API Endpunkte nicht nutzen und auch keine Produkte eben über diese hinzufügen. HTTPs sollte eh klar sein. Weitere Security Maßnahmen (OWASP, RateLimiting, ...) würde ich eher ganzheitlich betrachten, denn der Shop wird ja auch ohne API Angriffen ausgesetzt sein. Eventuell habt ihr schon eine WAF oder ähnliches mit OWASP Ruleset und könntet über ein API Gateway nachdenken, mit der du das Thema Authentifizierung+Autorisierung ebenfalls angehen könntest. Bearbeitet 13. Januar von bloodyberry Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.