私はSiteMinderとSSO全般にまったく慣れていません。 SOとCAのWebサイトを午後中ずっと見て、基本的な例を探しましたが、見つかりませんでした。SMのセットアップやプログラミングなどは気にしません。すべてすでに他の誰かによって行われています。認証にSMを使用するようにJSWebアプリを適応させたいだけです。
SMは、ユーザーが誰であるかを教えてくれるSM_USERなどのキーを持つHTTPヘッダーを追加することがわかりました。私が得られないのは、誰かがこのヘッダーを自分で追加してSMを完全にバイパスすることを妨げるものは何ですか? SM_USERが実際にSMからのものであることを確認するには、サーバー側のコードに何を入力する必要がありますか?安全なCookieが関係していると思います...
WebサーバーにインストールされているSM Web Agentは、すべてのトラフィックを傍受し、リソース要求が...であるかどうかを確認するように設計されています。
SiteMinderによって保護されています
ユーザーが有効なSMSESSIONを持っている場合(つまり、Authenticated)
1と2が真の場合、WAはSiteminder Policy Serverをチェックして、ユーザーが要求されたリソースにアクセスすることを許可しているかどうかを確認します。
ユーザー情報のHTTPヘッダーインジェクションがないことを確認するために、SiteMinderWebAgentはすべてのSiteMinder固有のHTTPヘッダー情報を書き換えます。基本的に、これは、WebAgentがユーザーに関して提示しているSM_
情報を「信頼」できることを意味します。これは、Webエージェントがサーバー上のWebエージェントによって作成され、着信要求の一部ではないためです。
すべてのトラフィックはSiteminderWeb Agentを通過する必要があるため、ユーザーがこのヘッダーを設定しても、上書き/削除されます。
すべてのSiteminderアーキテクチャは、実際、アプリケーションが「SM_」ヘッダーを信頼する必要があることを前提としています。
実際には、アプリケーションのアーキテクチャによっては、これでは不十分な場合があります。基本的に、次の3つのケースがあります。
SiteMinder r12.52には、DeviceDNA™によるEnhanced SessionAssuranceという名前の新機能が含まれています。 DeviceDNAを使用して、SiteMinderセッションCookieが改ざんされていないことを確認できます。セッションが別のマシンで再生された場合、または同じマシン上の別のブラウザインスタンスから再生された場合、DeviceDNAはこれをキャッチし、リクエストをブロックします。
CA SiteMinder r12.52の新機能について説明しているWebキャストを表示するには、ここをクリックしてください
典型的なエンタープライズアーキテクチャは、Webサーバー(Siteminderエージェント)+ AppServer(アプリケーション)です。
IPフィルタリングが有効になっておらず、Webサーバーとsso-agentをバイパスして、Web要求がAppServerに直接許可されているとします。
アプリケーションがリクエストヘッダー/ Cookieが改ざん/挿入されていないことを表明するソリューションを実装する必要がある場合、次のようなソリューションはありますか?