Шифрование или очистка файлов журнала 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?
- Каков вектор атаки, который вы пытаетесь избежать? то есть доступ к журналу через общий хостинг, физическую атаку (удалить жесткий диск), удаленную
доступ (захватить все файлы с компьютера),..
В ваших ответах будут определены рекомендации по устранению этой проблемы!