legacy-knowledge-base
公開されました Jun. 30, 2025

LiferayのAuthトークンがページソースに表示されているので、非表示にする必要がある。

投稿者

Amit Tiwari

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

問題

  • burp suiteツールを使用してトラフィックを傍受する場合、Liferay Authトークンがページソースで見えるため、ユーザーから見て脆弱な環境となる可能性があります。

Environment

  • Liferay DXP 7.0+

解決策

  • この観測された動作は予想されるものであり、セキュリティ上のリスクはありません。 その理由は以下の通りです:Liferay Auth Token は 認証された REST/JSONWS コールを Liferay に戻すのに必要なので、隠すことはできない。 その仕組みはこうです:
    1. ブラウザはLiferayのインスタンスを呼び出します。
    2. アプリケーションサーバーは、新しいHttpSessionを作成し、そこにp_authトークン値を格納します。
    3. Liferay は p_auth トークンをブラウザに返し、 認証された REST/JSONWS 呼び出しを自分の Liferay に戻すことができます。 LiferayがAPIアクセスや部分的なページレンダリングなどのために依存するものです。
    4. これらの呼び出しがLiferayに到達すると、p_authトークンの値がHttpSessionの値と比較されます。
    5. トークン値が一致しない場合、エラーが返されます(403または404のいずれか)。
    6. トークンが一致した場合、サービスコールは実行され、要求されたデータが返されます。
  • ここで重要なのは、HttpSessionを作成するアプリケーションサーバーの役割です。 Liferayの各新しいブラウザセッションは、アプリケーションサーバーが着信リクエストを既存のHttpSessionに接続するために使用するユニークなJSESSIONID値を取得し、初回アクセスのために新しいHttpSesssionが作成され、JSESSIONIDブラウザセッションクッキーが返されます。 JSESSIONIDクッキーはHttpOnlyです。つまり、ブラウザのスクリプト 、クッキーを見たり、不正な方法(誰かのp_authトークン値を使ってバックエンドにREST/JSONWSコールを行うなど)で使用することはできません。 つまり、他人のp_authトークンを使用する悪者は、サーバー側で新しいHttpSessionを取得し、それは受信したトークンと同じp_auth値を持たないので、これはセキュリティリスクではないことが確認されます。
did-this-article-resolve-your-issue

legacy-knowledge-base