A Day in the Life

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

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 の場所は適当に読みかえる。

わおーかんたん。

記事の一覧 >

関連するかもエントリー

Rack のセキュリティフィックスと Timing Attack の話し
Rack のセキュリティフィックスと Timing Attack の話しさきほど Rack にセキュリティフィックスバージョンが出たんだけど、セキュリティ的に何故に問題があるのかわからなった(Timing Attack をよく解ってなかった) のでメモ。https://githu...
Rack のセキュリティフィックスと Timing Attack の話しさきほど Rack にセキュリティフィックスバージョンが出たんだけど...
Rails 3 + jpmobile を動かす
Rails 3 + jpmobile を動かすググりまくったけど「こうすればすぐ使えるよ!」というチュートリアルが全くなくてソース読んで時間を浪費したのでメモ書きする…。Gemfilegem 'jpmobile', :require => 'action_pack'config/...
Rails 3 + jpmobile を動かすググりまくったけど「こうすればすぐ使えるよ!」というチュートリアルが全くなくてソース読んで時間...
さいきんの Rails サービスを高速化をしてみた
先日のももクロハッカソンで出会った wantedly を作ってる仲さんがと言ってたので、面白そうなので wantedly を速くしてみました。wantedlyちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそ...
先日のももクロハッカソンで出会った wantedly を作ってる仲さんがと言ってたので、面白そうなので wantedly を速くしてみました...