Mã hóa dữ liệu minh bạch


Câu trả lời:


7
  1. Một số điểm bổ sung mà tôi nhận thấy là trong trường hợp bạn đang sử dụng tính năng nén sao lưu, tính năng này cùng với TDE không hoạt động tốt. Chúng tôi đã nhận thấy một tỷ lệ nén rất tối thiểu, gần như không đáng kể. Do đó, hãy xem xét điểm nén sao lưu này nếu bạn đang sử dụng.

  2. Tôi chắc chắn bạn sẽ biết, nhưng chỉ cần thêm, TDE có sẵn cho phiên bản Enterprise, do đó, cũng nên xem xét điều này trong quá trình thiết lập máy chủ SQL cho TDE.

  3. TDE không cung cấp cùng một điều khiển chi tiết, cụ thể cho vai trò người dùng hoặc cơ sở dữ liệu, như được cung cấp bởi mã hóa cấp độ tế bào.

  4. Đảm bảo rằng các khóa mã hóa được lưu trữ an toàn ở một vị trí an toàn có thể được truy cập trong trường hợp kịch bản khôi phục. Tự làm quen với việc khôi phục cơ sở dữ liệu đã được mã hóa sang máy chủ mới. (ban đầu là một bình luận của Jonathan Fite ).


3
Thêm một vài điều nữa để thêm vào: 5) hệ thống con lưu trữ của bạn sẽ bận rộn hơn một chút trong khi TDE đang bận lật bit khi bạn kích hoạt TDE 6) không khởi tạo tệp ngay lập tức với TDE được kích hoạt để lập kế hoạch cho không gian của bạn một cách cẩn thận hơn vì việc tự động lưu trữ tệp dữ liệu có thể mất nhiều thời gian hơn bây giờ tùy thuộc vào cài đặt của bạn 7) Điểm kiểm tra TDE để các mục nhật ký trong tương lai sẽ được mã hóa
SQLmojoe

2

Đầu tiên, trước khi mã hóa cơ sở dữ liệu, hãy sao lưu khóa chính và chứng chỉ và lưu trữ ngoại tuyến. Đừng đợi cho đến khi bạn đã áp dụng TDE để làm điều này. Đồng thời lưu trữ mật khẩu trong hầm mật khẩu và làm rõ mật khẩu nào tương quan với đối tượng nào; bạn thực sự không muốn mất dấu vết của những điều này.

Tác động mà TDE gây ra cho cơ sở dữ liệu hoàn toàn phụ thuộc vào khối lượng công việc liên quan: Gần đây tôi đã áp dụng TDE cho kho dữ liệu và tác động hiệu suất đối với tải qua đêm là không có gì, điều đó cho thấy quy trình không bị ràng buộc bởi CPU. Tuy nhiên điều đó có thể không đúng với cơ sở dữ liệu của bạn. Vì vậy, nếu bạn có thể kiểm tra khối lượng công việc trên môi trường dev trước, thì hãy làm như vậy.

Không chỉ là dữ liệu trong các tệp được mã hóa: TDE cũng sẽ mã hóa tempDB, vì vậy nếu bạn có các cơ sở dữ liệu khác sử dụng TempDB nhiều thì bạn có thể nhận thấy một cú đánh hiệu suất. Cả bản sao lưu và ảnh chụp nhanh cũng được mã hóa.

Cũng xem xét nếu cơ sở dữ liệu này cần được khôi phục vào các môi trường khác (ví dụ: kiểm tra hoặc UAT). Bạn sẽ cần khôi phục chứng chỉ được sử dụng để mã hóa cơ sở dữ liệu đến các máy chủ khác này. Điều này có vẻ không quá nhiều vấn đề, nhưng nếu bạn không có doanh nghiệp hoặc nhà phát triển trong bất kỳ môi trường nào thì điều này có thể trở nên tốn kém. Một cách khác để áp dụng TDE trên toàn bộ môi trường là khôi phục cơ sở dữ liệu về một trường hợp ở giữa là doanh nghiệp / nhà phát triển và làm xáo trộn dữ liệu nhạy cảm hoặc bỏ mã hóa và tạo bản sao lưu mới để được khôi phục vào các môi trường khác. Lựa chọn thứ hai này có lẽ không phải là hợp lý nhất, nhưng nó luôn là một lựa chọn ...

Khi bật TDE, có hai khóa được áp dụng cho cơ sở dữ liệu: khóa chung và khóa cập nhật. TechNet tuyên bố đầy đủ điều này:

Khi TDE được bật (hoặc tắt), cơ sở dữ liệu được đánh dấu là được mã hóa trong chế độ xem danh mục sys.database và trạng thái DEK được đặt thành Tiến hành mã hóa. Máy chủ bắt đầu một luồng nền (được gọi là quét hoặc quét mã hóa) quét tất cả các tệp cơ sở dữ liệu và mã hóa chúng (hoặc giải mã chúng nếu bạn đang tắt TDE). Trong khi DDL thực thi, một khóa cập nhật được lấy trên cơ sở dữ liệu. Quá trình quét mã hóa, chạy không đồng bộ với DDL, sẽ khóa chung. Tất cả các hoạt động bình thường không xung đột với các khóa này có thể tiến hành. Các hoạt động bị loại trừ bao gồm sửa đổi cấu trúc tệp và tách cơ sở dữ liệu. Trong khi cơ sở dữ liệu bình thường ghi vào đĩa từ vùng đệm được mã hóa, ghi tệp nhật ký có thể không. Quá trình quét cũng buộc cuộn qua tệp nhật ký ảo (VLF) để đảm bảo rằng việc ghi vào nhật ký trong tương lai được mã hóa.

Kinh nghiệm của tôi là về kho dữ liệu hầu như không được sử dụng vào ban ngày và được sử dụng nhiều qua đêm, vì vậy tôi có thể áp dụng TDE với sự gián đoạn tối thiểu trong ngày. Nếu bạn đang mã hóa OLTP trong sản xuất, thì tốt nhất nên lên lịch cho việc này trong cửa sổ bảo trì để giảm thiểu các vấn đề.

Chỉnh sửa: Cũng về điểm nén; Mặc dù đúng là TDE ảnh hưởng đến nén sao lưu, nhưng nó không ảnh hưởng đến nén hàng / trang / cột. Vì vậy, nếu bạn muốn cân bằng việc mất nén từ các bản sao lưu, bạn có thể nén các đối tượng trong cơ sở dữ liệu. Một lần nữa, tùy thuộc vào khối lượng công việc của bạn, bạn có thể / có thể không muốn thực hiện nén trên cơ sở dữ liệu của mình vì điều đó sẽ làm căng thẳng thêm CPU. Có một bài viết TechNet tuyệt vời về triển khai nén: https://technet.microsoft.com/en-us/l Library / dd894051% 28v = sql.100% 29.aspx


Cảm ơn, Richie. Chúng tôi đang xem xét mã hóa một cơ sở dữ liệu ứng dụng sử dụng ban ngày. Nhà cung cấp tuyên bố "không hỗ trợ nó", nhưng tôi không chắc làm thế nào họ có thể hoặc không thể vì nó không ảnh hưởng trực tiếp đến mã của họ trừ khi các truy vấn không được tối ưu hóa.
Zack White

Tôi chắc rằng cơ sở dữ liệu sẽ hoạt động với TDE, nhưng vấn đề khác như thế nào, do đó các nhà cung cấp nhận xét. Đương nhiên, nếu bạn có thể kiểm tra hiệu năng TDE trước / sau trước khi thực hiện trực tiếp (thậm chí thời gian áp dụng TDE là bao lâu), thì điều này sẽ cho bạn ý tưởng tốt hơn về cách cơ sở dữ liệu thực hiện.
Richie Lee
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.