Rails安全导读【一】 - 编程入门网
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:
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |