2016-07-09 1 views
0

私はSpringを使ってWebアプリケーションを構築しています。私は複数のSpringクライアントアプリケーションと1つのOAuth2 Authorizationとリソースサーバーを持っています。エンドユーザーはまずクライアントアプリケーション内で認証を行い、クライアントアプリケーションはリソースサーバーからリソースを要求し(承認サーバーからアクセストークンを取得した後)、データを処理してユーザーに返します。ユーザーは、リソースサーバー上のデータを変更することもできますが、クライアントアプリケーションを介してのみ変更できます。リソースを取得するためには、クライアント証明書のみが使用されます。リソース所有者は、この場合は信頼できるクライアントです。Spring OAuth2クライアント、CSRF保護

リソースサーバーでは、クライアントの詳細とリソースのみが保存され、エンドユーザーに関する情報は保存されません。リソースサーバーは誰がリソースを要求したかを気にせず、その要求は許可されたクライアントアプリケーションからのものです。

クライアントアプリケーションにはCSRF保護がありますが、認証サーバでCSRF保護を有効にする必要がありますか?通信はサーバー間、クライアントの資格情報は安全に保管され、ユーザーは直接リソースにアクセスできないため、攻撃シナリオは考えられません。

答えて

1

あなたの認証サーバーにアプリケーションサーバーからしかアクセスできない場合は、両方でCSRF保護を有効にすることで、どんな興味があるのか​​分かりません。 エンドユーザーがアクセスできるサーバー上のCSRF保護で十分です。 さらに、アプリケーション・サーバーでCSRF保護が壊れてから、アプリケーションが許可サーバーと通信する場合、要求がサーバーによって行われて以来、許可サーバーでそれを検出する方法はわかりません。