クロスサイトリクエストフォージェリ( CSRF )の防止
CSRF トークンを使用してクッキーによる認証を強化すると、 StorageGRID に対するクロスサイトリクエストフォージェリ( CSRF )攻撃を防ぐことができます。Grid Manager と Tenant Manager はこのセキュリティ機能を自動的に有効にします。他の API クライアントは、サインイン時にこの機能を有効にするかどうかを選択できます。
攻撃者が別のサイト(たとえば、 HTTP フォーム POST を使用して)への要求をトリガーできる場合、サインインしているユーザのクッキーを使用して特定の要求を原因 が送信できます。
StorageGRID では、 CSRF トークンを使用して CSRF 攻撃を防ぐことができます。有効にした場合、特定のクッキーの内容が特定のヘッダーまたは特定の POST パラメータの内容と一致する必要があります。
この機能を有効にするには、を設定します csrfToken
パラメータの値 true
認証中です。デフォルトはです 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"
trueの場合は、Aです GridCsrfToken
クッキーは、Grid Managerおよびへのサインインにランダムな値を使用して設定されます AccountCsrfToken
クッキーは、Tenant Managerへのサインインではランダムな値で設定されます。
クッキーが存在する場合は、システムの状態を変更できるすべての要求( POST 、 PUT 、 PATCH 、 DELETE )には次のいずれかが含まれている必要があります。
-
。
X-Csrf-Token
CSRFトークンクッキーの値がヘッダーに設定されています。 -
エンドポイントがフォームエンコードされた本文を受け入れる場合:A
csrfToken
フォームエンコードされた要求の本文パラメータ。
その他の例および詳細については、オンラインの API ドキュメントを参照してください。
CSRFトークンクッキーが設定されている要求では、も適用されます "Content-Type: application/json" CSRF攻撃からの保護がさらに強化されるために、JSON要求の本文が必要なすべての要求のヘッダー。
|