2012-04-19 30 views
11

Chúng tôi có một khách hàng có yêu cầu bảo mật rất nghiêm ngặt. Vì vậy, chúng tôi sẽ mã hóa cơ sở dữ liệu Rails bằng cách sử dụng một trong các tùy chọn mã hóa cơ sở dữ liệu của Postgres. Nhưng điều đó vẫn để lại dữ liệu của khách hàng tiếp xúc với những gì mà trình ghi nhật ký Rails ghi lại khi biểu mẫu được gửi để tạo dữ liệu.Mã hóa hoặc chà các tệp nhật ký Rails

Tôi đoán một tùy chọn không phải là mã hóa tệp nhật ký, nhưng để chặn tất cả các giá trị tham số được ghi lại cho yêu cầu POST của Rails. Cách tốt nhất để làm điều đó là gì?

Tùy chọn khác là mã hóa tệp nhật ký Rails khi chúng được ghi vào đĩa. Đó có phải là cách tốt hơn để đi hay không và cách tốt nhất để làm điều đó là gì?

+0

Tôi cũng đang tìm cách xử lý việc này. Bạn đã khám phá ra một giải pháp chưa? –

+0

Ngoài ra tìm kiếm một giải pháp cho điều này. –

Trả lời

9

một điều mà bạn có thể làm là ở bạn config/application.rb tập tin bạn có thể thêm các lĩnh vực mà bạn muốn bỏ qua từ các bản ghi như thế này

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

Tôi hy vọng rằng điều này sẽ giúp

1

Nếu bạn muốn một cái gì đó tốt hơn so với các filter_parameters cho tất cả các params, Bạn có thể viết một logger tùy chỉnh. xem: http://rubyjunky.com/cleaning-up-rails-4-production-logging.html và một người nào đó đá quý chiết xuất từ ​​nó, https://github.com/gshaw/concise_logging

Tuy nhiên, bạn sẽ cần phải lưu trữ các khóa mã hóa ở đâu đó trên cùng một máy như các bản ghi, trong đó có khả năng có nghĩa là nó bỏ encryptable quá nếu ai đó có hoạt động truy cập (nhưng không phải nếu họ chỉ bằng cách nào đó nhận được các bản ghi sau này).

Một số câu hỏi để suy nghĩ về:

  • Bạn có cần các thông số khai thác gỗ ở tất cả? (thậm chí bạn có kiểm tra nhật ký không? làm cách nào để theo dõi lỗi?)
  • Bạn đang cố gắng đạt loại tuân thủ nào? PCI? HIPAA?
  • Vectơ tấn công bạn đang cố gắng tránh là gì? tức là truy cập nhật ký qua chia sẻ lưu trữ, tấn công vật lý (xóa ổ cứng), truy cập từ xa (lấy tất cả các tệp ra khỏi máy), ..

Câu trả lời của bạn sẽ xác định hướng dẫn về cách tấn công vấn đề này!

Các vấn đề liên quan