PowerStore và SQL Server Ledger—Dữ liệu của bạn chưa bao giờ an toàn hơn thế!

Tất cả là về an ninh

Dell và Microsoft liên tục hợp tác để cung cấp bảo mật, tính khả dụng và hiệu suất tốt nhất cho các tài sản dữ liệu có giá trị của bạn. Trong các bản phát hành mới nhất của PowerStoreOS 3.5 và SQL Server 2022, một số khả năng mới đã được giới thiệu, cung cấp bảo mật zero trust cho bảo vệ dữ liệu.

Bảo mật PowerStore

PowerStoreOS được tích hợp nhiều tính năng bảo mật tập trung vào nền tảng bảo mật, kiểm soát truy cập, ảnh chụp nhanh, kiểm toán và chứng nhận. PowerStoreOS 3.5 giới thiệu các tính năng mới sau:

  • Tăng cường STIG (Hướng dẫn triển khai kỹ thuật bảo mật), thực thi các quy tắc cụ thể của Bộ Quốc phòng Hoa Kỳ (DoD) liên quan đến độ phức tạp của mật khẩu, chính sách hết thời gian chờ và các biện pháp khác.
  • Xác thực đa yếu tố để bảo vệ khỏi tin tặc và giảm thiểu các chính sách mật khẩu kém.
  • Bảo mật ảnh chụp nhanh để ngăn ảnh chụp nhanh bị sửa đổi hoặc xóa trước ngày hết hạn, ngay cả bởi người quản trị.
  • Tích hợp PowerProtect DD để tạo ảnh chụp nhanh trực tiếp trên các thiết bị Dell PowerProtect DD series. Video PowerStore Zero Trust giải thích các tính năng này chi tiết hơn.

Để tăng cường bảo mật cơ sở dữ liệu, Microsoft đã giới thiệu một tính năng mới trong SQL Server 2022, SQL Ledger . Tính năng này tận dụng kiến ​​trúc mật mã và blockchain để tạo ra một sổ cái chống giả mạo về mọi thay đổi được thực hiện đối với cơ sở dữ liệu theo thời gian. SQL Ledger cung cấp bằng chứng mật mã về tính toàn vẹn của dữ liệu để đáp ứng các yêu cầu kiểm toán và hợp lý hóa quy trình kiểm toán.

Sổ cái SQL 101

Có hai thành phần lưu trữ chính cho SQL Ledger. Đầu tiên là cơ sở dữ liệu với cấu hình đặc biệt tận dụng kiến ​​trúc blockchain để tăng cường bảo mật. Cơ sở dữ liệu nằm trên lưu trữ khối hoặc tệp tiêu chuẩn. PowerStore hỗ trợ cả lưu trữ khối và tệp, khiến nó trở nên lý tưởng cho việc triển khai SQL Ledger.

Thứ hai là một bản tóm tắt sổ cái được lưu trữ độc lập bao gồm các giá trị băm để kiểm toán và xác minh. Bản tóm tắt sổ cái được sử dụng như một bản ghi chỉ thêm vào để lưu trữ các giá trị băm tại một thời điểm cho cơ sở dữ liệu sổ cái. Sau đó, bản tóm tắt sổ cái có thể được sử dụng để xác minh tính toàn vẹn của cơ sở dữ liệu chính bằng cách so sánh ID khối sổ cái và giá trị băm với ID khối thực tế và giá trị băm trong cơ sở dữ liệu. Nếu có sự không khớp, thì đã xảy ra một số loại tham nhũng hoặc giả mạo.

Thành phần thứ hai này, bản tóm tắt sổ cái, yêu cầu lưu trữ Write Once Read Many (WORM). Các tính năng PowerStore File-Level Retention (FLR) có thể được cấu hình để cung cấp lưu trữ WORM cho SQL Ledger. Ngoài ra, PowerStore FLR cũng có thể được cấu hình để bao gồm kiểm tra tính toàn vẹn dữ liệu nhằm phát hiện hành vi ghi-giả mạo tuân thủ quy tắc SEC 17a-4(f).

Lưu trữ tự động và tạo bản tóm tắt cơ sở dữ liệu chỉ khả dụng cho Microsoft Azure Storage. Đối với các triển khai SQL Server tại chỗ, Dell Technologies sẽ hỗ trợ bạn! Hãy cùng xem cách thực hiện điều này với PowerStore.

Cấu hình PowerStore

Đã đến lúc tìm hiểu sâu hơn về cách cấu hình khả năng này với Dell PowerStore và cách triển khai SQL Ledger. Trước tiên, chúng ta cần cấu hình cơ sở cho lưu trữ WORM trên PowerStore cho phần tóm tắt của SQL Ledger. Điều này được thực hiện bằng cách tạo một hệ thống tệp được cấu hình cho FLR. Do tính năng ghi một lần, đây thường là một hệ thống chuyên dụng riêng biệt. PowerStore hỗ trợ nhiều hệ thống tệp trên cùng một thiết bị, do đó, việc dành riêng một hệ thống tệp cho WORM không phải là vấn đề.

Chức năng WORM được triển khai bằng cách cấu hình PowerStore FLR. Bạn có tùy chọn FLR-Enterprise (FLR-E) hoặc FLR-Compliance (FLR-C). FLR-C là hạn chế nhất.

 

Tiếp theo, cấu hình SMB (Server Message Block) Share cho SQL Server để truy cập các tệp. Các thiết lập ở đây có thể được cấu hình khi cần thiết; trong ví dụ này, tôi chỉ sử dụng các thiết lập mặc định.

 

Một biện pháp tốt nhất là áp dụng chính sách bảo vệ. Trong trường hợp này, tôi đang chọn chính sách bảo vệ có bật ảnh chụp nhanh an toàn. Điều này sẽ cung cấp thêm các bản sao dữ liệu không thể xóa trước thời gian lưu giữ.

Hoạt động cơ sở dữ liệu SQL Server

Sau khi hệ thống tệp đã được tạo, bạn có thể tạo cơ sở dữ liệu SQL Server cho các bảng sổ cái. Chỉ có các bảng sổ cái mới có thể tồn tại trong cơ sở dữ liệu sổ cái. Do đó, việc tạo một cơ sở dữ liệu riêng là điều thường thấy.

Tạo cơ sở dữ liệu

Mệnh đề T-SQL CREATE DATABASE WITH LEDGER=ON chỉ ra rằng đây là cơ sở dữ liệu sổ cái. Sử dụng tên cơ sở dữ liệu là SQLLedgerDemo, cú pháp TSQL cơ bản nhất sẽ là:

TẠO CƠ SỞ DỮ LIỆU [SQLLedgerDemo] VỚI LEDGER = BẬT

Ledger yêu cầu phải bật tính năng cô lập ảnh chụp nhanh trên cơ sở dữ liệu bằng lệnh T-SQL sau:

ALTER DATABASE SQLLedgerDemo ĐẶT ALLOW_SNAPSHOT_ISOLATION BẬT

Bây giờ cơ sở dữ liệu đã được tạo, bạn có thể tạo bảng sổ cái có thể cập nhật hoặc chỉ thêm vào. Đây là các bảng cơ sở dữ liệu được cải tiến cho SQL Ledger. Việc tạo bảng sổ cái không phụ thuộc vào lưu trữ, vì vậy tôi sẽ bỏ qua phần này để ngắn gọn, nhưng bạn có thể tìm thấy hướng dẫn đầy đủ trong tài liệu sổ cái của Microsoft .

Lưu trữ tóm tắt sổ cái SQL Server

Bước tiếp theo là tạo kho lưu trữ bản tóm tắt cơ sở dữ liệu chống giả mạo. Đây là nơi địa chỉ khối đã xác minh và hàm băm sẽ được lưu trữ với dấu thời gian. Hệ thống tệp PowerStore mà chúng ta vừa tạo sẽ được sử dụng để đáp ứng yêu cầu về thiết bị lưu trữ WORM này. Để nó hoạt động chính xác, chúng ta muốn cấu hình một tệp chỉ thêm vào. Vì Windows không có khả năng dễ dàng thiết lập thuộc tính này, chúng ta có thể báo hiệu cho hệ thống tệp PowerStore với FLR được bật rằng một tệp sẽ được coi là chỉ thêm vào.

Trước tiên, tạo một tệp trống. Bạn có thể thực hiện thao tác này trong Windows File Explorer bằng cách nhấp chuột phải vào New và chọn Text Document . Tiếp theo, nhấp chuột phải vào tệp và chọn Properties . Chọn thuộc tính Read-only , nhấp vào Apply , sau đó xóa thuộc tính Read-only , nhấp vào Apply , sau đó nhấp vào OK .

Lưu ý : Hành động này phải được thực hiện trên một tệp trống. Nó sẽ không hoạt động sau khi tệp đã được ghi vào.

Lưu ý rằng hộp thoại có một  tab Thuộc tính FLR  . Tab này được cài đặt cùng với Dell FLR Toolkit và cung cấp các tùy chọn bổ sung không có trong Windows, chẳng hạn như thiết lập lưu giữ tệp. Dưới đây, chúng ta cũng có thể thấy rằng Trạng thái FLR của tệp được đặt thành  Chỉ thêm vào .

Có thể tải xuống FLR Toolkit từ  trang web Hỗ trợ của Dell . Ngoài khả năng xem trạng thái PowerStore FLR, bộ công cụ FLR còn chứa FLR Explorer cũng như các tiện ích dòng lệnh bổ sung.

Tệp SQLLedgerDemo.txt hiện ở trạng thái WORM để lưu trữ bản tóm tắt sổ cái SQL: Tệp này bị khóa để xóa và cập nhật, và chỉ có thể đọc hoặc thêm vào.

Đối với những ai đang chạy SQL Server trên Linux, quy trình tạo tệp chỉ thêm vào cũng giống như vậy. Tạo một tệp trống rồi sử dụng lệnh chmod để xóa rồi áp dụng lại quyền ghi.

Trước khi chúng ta bắt đầu điền vào tệp digest, hãy cùng tìm hiểu những gì đang được ghi lại và cách sử dụng chúng. Tệp digest SQLLedgerDemo.txt sẽ được điền vào bằng đầu ra của một quy trình được lưu trữ của SQL Server.

Tạo bản tóm tắt sổ cái SQL Server

Chạy quy trình được lưu trữ sp_generate_database_ledger_digest trên cơ sở dữ liệu sổ cái tạo ra ID khối và băm để xác minh cơ sở dữ liệu của chúng tôi. Trong ví dụ này, đầu ra là:

{"database_name":"SQLLedgerDemo","block_id":0,"hash":"0xB222F775C84DC77BBA98B3C0E4E163484518102A10AE6D6DF216AFEDBD6D02E2","last_transaction_commit_time":"2023-07-24T13:52:20.3166667","digest_time":"2023-07-24T23:17:24.6960600"}

Sau đó, quy trình được lưu trữ này sẽ được chạy theo các khoảng thời gian đều đặn để tạo ra mục nhập có dấu thời gian có thể được sử dụng để xác thực.

Xác minh tóm tắt sổ cái SQL Server

Sử dụng thông tin này, một thủ tục lưu trữ khác, sp_verify_database_ledger , sẽ tính toán lại băm cho ID khối đã cho để xem chúng có khớp với đầu ra trước đó không. Bạn xác thực khối bằng cách truyền một bản tóm tắt được tạo trước đó vào thủ tục lưu trữ:

sp_verify_database_ledger N'{"database_name":"SQLLedgerDemo","block_id":0,"hash":"0xB222F775C84DC77BBA98B3C0E4E163484518102A10AE6D6DF216AFEDBD6D02E2","last_transaction_commit_time":"2023-07-24T13:52:20.3166667","digest_time":"2023-07-24T23:17:24.6960600"}'

Nếu trả về 0, có sự trùng khớp; nếu không, bạn sẽ nhận được các lỗi sau. Bạn có thể xác minh điều này bằng cách sửa đổi giá trị băm và gọi lại sp_verify_database_ledger , điều này sẽ tạo ra các lỗi này.

Msg 37368, Mức 16, Trạng thái 1, Quy trình sp_verify_database_ledger, Dòng 1 [Bắt đầu hàng loạt Dòng 10]
Giá trị băm của khối 0 trong sổ cái cơ sở dữ liệu không khớp với giá trị băm được cung cấp trong bản tóm tắt cho khối này.
Msg 37392, Mức 16, Trạng thái 1, Quy trình sp_verify_database_ledger, Dòng 1 [Bắt đầu hàng loạt Dòng 10]
Xác minh sổ cái không thành công.

Tự động tạo và xác thực bản tóm tắt sổ cái

Sử dụng các quy trình được lưu trữ này, bạn sẽ thiết lập một quy trình tự động để tạo một bản tóm tắt sổ cái mới, thêm nó vào tệp đã tạo ở trên, sau đó xác minh rằng có sự trùng khớp. Nếu không có sự trùng khớp, thì bạn có thể quay lại mục nhập cuối cùng trong bản tóm tắt để xác định thời điểm xảy ra sự cố hỏng hóc hoặc giả mạo. Nếu bạn đang tuân theo các Thực hành tốt nhất của SQL Server dành cho PowerStore , bạn đang chụp ảnh nhanh thường xuyên cơ sở dữ liệu của mình để cho phép khôi phục nhanh chóng tại một thời điểm. Vì ảnh chụp nhanh Dell PowerStore an toàn và không thể thay đổi, chúng đóng vai trò là điểm khôi phục nhanh, thêm một lớp bảo vệ bổ sung cho dữ liệu quan trọng.

Vì việc tạo và xác thực được điều khiển bằng các thủ tục lưu trữ của SQL Server, nên việc tự động hóa quy trình bằng các công cụ yêu thích của bạn cực kỳ dễ dàng. Pieter Vanhove tại Microsoft đã viết một bài đăng trên blog, Ledger – Automatic digest upload for SQL Server without Azure connection , về cách tự động hóa việc tạo và xác minh digest bằng SQL Agent. Bài đăng trên blog có chứa các tập lệnh mẫu để tạo các tác vụ SQL Server Agent nhằm tự động hóa toàn bộ quy trình!

Bản tóm tắt

Dữ liệu của bạn không bao giờ có thể quá an toàn. Khả năng chụp nhanh an toàn của PowerStore bổ sung thêm một lớp bảo mật nữa cho bất kỳ cơ sở dữ liệu nào. Khả năng PowerStore FLR và SQL Server Ledger có thể được kết hợp để bảo mật dữ liệu cơ sở dữ liệu của bạn hơn nữa và đạt được sự tuân thủ các yêu cầu bảo mật nghiêm ngặt nhất. Nếu cần, các ảnh chụp nhanh an toàn, không thể thay đổi của PowerStore có thể được sử dụng làm điểm khôi phục nhanh.