快速业务通道

Rails安全导读【一】 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Rails安全导读【一】

时间:2011-07-18 51cto博客 blackanger译

原文地址:http://guides.rubyonrails.org/security.html

这个指南描述的是在web应用里普遍的安全问题,同时也给出了在Rails里如何避免这些问题。如果你有任何问题,请mail作者,Heiko Webers, at 42 {et} rorsecurity.info.  读完此文后,你应该会了解:

1.所有的对策已经被高亮显示了

2.在Rails里session的概念, 该放什么在session里,以及一些流行的攻击方法

3.只是浏览一个站点,怎么就有安全问题呢?(with CSRF)

4.当你使用files或提供一个管理界面的时候需要注意些什么

5.The Rails-specific mass assignment problem

6.如何管理用户:登陆,注销以及对所有层面的攻击方法。

7.以及最流行的注入攻击方法。

一 介绍

web application框架帮助开发者建立种种web应用,某些框架在安全方面也帮你省心不少。事实上,一个框架并不比另一个安全。对于大多 数的框架来说,如果你正确使用它,可以建立安全的应用。Ruby on Rails有许多聪明的helper方法,例如防止注入攻击的方法,这让sql注入 变成了困难的事情。很高兴看到我审定的所有rails app都有一个良好的安全级别。

一般没有这种即插即用的安全,安全依赖于正在使用的框架,有时候也依赖于开发方式。它取决于web应用的所有环境:后端存储,网络服 务器和网络应用程序本身(以及可能的其他层或应用程序) 。

Gartner组织估计大约75%的攻击都是在web应用,并且在300个调查的web应用里,97%都是容易被攻击的。这是因为web应用容易攻击,因为 它们易于理解和操作,甚至是懒人。

在受到威胁的web应用中,包括用户帐户劫持,绕开访问控制,阅读或修改敏感数据,或出示虚假的内容。或攻击者可以安装一个特洛伊木 马程序或不请自来的电子邮件发送软件,目的是在金融活动或造成损害品牌名称,修改公司的资源。为了防止攻击,最大限度地减少其影响和 消除攻击点,首先,你必须充分了解攻击方法,以便找到正确的对策。这正是该指南的目的。

为了开发安全的Web应用你必须不断更新的所有层次和了解你的敌人。要不断更新订阅的安全邮件列表,请阅读安全博客,并更新和安全检 查的习惯。我手工做这些,因为这你才能找到讨厌的合乎逻辑的安全问题。

二 Sessions

我们的安全之旅最好是从最易受到特别攻击的sessions开始。

2.1  什么是sessions

— HTTP is a stateless protocol Sessions make it stateful.

- HTTP是一个无状态协议,Sessions使它有状态。

大多数的应用需要对一个特别用户的某些状态进行跟踪。比如,一个购物车的内容,一的当前登陆用户的id,如果没有sessions这个好主意 ,用户必须在每一个请求都得去标识验证身份。如果一个新用户访问这个应用,Rails会自动创建一个新的session。如果用户之前使用过这个 应用,它会自动加载一个存在的session。

一个session通常是一个hash和一个session id(通常是一个32个字符的字符串)来标识这个hash。Rails里你可以用如下方式保存和使用 session:

session[:user_id] = @current_user.id User.find(session[:user_id])

2.2 session id

— The session id is a 32 byte long MD5 hash value.

- session id就是个一32位的md5 hash值。

一个session id由一个随机字符串的hash值组成。这个随机字符串是当前的时间,一个0和1之间的随机数字,一个ruby解释器进程id数字和 一个常量字符串组成。

Rails安全导读【一】(2)

时间:2011-07-18 51cto博客 blackanger译

2.3 session劫持

- 窃取用户session id的攻击者可以在一个web应用里使用受害者的名字。

许多web应用都有一个验证系统:一个用户提供一个用户名和密码,web应用检查并且存

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号