
Checkliste der wichtigsten Sicherheitsgegenmaßnahmen beim Entwerfen, Testen und Veröffentlichen Ihrer API
English | 繁中版 | 简中版 | العربية | Azərbaycan | Български | বাংলা | Català | Čeština | Ελληνικά | Español | فارسی | Français | हिंदी | Indonesia | Italiano | 日本語 | 한국어 | ພາສາລາວ | Македонски | മലയാളം | Монгол | Nederlands | Polski | Português (Brasil) | Русский | ไทย | Türkçe | Українська | Tiếng Việt
Checkliste für die wichtigsten Sicherheitsmaßnahmen beim Designen, Testen und Veröffentlichen deiner API.
Basic Auth. Nutze standardisierte Authentifizierungsmethoden.Authentication, Tokengenerierung oder Passwort speichern. Nutze hierfür existierende Standards.limitierte Anzahl von Anmeldeversuche und Aussperrfunktionen (Ban, IP-Block, Permanent) im Loginprozess.HSTS (HTTP Strict Transport Security) im Header bei SSL, um SSLStrip Attacken zu verhindern.redirect_uri serverseitig und erlaube nur URLs aus einer Whitelist.response_type=token).state Parameter immer mit einem zufälligem Hash, um CSRF auf den OAuth Authentifizierungsprozess zu verhindern.GET (Lesen), POST (Erzeugen), PUT/PATCH (Ersetzen/Aktualisieren), and DELETE (Datensatz löschen), und gib 405 Method Not Allowed, wenn die angeforderte Methode nicht auf die Ressource passt.content-type im "Accept" Header der Anfrage und erlaube nur unterstützte Formate (wie application/xml, application/json, usw). Gib den Response 406 Not Acceptable zurück, wenn keine der übergebenen Content-Typen unterstützt wird.Content-Type im Header der Anfrage für übertragene Daten (bspw. POST oder PUT) wie bspw. application/x-www-form-urlencoded, , , usw./me/orders statt /user/654321/orders.UUID, damit Ressourcen nicht einfach erraten werden können.XXE (XML External Entity Attacken) zu verhindern.Billion Laughs/XML Bombe zu verhindern.X-Content-Type-Options: nosniff im Header.X-Frame-Options: deny im Header.Content-Security-Policy: default-src 'none' im Header.X-Powered-By, Server, X-AspNet-Version usw, um eventuell veraltete Softwareversionen nicht zu verraten.Content-Type bei Antworten. Wenn du ein JSON lieferst gib als Content-Type application/json an.Du kannst gerne etwas beisteuern, indem du einen Fork dieses Repositorys erstellst, Änderungen vornimmst und dann einen Pull Request anlegst. Bei Fragen schick uns eine E-Mail an [email protected].
multipart/form-dataapplication/jsonXSS, SQL-Injection, Remote Code Execution, usw).Anmeldedaten, Passwörter, Security Tokens, oder API-Schlüssel) in der URL, aber nutze den standardisierten "Authorization" Header.Quota, Spike Arrest, Concurrent Rate Limit) und der Bereitstellung dynamischer API Ressourcen.Anmeldedaten, Passwörter oder Sicherheitsschlüssel.200 OK, 400 Bad Request, 401 Unauthorized, 405 Method Not Allowed, usw).