Мне не удалось найти легкое руководство для обеспечения приложения Ruby on Rails против Firesheep.
Если вы не знаете, Firesheep подключает файлы cookie сеансов, если ваше приложение не принудительно использует SSL и устанавливает безопасный флаг в файле cookie. Мне пришлось кое-что сделать, чтобы найти эти две вещи, поэтому я подумал, что опубликую то, что нашел здесь, и посмотреть, есть ли что-то еще, что мне не хватает.
Шаг 1 Сила SSL
Есть два способа сделать это, что я нашел. Один использует плагин ssl_requirement, но это боль, потому что вам нужно конкретно указать ssl_required :action1, :action2
в каждом контроллере.
Предпочтительным способом является использование промежуточного ПО Rack через этот пост: принудительно использовать SSL с помощью ssl_requirement в приложении Rails 2. Работает как шарм.
Шаг 2 Сделать файлы cookie безопасными
Для этого я следил за этими указаниями, в которых говорится о том, чтобы в файле config/environment/production.rb
было указано следующее:
config.action_controller.session = {
:key => 'name_of_session_goes_here',
:secret => 'you need to fill in a fairly long secret here and obviously do not copy paste this one',
:expire_after => 14 * 24 * 3600, #I keep folks logged in for two weeks
:secure => true #The session will now not be sent or received on HTTP requests.
}
Это все было довольно прямолинейно в моем приложении Rails 2.x. Я что-то пропустил? Разве это для Rails 3?