我已经安装了最新版本的Brakeman创业板,以帮助我的Rails应用程序安全性。
我在两个服务器上有几个Rails应用程序,一个用于开发,另一个用于生产。当我对我的应用程序运行Brakeman报告时,大多数应用程序都标记了config/initializers/ security _Token.rb,具有以下高度安全漏洞。
Session secret should not be included in version control near line 7这是我第一次看到这个错误,因为我运行了一个旧版本的Brakeman几个月前。
根据我迄今为止的研究,Rails在执行rails新名称时会自动生成秘密令牌。直到现在我才意识到这一点。显然,Rails并不保护这个文件,如果我决定将我的任何应用程序移动到Github,那么访问应用程序的任何人都可以使用Rails的信息。此时,我没有上传到GitHub,但我想了解如何将secure_token从config/initializers/secure_token_Token.rb移动,以便关闭应用程序中的安全漏洞。
我读过的一篇博客文章建议我将秘密令牌注入ENV变量。将语句从config/initializers/secret_token.rb移到config/environment.rb . to会解决这个问题吗?如果是这样的话,我将把这个任务添加到Rails开发的任务列表中。
任何帮助都将不胜感激。
发布于 2013-05-26 00:02:51
正如您提到的,当我将秘密信息放入ENV变量时,Brakeman中的特定信息对我来说是沉默的。就我个人而言,我喜欢使用菲加罗 gem,但我认为多滕诺夫也很受欢迎。
在这方面,你可能感兴趣的其他一些资源包括:
发布于 2013-05-25 16:52:46
我不知道如何将会话秘密转移到不同的文件中。本质上,秘密令牌应该被当作密码来对待。
这篇博文来自普华探索了几个在部署时提供会话密钥的不同选项。
https://stackoverflow.com/questions/16749888
复制相似问题