問題
- セキュリティの観点から、レスポンスに署名することはベストプラクティスである。 しかし、他のアプリではこの要件をオフにすることができる。
- Liferayがデフォルトでレスポンスの完全な署名を要求していることは理解できますが、これを何らかの方法でオフにすることはできますか?
Environment
- DXP 7.3+
解決策
- SAML標準は、ブラウザを使用するSAMLバインディングでは署名検証を必須(MUST)としている。 Liferay は SSO に HTTP Post バインディングを使いますが、これはこのカテゴリーに入ります。
- つまり、SAMLメッセージの悪意のあるキャプチャと返信を防止するために、プライベート・ネットワーク上のすべてのユーザとワークステーションのセキュリティを信頼することになる。
-
このリスクを許容できる場合は、SAMLコードを変更することができる。
セキュリティ上の理由から、このメソッドを推奨またはサポートすることはできない。
WebSsoProfileImplでは、メソッド「doProcessResponse」
を次のように変更する。
宛先MessageContext messageContext = decodeSamlMessage(
httpServletRequest, httpServletResponse,
getSamlBinding(SAMLConstants.SAML2_POST_BINDING_URI), true);
MessageContext messageContext = decodeSamlMessage(
httpServletRequest, httpServletResponse,
getSamlBinding(SAMLConstants.SAML2_POST_BINDING_URI), false);
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン