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