Doconut Viewer trở thành một phần của ranh giới bảo mật của ứng dụng của bạn ngay khi nó hiển thị hợp đồng, hoá đơn, bản vẽ kỹ thuật hoặc hồ sơ khách hàng. Doconut cung cấp lớp xem; ứng dụng bao quanh vẫn phải quyết định ai có thể mở tệp, nơi lưu trữ nguồn, thời gian dữ liệu suy ra vẫn khả dụng, và những gì được ghi lại để điều tra.

Bài viết của Doconut về các thực hành xem tài liệu an toàn mô tả việc render phía máy chủ như một lớp trong thiết kế phòng thủ sâu. Vì vậy, bài viết này tập trung vào các trách nhiệm của ứng dụng liên quan đến Doconut và hướng chi tiết triển khai tới tài liệu sản phẩm được duy trì.
Bắt Đầu Với Mô Hình Đe Dọa
“Riêng tư” và “bảo mật” không phải là các cấu hình. Xác định các sự kiện bạn cần ngăn chặn hoặc phát hiện trước khi chọn các biện pháp kiểm soát.
| Rủi ro | Ví dụ | Kiểm soát ứng dụng |
|---|---|---|
| Truy cập không được phép | Người dùng thay đổi định danh tài liệu trong URL | Ủy quyền cấp đối tượng cho mỗi yêu cầu |
| Giao thoa giữa các tenant | Người dùng hợp lệ yêu cầu tệp của khách hàng khác | Phạm vi tenant được bao gồm trong quyết định ủy quyền |
| Tiết lộ nguồn | Đường dẫn lưu trữ hoặc tệp gốc được trả về trực tiếp | Quy trình tra cứu và render do máy chủ kiểm soát |
| Truy cập lạc hậu | Liên kết vẫn khả dụng sau khi vai trò hoặc trường hợp thay đổi | Thời gian phiên ngắn kèm tái xác thực ủy quyền |
| Lưu trữ quá mức | Dữ liệu đầu vào hoặc đầu ra tạm thời tích lũy | Các công việc vòng đời rõ ràng với kết quả có thể quan sát |
| Ghi nhật ký nhạy cảm | Mã thông báo hoặc vị trí tệp xuất hiện trong nhật ký | Xử lý xóa cấu trúc và chỉ ghi nhận định danh |
Ưu tiên các rủi ro dựa trên tài liệu và người dùng trong hệ thống của bạn. Thư viện tài liệu quảng cáo công cộng và cổng thông tin bằng chứng pháp lý không nên chia sẻ cùng một chính sách chỉ vì chúng sử dụng cùng một trình xem.
Bài viết của Doconut về trường hợp sử dụng xem lại tài liệu pháp lý là một tham chiếu hữu ích cho vai trò của sản phẩm trong các quy trình công việc đã xác thực như vụ việc, hợp đồng, bằng chứng và tuân thủ. Nó cũng củng cố ranh giới kiến trúc: quyền, lưu trữ, hồ sơ khách hàng và quy tắc kinh doanh vẫn gần gũi với ứng dụng chủ.
Ủy Quyền Trước Khi Mở Tài Liệu
Thực hiện xác thực và ủy quyền cấp đối tượng trước khi mở tài liệu bằng Doconut. Hướng dẫn cài đặt .NET 6 trở lên chính thức Hướng dẫn cài đặt .NET 6 trở lên cho thấy cách cấu hình trình xem và cách mở tài liệu phía máy chủ; đặt các kiểm tra danh tính, tenant và quyền tài liệu của ứng dụng của bạn trước bước sản phẩm đó.
Lặp lại cùng một quy tắc ủy quyền cho mọi thao tác liên quan mà ứng dụng của bạn cung cấp, bao gồm các trang, hình thu nhỏ, tìm kiếm, chú thích, chuyển đổi, tải xuống và in. Ẩn một nút không bảo vệ yêu cầu nền.
Tránh nhận một đường dẫn hệ thống tập tin, khóa lưu trữ hoặc URL từ xa trực tiếp từ trình duyệt. Giải quyết một ID tài liệu do ứng dụng sở hữu tới vị trí lưu trữ trên máy chủ, sau đó xác nhận đối tượng đã giải quyết thuộc về tenant và quy trình làm việc đã ủy quyền.
Tách Trình Xem Khỏi Chính Sách Lưu Trữ
Trình xem không nên xác định thời gian lưu trữ của bạn. Ghi lại mỗi lớp lưu trữ và chủ sở hữu:
- Tài liệu nguồn — được kiểm soát bởi chính sách nội dung hoặc hồ sơ chính của bạn.
- Tệp tạm thời làm việc — được tạo để xử lý và được xóa bởi vòng đời được lên lịch, có thể quan sát.
- Các trang đã render hoặc bộ nhớ đệm — giới hạn thời gian tồn tại tối thiểu có ích và được bảo vệ như nguồn.
- Các tệp xuất và sẵn sàng in — chỉ được tạo khi người dùng có quyền tương ứng.
- Nhật ký và sự kiện kiểm toán — chứa định danh và kết quả, không phải nội dung tài liệu hay thông tin xác thực.
Mã hoá khi truyền và khi nghỉ phụ thuộc vào máy chủ web, nhà cung cấp lưu trữ, quản lý khóa và cấu hình triển khai của bạn. Xác minh các kiểm soát này trong môi trường thực tế; đừng suy đoán chúng chỉ dựa trên việc có một thư viện trình xem.
Sử Dụng Tham Chiếu Ngắn Hạn Một Cách Cẩn Thận
Một tham chiếu ngắn hạn có thể giảm thời gian có thể tái phát, nhưng nó không thay thế ủy quyền. Nếu thiết kế của bạn sử dụng một route ký hoặc token phiên:
- Gắn nó với một tài liệu và thao tác dự định.
- Đặt thời gian tồn tại hẹp dựa trên quy trình làm việc.
- Tránh đặt các yêu cầu nhạy cảm hoặc vị trí lưu trữ dưới dạng văn bản rõ.
- Tái xác thực ủy quyền cho các thao tác đặc quyền.
- Định nghĩa việc thu hồi nghĩa là gì trước thời gian hết hạn tự nhiên.
- Giữ token ra khỏi phân tích, thông tin referrer, thông báo lỗi và ảnh chụp màn hình.
Khi một phiên trình duyệt hết hạn, hiển thị một thông báo trung lập và cung cấp cách an toàn để xác thực lại. Không tiết lộ liệu tenant khác có sở hữu tài liệu hay không.
Hiểu Những Điều Kiểm Soát Phía Client Có Thể và Không Thể Làm
Việc loại bỏ các điều khiển tải xuống hoặc in có thể cải thiện quy trình làm việc dự định, nhưng không đảm bảo tính bí mật. Người dùng có thể nhìn thấy nội dung vẫn có thể chụp màn hình, chụp ảnh hoặc sử dụng các khả năng của trình duyệt bên ngoài trình xem.
Xem các hạn chế phía client như các biện pháp về tính khả dụng và ngăn cản. Các kiểm soát mạnh hơn đến từ việc giữ các tệp nguồn phía máy chủ, áp dụng ủy quyền cho mọi yêu cầu liên quan, hạn chế xuất khẩu, và sử dụng dấu nước hiển thị khi chính sách của bạn yêu cầu.
Không Biến Tính Năng Sản Phẩm Thành Khiếu Nại Tuân Thủ
Tuân thủ quy định phụ thuộc vào mục đích, danh mục dữ liệu, cơ sở pháp lý, hợp đồng, xử lý khu vực, thời gian lưu trữ, phản hồi sự cố và quy trình tổ chức. Một trình xem có thể hỗ trợ một thiết kế tuân thủ, nhưng nó không làm cho một ứng dụng trở nên tuân thủ tự nó.
Đối với đánh giá GDPR, ghi lại ít nhất:
- Nơi các tệp nguồn và tệp suy ra được xử lý và lưu trữ
- Ai đóng vai trò làm chủ dữ liệu và nhà xử lý cho mỗi dịch vụ
- Các nhà phụ trợ và chuyển giao nào tham gia
- Cách yêu cầu xóa tiếp cận mọi lớp lưu trữ và chính sách sao lưu
- Các sự kiện nào được ghi nhật ký và thời gian nhật ký tồn tại
- Cách thực hiện đánh giá truy cập và phản hồi sự cố
Hãy để các bên liên quan về quyền riêng tư và pháp lý xác nhận các quyết định này cho triển khai của bạn.
Thêm Tiêu Đề Bảo Mật và Quy Tắc Bộ Nhớ Đệm
Đối với các route xem trước đã xác thực, hãy đánh giá một Chính sách bảo mật nội dung hạn chế, chính sách khung, bảo vệ phát hiện MIME và chính sách referrer. Nếu xem trước xuất hiện trong một iframe, hãy làm rõ các nguồn gốc cha mẹ dự định.
Chọn tiêu đề bộ nhớ đệm dựa trên độ nhạy cảm và route render. no-store có thể phù hợp với một số phản hồi, nhưng nó có thể ảnh hưởng đến hiệu năng và không xóa nội dung đã được chụp ở nơi khác. Kiểm tra hành vi của trình duyệt, proxy và CDN thay vì chỉ dựa vào một tiêu đề riêng lẻ.
Ghi Nhật Ký Quyết Định, Không Phải Bí Mật
Một sự kiện kiểm toán hữu ích có thể chứa:
- Định danh người dùng và tenant
- Định danh tài liệu
- Thao tác yêu cầu
- Kết quả ủy quyền
- Dấu thời gian và ID liên quan
- Kết quả lưu trữ hoặc dọn dẹp
Tránh ghi nhật ký các token thô, chuỗi truy vấn, URL lưu trữ, tên tài liệu chứa dữ liệu cá nhân hoặc văn bản đã trích xuất. Bảo vệ nhật ký kiểm toán khỏi việc sửa đổi và hạn chế quyền truy cập chỉ cho các nhóm cần thiết.
Xác Minh Toàn Bộ Luồng
Kiểm thử bảo mật nên bao gồm các trường hợp tiêu cực:
- Thay đổi ID tài liệu trong khi vẫn xác thực.
- Tái sử dụng URL xem trước từ người dùng hoặc tenant khác.
- Gọi trực tiếp các endpoint trang, hình thu nhỏ, in và xuất.
- Hết hạn phiên trong khi xem trước kéo dài.
- Gỡ quyền của người dùng trong khi tài liệu đang mở.
- Gửi đầu vào không được hỗ trợ, quá lớn, hỏng, hoặc được bảo vệ bằng mật khẩu.
- Xác nhận các công việc dọn dẹp xóa dữ liệu đủ điều kiện và báo cáo lỗi.
- Kiểm tra nhật ký, phân tích và trang lỗi để tìm giá trị nhạy cảm.
Tự động hoá các trường hợp ổn định và duy trì đánh giá thủ công cho cấu hình lưu trữ, chính sách trình duyệt và các thay đổi phiên bản trình xem.
Kết Luận
Một tích hợp có ý thức bảo mật có quyền sở hữu rõ ràng. Doconut cung cấp khả năng xem tài liệu được mô tả trong tài liệu chính thức; ứng dụng của bạn cung cấp xác thực, ủy quyền, kiểm soát lưu trữ, thời gian lưu trữ, giám sát và phản hồi sự cố. Giữ các trách nhiệm này một cách rõ ràng tạo ra các kiểm soát mạnh hơn và các tuyên bố quyền riêng tư trung thực hơn.