Rails与web安全[Web安全大家谈] - 编程入门网
QLSessionStore ,或者an update of the ActiveRecordStore migration so it has a created_at field.
Rails与web安全[Web安全大家谈](6)时间:2011-11-09 51cto博客 blackanger3) 动态设置session过期时间。这里有个插件: http://blog.codahale.com/2006/04/08/dynamic-session-expiration-times-with-rails/ rails2。0里可能不适用了,我们可以参照这个插件来应用到rails2。0里。 A8 - Insecure Cryptographic Storage 1.用一个good password .参见:http://www.rorsecurity.info/2007/06/05/use-good- passwords/ 2.Filter passwords from the log file: filter_parameter_logging "password" 可以参考railscasts第9集. 3. 清除mysql或bash history可能包含password的地方: cat /dev/null > ~/.mysql_history and ~/.bash_history 4. 永远不要以明文存储密码。 Signup self.salt = Digest::SHA1.hexdigest("–#{Time.now.to_s}–#{login}–") self.crypted_password = Digest::SHA1.hexdigest("–#{salt}–#{password}–") Login self.crypted_password == Digest::SHA1.hexdigest("–#{self.salt}– # {user_entered_password}–") A9 - Insecure Communications 不 安全通信,解决这个问题需要用SSL来保护一些敏感的数据。IE 7.0 provides a green bar for high trust SSL certificates,but this is not a suitable control to prove safe use of cryptography alone. 所以企业里用IE一般是不安全的。在安全这方面,我们可以说服企业用户去用 firefox 1。采用SSL保护敏感数据。 2。确保这些基础设施之间的通信,比如数据库和web servers之间的通信,是建立在一个安全的传输层 或是一个有高度加密的信用协议的基础上。 3。必须遵循PCI 安全标准。比如你需要保护信用卡持有者的信息。 具体,这些敏感的数据是不能保存到数据库的。要保存也需要经过加密以后保存。 Ruby打开ssl http = Net::HTTP.new(PANEL,PORT) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE 请参考PCI安全标准。 Rails与web安全[Web安全大家谈](7)时间:2011-11-09 51cto博客 blackangerA10 - Failure to Restrict URL Access 一般来说加上异常处理,权限设置就很安全了. 权限插件使用的安全考证 目前有好多权限插件,比如LoginGenerator和 Restful_authentication 但是我们使用前最好考证一下这些插件的安全性,可以去参考这个站点: http://www.rorsecurity.info/ 具体待补充。 A11- 其他安全隐患及解决办法: Validation 一般放到model里,有时候需要放到controller的话,可能你需要一个插件:ActiveForm plugin Regular Expressions 参见 http://www.rorsecurity.info/2007/04/16/ruby-regular-expression-fun/ Securing your MySQL setup Web application security depends on the security of all layers. Start securing your MySQL setup here, then go on here. here: http://www.rorsecurity.info/2007/02/25/securing-mysql/ go on here:http://www.rorsecurity.info/2007/02/27/rails%e2%80%99-friends-securing-mysql- continued/ The mass-assignment problem When @user = User.new(params[:user]) may become a problem. Read it here: http://manuals.rubyonrails.com/read/chapter/47 黑客可以在网络中通过多种方式攻击、入侵用户的终端,其中最常见,也是用户最容易重招的也正是 通过Web站点的间接入侵,作为网络管理员 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |