2012-04-19 14 views
11

Mamy klienta o bardzo surowych wymaganiach bezpieczeństwa. Szyfrujemy zatem bazę Railsów za pomocą jednej z opcji szyfrowania bazy danych PostgreSQL. Ale to nadal pozostawia danych klienta narażone na to, co Logger Rails rejestruje, gdy formularze są przesyłane do tworzenia danych.Szyfrowanie lub szorowanie logów Railsowych

Domyślam się, że jedną z opcji nie jest zaszyfrowanie pliku dziennika, ale zablokowanie wszystkich wartości parametrów, które są rejestrowane dla żądań POST przez Rails. Jaki jest najlepszy sposób na zrobienie tego?

Inną opcją jest szyfrowanie plików dziennika Rails podczas ich zapisywania na dysku. Czy to jest lepszy sposób na zrobienie i jaki jest dobry sposób na zrobienie tego?

+0

Szukam również sposobu na poradzenie sobie z tym. Czy znalazłeś rozwiązanie? –

+0

Szuka również rozwiązania tego. –

Odpowiedz

9

jedna rzecz, że można zrobić to w ty config/environment.rb plik można dodać pola, które chcesz pominąć z dzienników jak ten

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

mam nadzieję, że to pomaga

1

Jeśli chcesz czegoś lepszego niż parametry filtru dla wszystkich parametrów, możesz napisać niestandardowy rejestrator. patrz: http://rubyjunky.com/cleaning-up-rails-4-production-logging.html a ktoś gem wydobyte z niej https://github.com/gshaw/concise_logging

Jednakże, będziesz potrzebować do przechowywania klucza szyfrowania gdzieś na tej samej maszynie, jak dzienniki, które potencjalnie oznacza to też, jeśli ktoś ma un-szyfrować aktywny dostęp (ale nie, jeśli tylko w jakiś sposób dostaną logi później).

Kilka pytań o tym myśleć:

  • Czy trzeba rejestrowanie parametrów w ogóle? (Czy sprawdzasz nawet dzienniki ? w jaki sposób śledzisz błędy?)
  • Jaki rodzaj zgodności próbujesz trafić? PCI? HIPAA?
  • Czym jest wektor ataku, którego próbujesz uniknąć? tj zalogować dostęp przez dzielonego hostingu, atak fizyczny (wyjąć dysk twardy), zdalne dostępu (grab wszystkie pliki poza maszynę) ..

Twoje odpowiedzi będą określają wytyczne dotyczące sposobu zaatakować ten problem!