Hatena::Groupsubtech

#生存戦略 、それは

-> 12 { 10 / 31 }

Rails 3 アプリ + HTTPS で実現する Cookie のセキュリティ

18:56 | はてなブックマーク - Rails 3 アプリ + HTTPS で実現する Cookie のセキュリティ - #生存戦略 、それは

Rails 3 で Web+DB vol.71 特集1 第四章に載っている、"HTTPS で実現する Cookie のセキュリティ" の実現方法。HTTPS のみのアプリではやっておくべき。

具体的には

  • Cookie に secure 属性の追加
  • Cookie に HttpOnly 属性の追加
  • HSTS 対応 (Strict-Transport-Security ヘッダの追加)

を行う。各種がどんな対策なのかは Web+DB の特集を読もう!

Rails 3.1 以降の場合

production が SSL 環境なら、config/environments/production.rb に

config.force_ssl = true
config.ssl_options = { :hsts => true }

を追加するだけ。Rack::SSL ミドルウェアが読み込まれ、ssl_options が設定として渡される。

Rails 3.0 の場合

Gemfile で

gem 'rack-ssl'

を追加。

config/environments/production.rb に

  require 'rack/ssl'
  config.middleware.insert_before Rack::Lock, "Rack::SSL", { :hsts => true }

を追加する。環境によっては middleware が異なってたりするので、場合により Rack::Lock の場所は適当に読みかえる。

わおーかんたん。

トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20121031