Liferay は、完全に署名された SAML レスポンスのみを受け入れる。 この条件をオフにすることはできますか?

問題

  • セキュリティの観点から、レスポンスに署名することはベストプラクティスである。 しかし、他のアプリではこの要件をオフにすることができる。
  • 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);
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています