关于我的 webapp 的安全问题

信息安全 加密 网络服务器 饼干 风险管理
2021-08-16 13:51:42

虽然我非常仔细地阅读了 OWASP,但我不确定我网站的某些部分。

  1. 我在我的网站上使用 jbcrypt。它将盐存储在散列本身中,类似于散列+盐。我在某处读到我应该将盐存储在不同的数据库中,否则我将再次受到彩虹表的攻击。

  2. 我的框架非常新(Play!framework 2.x),我必须做一些 cookie 管理。该框架提供签名会话。然而,那些“会话”不是会话,它们只是 SessionCookies。我还必须自己在cookies上签名。

用户关闭浏览器后会话 cookie 消失,我需要一个更持久的解决方案。

我做了什么:

如果用户成功登录:

  • 我创建一个随机字符串并将其放入我的缓存中randomstring -> user
  • 我散列随机字符串并将其放入 cookie 中。
  • 现在,如果用户有一个有效的 cookie,我将从 cookie 创建一个“会话”。

我不是 100% 确定这是否正确,但这是我认为正确的。

资源:这种保护 cookie 的方法安全吗?和 www.OWASP.com

  1. 现在这部分可能很危险。我的源代码中有一个配置文件-> 所有密码都存储在同一个地方。

我找不到任何关于此的内容。我应该在哪里存储这些凭据,例如 AWS 凭据、数据库密码、邮件密码……?

2个回答
  1. 不,这不是真的,有关更多详细信息,请参阅这个出色的答案。

  2. 无法对此发表评论,因为我以前从未使用过该框架。您确定没有办法使用框架本身设置会话 cookie 的到期时间吗?

  3. 配置文件应存储在 Web 根目录之外。在这里查看我的答案当然,存储它的目录应该得到充分保护。应强制执行适当的文件权限。

当然,Terry 关于将配置保存在 webroot 之外的建议对于 PHP 来说是合适的,但是它不适合 Play 配置。

有关更多详细信息,请检查堆栈上的交叉答案