Thông tin nào không bao giờ phải xuất hiện trong nhật ký? [đóng cửa]


11

Tôi sắp viết hướng dẫn của công ty về những gì không bao giờ xuất hiện trong nhật ký (dấu vết của một ứng dụng). Trên thực tế, một số nhà phát triển cố gắng đưa càng nhiều thông tin càng tốt vào dấu vết, khiến việc lưu trữ các nhật ký đó trở nên nguy hiểm và cực kỳ nguy hiểm khi gửi chúng , đặc biệt là khi khách hàng không biết thông tin này được lưu trữ, bởi vì cô ấy không bao giờ quan tâm đến điều này và không bao giờ đọc tài liệu và / hoặc tin nhắn cảnh báo.

Ví dụ, khi xử lý các tệp, một số nhà phát triển bị cám dỗ theo dõi tên của các tệp . Ví dụ: trước khi gắn tên tệp vào thư mục, nếu chúng tôi theo dõi mọi thứ bị lỗi, sẽ dễ dàng nhận thấy ví dụ rằng tên được nối quá dài và lỗi trong mã là quên kiểm tra độ dài của chuỗi nối. Nó rất hữu ích, nhưng đây là dữ liệu nhạy cảm và không bao giờ xuất hiện trong nhật ký .

Theo cùng một cách:

  • Mật khẩu ,
  • Địa chỉ IP và thông tin mạng (địa chỉ MAC, tên máy chủ, v.v.) ¹,
  • Cơ sở dữ liệu truy cập,
  • Nhập trực tiếp từ người dùng và dữ liệu doanh nghiệp được lưu trữ

không bao giờ xuất hiện trong dấu vết.

Vì vậy, những loại thông tin khác phải được trục xuất khỏi các bản ghi? Có bất kỳ hướng dẫn đã được viết mà tôi có thể sử dụng?


Rõ ràng, tôi không nói về những thứ như nhật ký IIS hoặc Apache. Điều tôi đang nói đến là loại thông tin được thu thập với mục đích duy nhất là tự gỡ lỗi ứng dụng, không theo dõi hoạt động của các thực thể không tin cậy.


Chỉnh sửa: Cảm ơn bạn đã trả lời và ý kiến ​​của bạn. Vì câu hỏi của tôi không quá chính xác, tôi sẽ cố gắng trả lời các câu hỏi trong các bình luận:

  • Tôi đang làm gì với nhật ký?

Nhật ký của ứng dụng có thể được lưu trữ trong bộ nhớ, có nghĩa là ở dạng đơn giản trên đĩa cứng trên localhost, trong cơ sở dữ liệu, một lần nữa ở dạng đơn giản hoặc trong Sự kiện Windows. Trong mọi trường hợp, mối quan tâm là những nguồn đó có thể không đủ an toàn. Ví dụ: khi khách hàng chạy một ứng dụng và ứng dụng này lưu trữ nhật ký trong tệp văn bản thuần trong thư mục tạm thời, bất kỳ ai có quyền truy cập vật lý vào PC đều có thể đọc các nhật ký đó.

Nhật ký của ứng dụng cũng có thể được gửi qua internet. Ví dụ: nếu khách hàng gặp sự cố với ứng dụng, chúng tôi có thể yêu cầu cô ấy chạy ứng dụng này ở chế độ theo dõi đầy đủ và gửi cho chúng tôi tệp nhật ký. Ngoài ra, một số ứng dụng có thể tự động gửi báo cáo sự cố cho chúng tôi (và ngay cả khi có cảnh báo về dữ liệu nhạy cảm, trong hầu hết các trường hợp khách hàng không đọc chúng).

  • Tôi đang nói về các lĩnh vực cụ thể?

Không. Tôi chỉ làm việc trên các ứng dụng kinh doanh nói chung, vì vậy dữ liệu nhạy cảm duy nhất là dữ liệu kinh doanh. Không có gì liên quan đến sức khỏe hoặc các lĩnh vực khác được bảo vệ bởi các quy định cụ thể. Nhưng cảm ơn bạn đã nói về điều đó, có lẽ tôi nên xem qua các lĩnh vực đó để biết một số manh mối về những gì tôi có thể đưa vào hướng dẫn.

  • Không dễ dàng hơn để mã hóa dữ liệu?

Không. Nó sẽ làm cho mọi ứng dụng trở nên khó khăn hơn nhiều, đặc biệt nếu chúng ta muốn sử dụng chẩn đoán C # và TraceSource. Nó cũng sẽ yêu cầu quản lý ủy quyền, đó không phải là suy nghĩ dễ làm nhất. Cuối cùng, nếu chúng ta đang nói về nhật ký được gửi cho chúng tôi từ một khách hàng, chúng ta phải có thể đọc nhật ký, nhưng không có quyền truy cập vào dữ liệu nhạy cảm. Vì vậy, về mặt kỹ thuật, sẽ không bao giờ dễ dàng bao gồm thông tin nhạy cảm trong nhật ký và không bao giờ quan tâm đến cách thức và nơi lưu trữ các nhật ký đó.


Bạn đang xem xét mức độ đăng nhập? Ý tôi là, debugtên tệp có thể ổn , nhưng không phải infotên tệp.
Jeremy Heiler

@Jeremy Heiler: Tôi chỉ nói về dữ liệu nhật ký được lưu trữ vào đĩa cứng (thường theo cách không bảo mật) và / hoặc gửi qua internet cho các nhà phát triển ứng dụng cho mục đích gỡ lỗi.
Arseni Mourzenko

Nhiều ứng dụng ghi nhật ký trực tiếp vào đĩa, bất kể mức ghi nhật ký là gì. Trừ khi bộ lưu trữ nhật ký của bạn là một bảng cơ sở dữ liệu ... Nếu bạn đang gửi logfiles cho các nhà phát triển khác qua mạng, bạn có thể mã hóa tệp, đúng không?
Thất vọngWithFormsDesigner

2
Không biết bạn đang làm gì, thật khó để tìm ra dữ liệu nhạy cảm là gì. Bạn có lo ngại về quy định (PCI hoặc HIPAA hoặc bất cứ điều gì)?
David Thornley

1
Nếu bạn có thể nói về lĩnh vực cụ thể mà bạn đang làm việc, hãy hỏi tại security.stackexchange.com vì các chuyên gia bảo mật / tuân thủ ở đó có thể cho bạn biết về các vấn đề pháp lý, pháp lý hoặc bảo mật khác.

Câu trả lời:


3

Tôi tin rằng cách tốt nhất để xử lý việc này là coi các tệp nhật ký như một giao diện người dùng khác với ứng dụng. Thực tế là thông tin được lưu trữ trong các tệp văn bản không làm cho nội dung khác với thông tin được hiển thị trên màn hình thông thường trong giao diện người dùng.

Hãy suy nghĩ về cách bạn sẽ bảo vệ thông tin tương tự nếu nó được hiển thị trong giao diện người dùng thông thường. Bạn sẽ phải xác định người dùng là ai và sau đó chỉ tiết lộ thông tin mà người dùng này được quyền xem.

Thông tin trong các tệp nhật ký phải được xử lý theo cùng một cách. Trước tiên, bạn phải trả lời chính xác những người nên được liệt kê để xem tệp nhật ký và thông tin nào họ sẽ được phép xem.

Vượt qua các tệp nhật ký được thiết kế xấu xung quanh là một rủi ro bảo mật rất lớn. Tôi không tin rằng bạn sẽ có được một giải pháp tốt cho điều đó bằng cách liệt kê một số loại dữ liệu. Một chiến lược tốt hơn là liệt kê danh sách trắng những gì có thể có trong mỗi tệp nhật ký và thiết kế các tệp nhật ký từ dưới lên.


8

Thông tin thẻ tín dụng không bao giờ nên được đăng nhập.

Số ID (chẳng hạn như SSN ở Hoa Kỳ hoặc Teudat Zehut # ở Israel).

Tên máy tính mạng, đường dẫn chia sẻ mạng.


Tiêu chuẩn PCI-DSS nghiêm cấm lưu trữ số thẻ theo bất kỳ cách nào, hình dạng hoặc hình thức.
Tangurena

@Tangurena không đúng, họ cho phép lưu trữ nhưng yêu cầu nó phải được bảo vệ đúng cách. (Đánh giá bảo mật và yêu cầu PCI-DSS V2.0 tháng 10 năm 2010, Yêu cầu 3)
Newtopian

7

Thông tin sức khỏe có thể nhận dạng cá nhân được bảo vệ theo Đạo luật Trách nhiệm và Trách nhiệm Giải trình về Bảo hiểm Y tế năm 1996 (HIPAA). Bài viết này liệt kê các ví dụ sau:

  • Yêu cầu chăm sóc sức khỏe hoặc thông tin gặp gỡ về chăm sóc sức khỏe, chẳng hạn như tài liệu về các lần thăm khám và ghi chú của bác sĩ và bác sĩ của nhà cung cấp khác;
  • Thanh toán chăm sóc sức khỏe và tư vấn chuyển tiền;
  • Phối hợp các lợi ích chăm sóc sức khỏe;
  • Tình trạng yêu cầu chăm sóc sức khỏe;
  • Ghi danh và hủy đăng ký trong một chương trình y tế;
  • Đủ điều kiện cho một chương trình y tế;
  • Chương trình thanh toán phí bảo hiểm y tế;
  • Giấy chứng nhận giới thiệu và ủy quyền;
  • Báo cáo thương tật đầu tiên;
  • Yêu cầu sức khỏe đính kèm.


2

Off đỉnh đầu của tôi....

Thông tin thẻ tín dụng không nên có trong nhật ký. Dữ liệu SSN (hoặc SIN) không nên có trong nhật ký.

... tất nhiên cũng có trường hợp ngoại lệ, nếu bạn tình cờ làm việc cho một số cửa hàng dữ liệu trung tâm cho một công ty thẻ tín dụng hoặc cơ quan chính phủ quản lý dữ liệu SIN, thì bạn có thể phải đăng nhập nó, bởi vì đó là phần chính của những gì bạn Đang xử lý / quản lý.


1

Vâng nhưng.

Để gỡ lỗi một số vấn đề bạn cần dữ liệu thực.

Vì vậy, bạn phải chơi một trò chơi cân bằng: trên thực tế bạn phải thảo luận và đồng ý với khách hàng chính của mình những gì họ cho là dữ liệu bí mật hoặc nhạy cảm và những gì không. Nếu một số khách hàng không đồng ý, hãy đưa ra tình huống xấu nhất cho mọi khía cạnh của nó, trừ khi bạn có thể biện minh cho những khách hàng có thể quá nhiệt tình trong việc dán nhãn mọi thứ nhạy cảm.

Tôi đã làm việc trong kiểm soát không lưu, tài chính ngân hàng. Trong mọi tình huống đều có dữ liệu nhạy cảm. Có những nhiệm vụ không thể tránh khỏi để xử lý dữ liệu nhạy cảm, trong những trường hợp đó bạn cần chắc chắn rằng bạn có thể làm việc với những người đáng tin cậy. Rủi ro này có thể được giảm bớt phần nào bởi các điều khoản pháp lý được thỏa thuận trước khi truy cập dữ liệu đó (thỏa thuận không tiết lộ, chỉ sử dụng dữ liệu vì lý do kinh doanh hợp lệ, hạn chế truy cập dữ liệu, hình phạt truy tố vì không tôn trọng hoặc thực thi các thỏa thuận ...) - và các quy trình có liên quan giúp có thể theo dõi những điều đó.

Nếu dữ liệu là quan trọng thì bạn phải trả giá khi thiết lập các hệ thống bảo vệ tính toàn vẹn, mạch lạc và bảo mật của dữ liệu này.

Điều đó nói rằng bạn có quyền đặt câu hỏi "dữ liệu nào". Thực sự bạn tự trả lời: hầu hết là liên quan đến kinh doanh. Vì vậy, hãy hỏi khách hàng của bạn nếu bạn không thể tự trả lời - ghi nhớ tất cả những điều trên và giữ lại một số cách để xác định và khắc phục các sự cố có thể xảy ra.


Tôi đã làm việc với dữ liệu thế chấp trực tiếp, trong đó có rất nhiều thứ tôi có thể đã sử dụng sai. Thật thú vị khi tôi không được bảo mật hoặc yêu cầu ký bất cứ điều gì cụ thể. Sự khác biệt lớn giữa nơi đó và những nơi tôi đã làm việc với dữ liệu ít nhạy cảm hơn là thiếu một nhóm xổ số văn phòng.
David Thornley

0

Tôi muốn nói, đăng nhập các tin nhắn có vẻ buồn cười trong khi bạn đang mã hóa. Bạn sẽ không thấy họ buồn cười và họ sẽ ở đó mãi mãi - giống như bài viết trên blog / facebook / twiter không thông minh đó!

Giữ thông điệp đăng nhập buồn tẻ :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.