Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

クロスサイトリクエストフォージェリ( 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 に設定すると 'GridCsrfToken' クッキーが Grid Manager へのサインインにランダムな値を使用して設定され 'AccountCsrfToken' クッキーが Tenant Manager へのサインインにランダムな値を使用して設定されます

クッキーが存在する場合は、システムの状態を変更できるすべての要求( POST 、 PUT 、 PATCH 、 DELETE )には次のいずれかが含まれている必要があります。

  • CSRF トークンクッキーの値が設定された 'X-Csrf-Token' ヘッダー

  • フォームエンコードされた本文を受け入れるエンドポイントの場合:フォームエンコードされた要求本文パラメータ「 csrfToken 」。

その他の例および詳細については、オンラインの API ドキュメントを参照してください。

メモ CSRF トークンクッキーが設定されている要求では、本文に JSON が必要なすべての要求に対して「 Content-Type : application/json 」ヘッダーも適用され、 CSRF 攻撃からの保護がさらに強化されます。