ColdFusion 9.0.1,9.0.2 セッションID Cookie に httpOnly を付ける

ColdFusion 9.0.1アップデーターの適用、または9.0.2では ColdFusion が発行するセッションID Cookie(CFID, CFTOKEN や J2EESESSIONID)に httpOnly 属性を付加することができるようになりました。

セッションCookieにHttpOnly属性をセットすることによって、ブラウザ側の非HTTP APIであるJavaScript や vbScript などのクライアントスクリプトからのCookieへのアクセスをブロックし、JavaScriptを介したセッションID Cookieの読み込みを防ぐことに効果的です。

 

注意

  • もちろんこの設定によってJavaScript等を介した攻撃すべてに対応できるわけではありません。さまざまな手段で試みられる攻撃に対する防御方法の一つとしてお考えください。
  • httpOnly属性をサポートしているブラウザについては下記の「技術情報(Securing your applications using HttpOnly cookies with ColdFusion)」や一般のサイトの掲載等でご確認下さい。

 

デフォルトの状態では、セッションCookieに対する httpOnly属性の付加は行われません。セッションCookieに対して httpOnly属性を付加する方法は、下記の「Adobe ColdFusion 9.0 アップデート 1 で解決された問題」のページの「73878」に記載されているパラメーターを指定します(記事中ではパラメータの頭の - が抜けていますので下記の手順も参考下さい)。

 

  1. ColdFusion Administrator にログインします。
  2. [サーバーの設定] - [JavaとJVM]の設定画面を開きます。
  3. 『JVM引数』に -Dcoldfusion.sessioncookie.httponly=true を指定します。
    • 手動で値を追加する際は、余分な改行を含めないように注意して下さい
  4. [変更の送信]ボタンを押します。変更が完了すると、ColdFusionを再起動するメッセージが表示されますので、それに従いColdFusionを再起動してください。
    • jvm.config、または ColdFusion Administrator の [Java と JVM] で誤った指定を行うと、ColdFusionの起動に失敗する場合もあります。そのため、まずはテスト環境や開発環境で動作をお試し頂くことをお勧めします。

 

 

特記事項

ColdFusion 10では、セッションID Cookie に対する HttpOnly 属性のオン・オフを ColdFusion Administrator やプログラムで制御できるようになったため、上記の「-Dcoldfusion.sessioncookie.httponly=true」は廃止されました。

HttpOnly属性に関する詳細は、下記の技術情報をご覧ください。

ColdFusion 9.0.0 やそれ以外のバージョンで、プログラムによる強制的な上書きで対応する方法がユーザーサイトで紹介されています。
(参考情報) http://www.petefreitag.com/item/764.cfm

 

 


記事公開日:2013年02月05日
最終更新日:2013年02月12日

 


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.