Skip to content

csrf_protection.rb

TADA Tadashi edited this page Nov 9, 2017 · 1 revision

(「CSRF(乗っ取り)対策」は標準で組み込まれているプラグインです。csrf_protection.rbというファイルは存在しません)

概要

クロスサイト・リクエストフォージェリ(CSRF)の対策手法を設定します。

CSRF攻撃は、悪意のある人間がWebページに罠を仕掛けます。 その罠を仕掛けたページをあなたが閲覧すると、あなたのブラウザはtDiaryに偽の書き込み要求を送出してしまいます。あなたのブラウザが偽要求を送出してしまうため、暗号化・パスワード保護だけでは対策になりません。tDiaryでは、この種の攻撃に対して、「Refererチェック」と「CSRFキー」という 2種類の防衛手段を用意しています。

Refererチェックによる防衛

あなたのブラウザが送出するReferer(リンク元情報)を検査します。 書き込み要求が正しいページから送出されたことを確認することで、 偽ページからの要求を防ぎます。不正なページからの要求を検出した場合、 更新リクエストを拒否します。 設定画面では、無効にすることはできません。

Refererを送出しないブラウザを拒否

ブラウザからRefererが送られてこなかった場合の動作を指定します。

標準では、Refererが送出されない場合、不正なリクエストを判別できないため、書き込み・設定変更を拒否します。 あなたのブラウザがRefererを送出しない設定の場合、 この設定が「する」になっていると、正規の書き込み要求も拒否してしまいます。ブラウザを設定を変更しRefererを送出するようにしてください。どうしてもRefererを送出する設定に出来ない場合、「しない」にしてください。この場合、Refererが全く送出されなかった場合にも、書き込み・設定変更を許すようになりますが、 CSRFによる攻撃と区別できなくなりますので、必ず次の「CSRF防止キー」の 設定と併用して下さい。

CSRF防止キーによる防衛

書き込みフォームに偽装書き込み防止のためのキーを設定し、CSRFを防ぎます。 偽ページが秘密のキーを知らない限り、 偽の書き込み要求を生成することができなくなります。 この検査を「する」に設定する場合、次の鍵も設定して下さい。 上の設定と両方「しない」にすることはできません。

この設定を「する」にした場合、この機構に対応していない一部の プラグインが動作しなくなることがあります。

CSRF 防止キー

偽装防止キーを設定します。推測しにくい適当な文字列を指定して下さい。 この鍵が外部に洩れると、CSRF攻撃を受ける可能性があります。 他のパスワードと共用はしてはいけません。なお、設定した文字列をあなたが覚えておく必要はありません。

Clone this wiki locally