Web应用程序的安全性

时间:2011-02-25 01:33:26

标签: ruby-on-rails security web-applications ssl

我正在开发一个Web应用程序,我们正准备启动它。因为它会为用户保存敏感数据,所以我希望它尽可能安全。以下列出了我们目前正在做的事情......

  • 在Heroku上运行应用程序(Ruby on Rails)
  • 网站使用256 SSL加密(强制SSL已开启)
  • Cookie已加密,我们通过了Firesheep测试
  • 他们的密码和数据库中的所有内容都是加密的方式..所以即使有人访问数据库也没用。
  • 我们不会在源代码中公开存储任何密钥或密码,而是使用Config Vars

除此之外我们还应该做什么。我们正在考虑McAfee的网站扫描,但他们每年报价为2,500美元。我不确定这是否值得。

有人有任何建议吗?

4 个答案:

答案 0 :(得分:3)

请务必阅读OWASP Top 10。扯掉2,500美元,Sitewatch是免费的。您还应该考虑运行像mod_security这样的Web应用程序防火墙,但请记住,这会导致McAfee或Sitewatch等测试工具出现问题。您应该配置mod_security以允许特定的IP地址。或者在启用WAF之前测试您的应用程序。

答案 1 :(得分:2)

排除了通常的嫌疑人(XSS,SQL注入,大规模分配等)之后,客户端是大多数问题的来源,而这往往被忽视。我不知道您的网站是关于什么的,但是告诉您的用户他们不应该关注他们没有明确请求的电子邮件上的链接,这通常会带来最大的收益。

致以最诚挚的问候,

- J. Fernandes

答案 2 :(得分:2)

我建议查看OWASP Top 10:http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010.pdf

  

OWASP Top Ten为Web应用程序安全性提供了强大的感知文档。 OWASP Top Ten代表了对最关键的Web应用程序安全漏洞的广泛共识。项目成员包括来自世界各地的各种安全专家,他们分享了他们的专业知识以生成此列表。

要验证您的SSL配置,您可以尝试https://www.ssllabs.com/ssldb/index.html

如果您对各种各样的攻击感到好奇,请查看Jeremiah Grossman的帖子Top Ten Web Hacking Techniques of 2010并向下滚动,直至看到“完整列表”。

如果您想启动一些网络应用漏洞扫描工具来捕捉低悬的果实,您可以尝试:

如果您真的关心安全性,那么采用安全的开发计划并与受过应用程序安全培训的人员合作,显然会增强您的信心。

关于开发,您可能会喜欢Microsoft简化SDL中提出的想法:

  

“安全开发生命周期(SDL)是一个专注于软件开发的安全保障流程。”

     

“本文概述的流程设定了SDL合规的最低门槛。也就是说,组织不统一 - 开发团队应该以适合人才和资源的方式应用SDL,但不能妥协组织安全目标。“

同样重要的是要注意,自动漏洞扫描工具无法识别大多数逻辑漏洞,因此不要仅依赖自动化工具。例如(取自OWASP):

  

“将电子商务网站上的产品数量设置为负数可能会导致资金被记入攻击者。此问题的对策是实施更强的数据验证,因为应用程序允许负数在购物车的数量字段中输入。“

人类智能是发现逻辑问题的关键。

安全性也与维护有关。指派某人或团队有责任精明地进行持续防守是非常重要的。

注意:加密密码并不意味着绝对安全。字典/密码列表/暴力攻击一直在工作,以揭示弱密码。一种非常常见的攻击是使用SQL注入来转储用户表(使用密码哈希),然后使用密码破解程序来发现合法的用户/密码对。

答案 3 :(得分:0)

您可以在Zen Rails Security Checklist找到有关常见Ruby on Rails应用程序漏洞及其对策的信息,包括大多数OWASP Top 10项目。