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, stellen Sie die ein csrfToken
Parameter an true
Während der Authentifizierung. Die Standardeinstellung lautet 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, A GridCsrfToken
Cookies werden mit einem zufälligen Wert für die Anmeldung bei Grid Manager und dem gesetzt AccountCsrfToken
Cookie wird mit einem zufälligen Wert für die Anmeldung bei 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:
-
Der
X-Csrf-Token
Kopfzeile, wobei der Wert der Kopfzeile auf den Wert des CSRF-Token-Cookies gesetzt ist. -
Für Endpunkte, die einen formcodierten Körper annehmen: A
csrfToken
Formularkodierung für den Anforderungskörperparameter.
Verwenden Sie zum Konfigurieren des CSRF-Schutzes die "Grid Management API" Oder "Mandantenmanagement-API".
Anforderungen, die über ein CSRF-Token-Cookie-Set verfügen, werden auch die durchsetzen "Content-Type: application/json" Kopfzeile für jede Anfrage, die einen JSON-Anforderungskörper als zusätzlichen Schutz gegen CSRF-Angriffe erwartet.
|