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-Token
Kopfzeile mit dem Wert der Kopfzeile auf den Wert des CSRF-Token-Cookies gesetzt. -
Für Endpunkte, die einen formularkodierten Körper akzeptieren: Einen
csrfToken
formularkodierten Anforderungskörper-Parameter.
Um den CSRF-Schutz zu konfigurieren, verwenden Sie "Grid Management API"oder "Mandantenmanagement-API".
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. |