2012-04-19 64 views
11

我们有一位客户,其安全要求非常严格。所以我们将使用Postgres的数据库加密选项之一加密Rails数据库。但是,这仍然会将客户的数据暴露在Rails记录器在提交表单以创建数据时记录的内容中。加密或清理Rails日志文件

我想一个选项不是加密日志文件,而是禁止Rails为POST请求记录的所有参数值。这样做的最好方法是什么?

另一种方法是在Rails日志文件写入磁盘时加密Rails日志文件。这是一个更好的方式去做,有什么好办法做到这一点?

+0

我正在寻找一种方法来处理这个问题。你有没有找到解决方案? – 2014-01-28 15:54:50

+0

也在寻找解决方案。 – 2015-10-16 22:03:23

回答

9

一件事,你所能做的就是在你的config/application.rb中文件,你可以添加你想要从日志中省略这样

class Application < Rails::Application 
    ... 
    config.filter_parameters += [:password] 
    config.filter_parameters += [:ssn]  
    .... 
end 

我希望这有助于

1
领域

如果您希望所有参数都比filter_parameters更好,您可以编写自定义记录器。 看到:http://rubyjunky.com/cleaning-up-rails-4-production-logging.html和创业板有人从中提取,https://github.com/gshaw/concise_logging

然而,你将需要在同一台机器上的某个地方存储加密密钥的日志,这可能意味着它的非可加密的太多,如果有人有主动访问(但如果他们稍后以某种方式获取日志,则不会)。

一些问题去思考:

  • 你所需要的参数记录呢? (你甚至检查了 日志?你如何跟踪错误?)
  • 你试图打什么样的顺从? PCI? HIPAA?
  • 你试图避免的攻击矢量是什么?即通过登录访问共享的主机,物理攻击(删除硬盘驱动器),远程访问 (抓住所有的文件从机器),...

你的回答将决定如何攻击这个问题的准则!