Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら RSSフィードのご登録はこちらから
公開日:2013年3月1日

Tomcat のセッション ID に HttpOnly 属性と secure 属性を付与する

Tomcat 7では、セッション ID にデフォルトで HttpOnly 属性が付いていますが、念のために設定を行います。

Tomcat 7で HttpOnly 属性を付与するためには、 %TOMCAT_HOME%\conf\server.xml  に次の設定を行います。

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

また、Tomcat は HTTPS 通信でセッションを開始すると、自動的にセッション ID に secure 属性が付与されます。ですが、SSL アクセラレーターを利用した場合、HTTPS の暗号化通信を SSL アクセラレーターで復号し、Tomcat には HTTP でアクセスされてしまうのでデフォルトでは secure 属性が付与されません。

ですので、HTTP 通信でも secure 属性が付与されるように設定を行います。

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

これらの設定を行なって、HTTP 通信で JSP にアクセスしたレスポンスヘッダーは以下のようになっていて、正しく設定されていることが分かります。

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=900EE872CE7B3862346D0A7BE1B3B37E; Path=/test/; Secure; HttpOnly
Content-Type: text/html;charset=utf-8
Content-Length: 213
Date: Thu, 28 Feb 2013 22:54:10 GMT


スポンサーリンク





カテゴリー:Java

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA