11

非常に厳しいセキュリティ要件を持つお客様がいます。そのため、Postgresのデータベース暗号化オプションの1つを使用してRailsデータベースを暗号化します。ただし、それでも、データを作成するためにフォームが送信されたときにRailsロガーがログに記録する内容に顧客のデータが公開されたままになります。

1つのオプションは、ログファイルを暗号化するのではなく、RailsによるPOST要求に対してログに記録されるすべてのパラメーター値を抑制することだと思います。それを行うための最良の方法は何ですか?

もう1つのオプションは、Railsログファイルがディスクに書き込まれるときに暗号化することです。それは行くためのより良い方法ですか、そしてそれを行うための良い方法は何ですか?

4

2 に答える 2

9

できることの 1 つは、config/application.rbファイルに、次のようにログから省略したいフィールドを追加できることです。

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

これが役立つことを願っています

于 2015-10-17T00:01:51.593 に答える
1

すべてのパラメーターに対して filter_parameters よりも優れたものが必要な場合は、カスタム ロガーを作成できます。参照: http://rubyjunky.com/cleaning-up-rails-4-production-logging.htmlおよび誰かがそこから抽出した宝石https://github.com/gshaw/concise_logging

ただし、暗号化キーをログと同じマシンのどこかに保存する必要があります。これは、誰かがアクティブなアクセス権を持っている場合も暗号化できないことを意味する可能性があります (ただし、何らかの形で後でログを取得した場合はそうではありません)。

考えるべきいくつかの質問:

  • パラメータのロギングはまったく必要ですか? (ログもチェックしますか?どのようにエラーを追跡しますか?)
  • どのようなコンプライアンスを達成しようとしていますか? PCI?HIPAA?
  • 回避しようとしている攻撃ベクトルは何ですか? つまり、共有ホスティング経由のログ アクセス、物理的な攻撃 (ハード ドライブの削除)、リモート アクセス (マシンからすべてのファイルを取得する) などです。

あなたの答えは、この問題に対処する方法のガイドラインを定義します!

于 2015-10-22T22:35:42.103 に答える