2012-04-19 68 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?
  • 你試圖避免的攻擊矢量是什麼?即通過登錄訪問共享的主機,物理攻擊(刪除硬盤驅動器),遠程訪問 (抓住所有的文件從機器),...

你的回答將決定如何攻擊這個問題的準則!