web-dev-qa-db-ja.com

SiteMinder HTTPヘッダーが改ざんされていないことをどのように信頼できますか?

私はSiteMinderとSSO全般にまったく慣れていません。 SOとCAのWebサイトを午後中ずっと見て、基本的な例を探しましたが、見つかりませんでした。SMのセットアップやプログラミングなどは気にしません。すべてすでに他の誰かによって行われています。認証にSMを使用するようにJSWebアプリを適応させたいだけです。

SMは、ユーザーが誰であるかを教えてくれるSM_USERなどのキーを持つHTTPヘッダーを追加することがわかりました。私が得られないのは、誰かがこのヘッダーを自分で追加してSMを完全にバイパスすることを妨げるものは何ですか? SM_USERが実際にSMからのものであることを確認するには、サーバー側のコードに何を入力する必要がありますか?安全なCookieが関係していると思います...

17
GregT

WebサーバーにインストールされているSM Web Agentは、すべてのトラフィックを傍受し、リソース要求が...であるかどうかを確認するように設計されています。

  1. SiteMinderによって保護されています

  2. ユーザーが有効なSMSESSIONを持っている場合(つまり、Authenticated

  3. 1と2が真の場合、WAはSiteminder Policy Serverをチェックして、ユーザーが要求されたリソースにアクセスすることを許可しているかどうかを確認します。

ユーザー情報のHTTPヘッダーインジェクションがないことを確認するために、SiteMinderWebAgentはすべてのSiteMinder固有のHTTPヘッダー情報を書き換えます。基本的に、これは、WebAgentがユーザーに関して提示しているSM_情報を「信頼」できることを意味します。これは、Webエージェントがサーバー上のWebエージェントによって作成され、着信要求の一部ではないためです。

17
Ian

すべてのトラフィックはSiteminderWeb Agentを通過する必要があるため、ユーザーがこのヘッダーを設定しても、上書き/削除されます。

3
user404345

すべてのSiteminderアーキテクチャは、実際、アプリケーションが「SM_」ヘッダーを信頼する必要があることを前提としています。

実際には、アプリケーションのアーキテクチャによっては、これでは不十分な場合があります。基本的に、次の3つのケースがあります。

  • Webエージェントは、アプリケーションが実行されるWebサーバーにインストールされます(Apache/PHPアプリケーションの一般的なケース)。前述のように、Webエージェントによってフィルター処理されない限り、要求はアプリケーションに到達できないため、ヘッダーを信頼できます。
  • Webエージェントは、アプリケーションが実行されているWebサーバーとは異なるWebサーバーにインストールされますが、同じマシンにインストールされます(通常の場合:JEEアプリケーションサーバーにサービスを提供するApacheフロントエンドにインストールされたSMエージェント):要求ができないことを確認する必要がありますアプリケーションサーバーに直接アクセスします。アプリケーションサーバーをループバックインターフェイスにバインドするか、サーバーのポートをフィルタリングします。
  • Webエージェントは、アプリケーションの前にあるリバースプロキシで実行されます。同じ発言。ここでの唯一の解決策は、アプリケーションにIPフィルターを実装して、リバースプロキシからの要求のみを許可することです。
2
sk_

SiteMinder r12.52には、DeviceDNA™によるEnhanced SessionAssuranceという名前の新機能が含まれています。 DeviceDNAを使用して、SiteMinderセッションCookieが改ざんされていないことを確認できます。セッションが別のマシンで再生された場合、または同じマシン上の別のブラウザインスタンスから再生された場合、DeviceDNAはこれをキャッチし、リクエストをブロックします。

CA SiteMinder r12.52の新機能について説明しているWebキャストを表示するには、ここをクリックしてください

2
bcarroll

典型的なエンタープライズアーキテクチャは、Webサーバー(Siteminderエージェント)+ AppServer(アプリケーション)です。

IPフィルタリングが有効になっておらず、Webサーバーとsso-agentをバイパスして、Web要求がAppServerに直接許可されているとします。

アプリケーションがリクエストヘッダー/ Cookieが改ざん/挿入されていないことを表明するソリューションを実装する必要がある場合、次のようなソリューションはありますか?

  • 別のCookieで暗号化された、または暗号化された(Sym/Asym)SM_USERIDをSMSESSIONIDと一緒に送信します
  • アプリケーションは、キーを使用してSMSESSIONまたはSM_USERIDを復号化し、ユーザーID、セッションの有効期限ステータス、および該当する場合はその他の追加の詳細と認証の詳細を取得します。
  • アプリケーションはuser_idを信頼し、認証を行うようになりました
1
Agilan Palani