Шифрование или очистка файлов журнала Rails

У нас есть клиент с очень строгими требованиями безопасности. Таким образом, мы будем шифровать базу данных Rails, используя один из параметров шифрования базы данных Postgres. Но это все еще оставляет данные о клиентах в том, что регистрирует журнал журналов Rails при отправке форм для создания данных.

Я думаю, что одним из вариантов является не шифрование файла журнала, а подавление всех значений параметров, которые регистрируются для запросов POST с помощью Rails. Каков наилучший способ сделать это?

Другим вариантом является шифрование файлов журнала Rails по мере их записи на диск. Это лучший способ пойти, и какой хороший способ это сделать?

Ответ 1

одна вещь, которую вы можете сделать, находится в файле config/application.rb, вы можете добавлять поля, которые вы хотите опустить из журналов, подобных этому

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

Я надеюсь, что это поможет

Ответ 2

Если вы хотите что-то лучше, чем filter_parameters для всех параметров, вы можете написать собственный логгер. см. http://rubyjunky.com/cleaning-up-rails-4-production-logging.html и камень, извлеченный из него, https://github.com/gshaw/concise_logging

Однако вам понадобится хранить ключ шифрования где-то на том же компьютере, что и журналы, что потенциально означает, что он также не шифруется, если у кого-то есть активный доступ (но не если они каким-то образом получают журналы позже),

Некоторые вопросы, о которых нужно подумать:

  • Нужно ли вообще регистрировать параметры? (вы даже проверяете журналы? как вы отслеживаете ошибки?)
  • Какое соответствие вы пытаетесь поразить? PCI? HIPAA?
  • Каков вектор атаки, который вы пытаетесь избежать? то есть доступ к журналу через общий хостинг, физическую атаку (удалить жесткий диск), удаленную доступ (захватить все файлы с компьютера),..

В ваших ответах будут определены рекомендации по устранению этой проблемы!