web-dev-qa-db-ja.com

セッションCookieWebsphere7のSecureフラグとHttpOnlyフラグ

サーブレット3.0苦情アプリケーションサーバーでは、web.xmlに以下を追加することで、セッションCookie(JSESSIONID)のHttpOnlyフラグとセキュアフラグを設定できます。

<session-config>
  <cookie-config>
    <secure>true</secure>
    <http-only>true</http-only>
  </cookie-config>
</session-config>

ただし、私が取り組んでいるアプリケーションはWebsphere 7にデプロイされますが、これはサーブレット2.5の苦情であり、上記をweb.xmlに追加すると起動に失敗します。

Websphere 7構成で、セッションCookieのHttpOnlyとセキュアフラグをオンにする他の宣言的な方法または設定はありますか?

そうでない場合、プログラムでそれを達成するための最良のアプローチは何でしょうか?

10
mmutilva

WebSphere 7では、管理コンソールを詳しく調べる必要があるかもしれません。相変わらず、WebSphereのドキュメントは貧弱に見えますが、 com.ibm.ws.security.addHttpOnlyAttributeToCookies プロパティの設定を提案しているようです。

WebSphere Application Serverプロパティcom.ibm.ws.security.addHttpOnlyAttributeToCookiesを設定すると、SecureフラグとHTTPOnlyフラグの両方が有効になります。

this が見つかりました。これは、WAS7に適用できると思います。試してみてください(現在、システムにはWAS 8しかありません):

JSESSIONID cookie:

セキュアフラグ:

Secureフラグは、AppServer-> [Server Name]-> Web Container Settings-> Session Managementを選択することにより、WebSphere ApplicationServer管理インターフェース内で設定できます。 「CookieをHTTPSセッションに制限する」のチェックボックスをオンにします。

HTTPOnlyフラグ:

現在、HTTPOnly属性をこのCookieに設定することはできません。これは、IBMサイトにAPARPK98436として登録されています。このAPARの修正は、現在、修正パック6.1.0.31および7.0.0.9に含まれることを目的としていますが、これらはまだ利用できません。このAPARを設定すると、プロパティ名com.ibm.ws.webcontainer.httpOnlyCookiesを使用してJSESSIONIDCookieにHTTPOnlyフラグを設定できます。 WebContainerカスタムプロパティを有効にする手順については、次のテクニカルノートを参照してください。

com.ibm.ws.webcontainer.httpOnlyCookies プロパティは、WAS7ヘルプサイトに文書化されています。

8
planetjones

セキュアフラグをJSESSIONID cookieに設定するには(WebSphere 7.xおよび8.xでも同じ):

  • ログインログインWebSphere管理コンソールにログイン
  • サーバー>サーバータイプ> WebSphereアプリケーションサーバーに移動します
  • サーバー名をクリックします(デフォルトはserver1
  • リンクをクリックしますWebコンテナ設定> Webコンテナ
  • リンクをクリックセッション管理
  • リンクをクリックしますCookieを有効にします。これは少し混乱します。チェックボックスではなくテキストをクリックする必要があります。
  • オプションを選択(チェックボックス)CookieをHTTPSセッションに制限する
  • 保存の変更

WebSphere8.xのHttpOnlyフラグをJSESSIONIDcookieに設定するには

  • ログインログインWebSphere管理コンソールにログイン
  • サーバー>サーバータイプ> WebSphereアプリケーションサーバーに移動します
  • サーバー名をクリックします(デフォルトはserver1
  • リンクをクリックしますWebコンテナ設定> Webコンテナ
  • リンクをクリックしてくださいセッション管理
  • リンクをクリックしますCookieを有効にします。これは少し混乱します。チェックボックスではなくテキストをクリックする必要があります。
  • オプションを選択(チェックボックス)クロスサイトスクリプティング攻撃を防ぐためにセッションCookieをHTTPOnlyに設定します
  • 保存の変更

WebSphere7.xのHttpOnlyフラグをJSESSIONIDcookieに設定するには

  • ログインログインWebSphere管理コンソールにログイン
  • サーバー>サーバータイプ> WebSphereアプリケーションサーバーに移動します
  • サーバー名をクリックします(デフォルトはserver1
  • リンクをクリックしますWebコンテナ設定> Webコンテナ
  • リンクをクリックしてくださいカスタムプロパティ
  • ボタンをクリックします新規
  • namecom.ibm.ws.webcontainer.httpOnlyCookiesvalue:*(HttpOnlyはJSESSIONIDだけでなくすべてのCookieに設定されます)
  • [〜#〜] ok [〜#〜]ボタンをクリックします
  • 保存の変更
3
zoran

WebSphere 7では、これは管理コンソールのサーバー> WebSphereアプリケーションサーバー>[サーバー名]> セッション管理(「コンテナー設定」の下)> Cookieを有効にする> CookieをHTTPSセッションに制限する

0
quietmint