Schutz vor standortübergreifenden Anfrageschmieden (CSRF)
Sie können mithilfe von CSRF-Tokens die Authentifizierung verbessern, die Cookies verwendet, um Angriffe auf Cross-Site Request Forgery (CSRF) gegen StorageGRID zu schützen. Grid Manager und Tenant Manager aktivieren diese Sicherheitsfunktion automatisch; andere API-Clients können wählen, ob sie aktiviert werden sollen, wenn sie sich anmelden.
Ein Angreifer, der eine Anfrage an eine andere Website auslösen kann (z. B. mit einem HTTP-FORMULARPOST), kann dazu führen, dass bestimmte Anfragen mithilfe der Cookies des angemelten Benutzers erstellt werden.
StorageGRID schützt mit CSRF-Tokens vor CSRF-Angriffen. Wenn diese Option aktiviert ist, muss der Inhalt eines bestimmten Cookies mit dem Inhalt eines bestimmten Kopfes oder eines bestimmten POST-Body-Parameters übereinstimmen.
Um die Funktion zu aktivieren, setzen Sie den csrfToken Parameter während der Authentifizierung auf true. Der Standardwert ist false.
curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{
\"username\": \"MyUserName\",
\"password\": \"MyPassword\",
\"cookie\": true,
\"csrfToken\": true
}" "https://example.com/api/v3/authorize"
Wenn wahr, wird ein GridCsrfToken Cookie mit einem zufälligen Wert für die Anmeldung beim Grid Manager gesetzt, und das AccountCsrfToken Cookie wird mit einem zufälligen Wert für die Anmeldung beim Tenant Manager gesetzt.
Wenn das Cookie vorhanden ist, müssen alle Anforderungen, die den Status des Systems (POST, PUT, PATCH, DELETE) ändern können, eine der folgenden Optionen enthalten:
-
Die
X-Csrf-TokenKopfzeile mit dem Wert der Kopfzeile auf den Wert des CSRF-Token-Cookies gesetzt. -
Für Endpunkte, die einen formularkodierten Körper akzeptieren: Einen
csrfTokenformularkodierten Anforderungskörper-Parameter.
Weitere Beispiele und Details finden Sie in der Online-API-Dokumentation.
|
|
Anforderungen, die ein CSRF-Token-Cookie gesetzt haben, erzwingen auch den "Content-Type: Application/json"-Header für jede Anforderung, die einen JSON-Request-Body als zusätzlichen Schutz gegen CSRF-Angriffe erwartet. |