如果网站不太可能拥有SSL证书,是否可以保护申请?

时间:2011-09-15 16:51:26

标签: web-applications authentication encryption security

我们生活在WordPress博客,Joomla网站和osCommerce商店的世界中,用户通过互联网以纯文本形式发送用户名和密码,定期登录“安全”管理区域。我们都知道这很糟糕,但似乎没有人将他们的网站升级为使用SSL / TLS,开发人员非常乐意使应用程序能够运行良好的旧http。

根据应用程序的不同,人们不应该认为值得采取任何更大的安全措施来保护其资产?如果选择是:

  1. 根本没有安全感
  2. 默默无闻的安全
    • +)只有某些人知道要转到哪个网址
    • - )这只是时间问题......
  3. 仅使用用户名进行身份验证
    • +)好的,如果用户名不明确且构造良好
    • - )暴力攻击太有效了
  4. 使用用户名和密码进行身份验证
    • +)边缘优于仅用户名
    • - )边缘优于仅用户名
  5. 使用用户名和密码的哈希进行身份验证
    • +)防止数据库黑客窃取密码列表
    • - )如果有人可以破解你的数据库,你不应该担心纯文本密码
  6. 使用JavaScript加密进行身份验证(请参阅Javascript asymmetric encryption and authentication
    • +)防止通过纯文本发送用户名和密码
    • - )中间人可以拦截JavaScript并偷走你的密码
  7. 通过SSL执行上述任何操作
    • +)防止中间人攻击
    • - )如果确定了黑客,他们会找到另一种方法让你失望
  8. 如果普通的维基百科读者能够轻松获得前5个,那么6号需要更多的知识,黑客会忽略7号以继续处理其他漏洞,这些都不是保证绝对和平的满意方式心灵。

    问题:

    1. 您的普通WordPress博客或phpBB论坛的截止点是什么级别的安全性?
    2. 为什么用户名+密码变得如此普遍?
    3. Web应用程序开发人员应该如何创建未来的应用程序,因为他们知道SSL证书可能并不总是可用?
    4. 设计一个带有“安全”区域的网站是否真的有任何意义,如果它将通过http使用?

1 个答案:

答案 0 :(得分:0)

  1. 我总是使用带有盐的哈希密码。实施某种强力检查以阻止尝试超过X次登录失败的IP等也是很好的。

  2. 这是一个人们都知道的系统。给某人一个32个字符的guid可能会更好,如果他们能记住它。问题是人们没有使用好的密码和使用相同的密码进行银行业务,就像他们为Facebook做的那样。一个可能的场景:你去joe blow的网站,因为他提供免费的铃声,你使用你在任何地方使用的相同用户/通行证创建一个帐户。 Joe Blow不会加密您的密码,而是使用它来尝试使用相同的用户名/密码组合访问各种银行网站。如果您在网站上输入了电子邮件并使用了与电子邮件相同的密码,那么他可以访问该电子邮件,并在您收到电子邮件时找出您使用的银行,以便您知道您的声明是否可用。最薄弱的环节几乎总是用户不够小心。

  3. 我在IP检查,暴力保护等方面采取的一些额外预防措施是确保用户代理在会话期间保持不变。这只是一个额外的检查,有助于防止某些暴力破解会话ID ......他们还必须完美地欺骗用户代理,这需要中间的人或有DB的实时视图的人...这通常不值得担心。

  4. 我还没有被黑客攻击的管理区域,但我已经看到了尝试。每个人都知道他们可以在wordpress网站上找到wp-admin /。如果没有身份验证,那么世界上没有一个博客在一夜之间没有垃圾邮件发送者拥有1000个博客。它可能无法阻挡黑客精英和中间人......但大多数博客都不值得为这些人做出努力。但是没有任何凭据会让任何可以编写机器人的人访问每个人的博客。