Thiết lập mã hóa dữ liệu ở phần còn lại trong PostgreSQL

Thiet Lap Ma Hoa Du Lieu O Phan Con Lai Trong Postgresql



Bạn phải bảo mật dữ liệu của mình bất cứ khi nào bạn làm việc với bất kỳ cơ sở dữ liệu nào. Đối với PostgreSQL, có thể bảo mật dữ liệu ở trạng thái lưu trữ. Logic liên quan đến việc bảo mật dữ liệu của bạn trong khi nó được lưu trữ trên đĩa. Bằng cách đó, bạn sẽ có thêm một tuyến phòng thủ để bảo vệ dữ liệu của mình khỏi kẻ tấn công.

Mặc dù PostgreSQL không cung cấp các tùy chọn mã hóa tích hợp nhưng bạn có thể thiết lập mã hóa dữ liệu ở trạng thái lưu trữ bằng phương pháp mã hóa của bên thứ ba. Hướng dẫn hôm nay tập trung vào việc sử dụng phương pháp Mã hóa dữ liệu trong suốt (TDE) để kích hoạt mã hóa cấp hệ thống tệp.

Cách thiết lập mã hóa dữ liệu ở phần còn lại trong PostgreSQL

Khi thiết lập mã hóa dữ liệu ở trạng thái lưu trữ trong PostgreSQL, mục tiêu là làm cho dữ liệu không thể đọc được trên hệ thống tệp bằng cách yêu cầu khóa giải mã. Bằng cách đó, việc truy cập trái phép sẽ bị loại bỏ.







Khi PostgreSQL đang chạy trên máy chủ của bạn, bạn có thể thiết lập mã hóa cấp hệ thống tệp bằng các công cụ của bên thứ ba như Thiết lập khóa hợp nhất Linux (LUKS). Bạn có thể tìm thấy giải pháp thích hợp cho hệ thống của mình. Ở đây, chúng tôi đang làm việc với Ubuntu và thiết lập mã hóa dữ liệu bằng các bước sau.



Bước 1: Cài đặt Công cụ mã hóa hệ thống tập tin

Sau khi chọn phương thức mã hóa, bạn phải cài đặt các công cụ cần thiết. Chúng tôi chọn phương thức mã hóa cấp hệ thống tệp và cài đặt LUKS. Để cài đặt LUKS, hãy cài đặt cryptsetup như sau:



sudo cài đặt apt-get thiết lập mật mã





Nhấn “y” để tiếp tục cài đặt và đảm bảo mọi thứ cài đặt như mong đợi.

Bước 2: Thiết lập vùng chứa được mã hóa

Vì chúng tôi đang thiết lập mã hóa cấp hệ thống tệp, chúng tôi phải tạo một thư mục được mã hóa trên đĩa chứa dữ liệu PostgreSQL. Kiểm tra các thiết bị có sẵn trên hệ điều hành của bạn bằng lệnh sau:



sudo fdisk -l

Tiếp theo, chọn thiết bị thích hợp và chạy lệnh sau. Ở đây, chúng tôi sử dụng /dev/sdb thiết bị. Bạn sẽ được nhắc xác nhận hành động bằng cách nhập “CÓ” và sau đó nhập cụm mật khẩu.

Sau đó, bạn phải mã hóa nó bằng LUKS bằng cách chạy lệnh sau:

Bước 3: Định dạng vùng chứa

Đối với vùng chứa đã tạo, chúng ta phải định dạng nó. Chúng tôi sử dụng tùy chọn “mkfs.ext4” bằng cách chạy đoạn mã sau:

sudo mkfs.ext4 / nhà phát triển / người lập bản đồ / postgres_encrypted

Bước 4: Gắn container

Tiếp theo, hãy gắn vùng chứa được mã hóa. Bắt đầu bằng cách tạo một thư mục trong /mnt/ như sau:

sudo mkdir / mnt / postgres

Sau khi thư mục được tạo, hãy tiếp tục gắn vùng chứa được mã hóa bằng lệnh “mount” và chỉ định đường dẫn.

sudo gắn kết / nhà phát triển / người lập bản đồ / postgres_encrypted / mnt / postgres /

Bước 5: Di chuyển dữ liệu PostgreSQL

Cho đến nay, chúng tôi đã tạo một vùng chứa được mã hóa để lưu trữ dữ liệu PostgreSQL của mình nhưng chúng tôi vẫn chưa di chuyển dữ liệu. Trước khi di chuyển dữ liệu, chúng ta phải dừng dịch vụ PostgreSQL.

sudo systemctl dừng postgresql

Để di chuyển dữ liệu PostgreSQL, hãy chạy lệnh “sao chép” sau và đảm bảo rằng bạn sao chép nó vào thư mục mà chúng tôi đã tạo trước đó:

sudo rsync -của / đã từng là / lib / postgresql / mnt / postgres

Tiếp theo, sao lưu dữ liệu PostgreSQL gốc bằng cách di chuyển nó đến vị trí sao lưu.

sudo mv / đã từng là / lib / postgresql / đã từng là / lib / postgresql_backup


Sau đó, bạn cần tạo một liên kết tượng trưng cho thư mục để truy cập nhanh.

sudo ln -S / mnt / postgres / postgresql / đã từng là / lib / postgresql

Đó là nó. Chúng tôi đã cố gắng sao chép và di chuyển dữ liệu PostgreSQL sang vùng chứa được mã hóa ở cấp hệ thống tệp của mình để đảm bảo rằng chúng tôi bảo mật dữ liệu ở trạng thái lưu trữ.

Bước 6: Chỉnh sửa tệp cấu hình PostgreSQL

data_directory trong tệp cấu hình phản ánh vị trí dữ liệu PostgreSQL quý giá. Tuy nhiên, chúng tôi phải chỉnh sửa nó để khớp với vị trí của dữ liệu PostgreSQL trong vùng chứa được mã hóa mà chúng tôi đã tạo. Vì vậy, hãy mở tệp cấu hình PostgreSQL bằng trình soạn thảo văn bản. Xác định vị trí phần data_directory. Nó xuất hiện như sau trước khi chúng tôi chỉnh sửa nó. Đường dẫn có thể khác nhau tùy thuộc vào phiên bản PostgreSQL được cài đặt trên hệ thống của bạn.

Thay đổi đường dẫn để chuyển hướng đến vùng chứa được mã hóa mà chúng tôi đã tạo ở bước 4. Trong trường hợp của chúng tôi, đường dẫn mới như sau:

Bước 7: Lưu, thoát và khởi động lại

Lưu và thoát tệp cấu hình PostgreSQL. Tiếp theo, bắt đầu hoặc khởi động lại PostgreSQL. Bạn đã quản lý để thiết lập mã hóa dữ liệu ở phần còn lại trong PostgreSQL.

Đó là nó! Bạn có thể tiếp tục sử dụng PostgreSQL một cách an toàn và tận hưởng mã hóa cấp hệ thống tệp mới.

Phần kết luận

Thiết lập mã hóa dữ liệu ở trạng thái lưu trữ trong PostgreSQL bao gồm việc xác định phương pháp mã hóa nào sẽ sử dụng và sau đó thiết lập nó. Chúng tôi đã chọn mã hóa TDE bằng LUKS để thiết lập mã hóa cấp hệ thống tệp. Hơn nữa, chúng tôi đã trình bày chi tiết từng bước cần thực hiện để thiết lập nó. Đó là nó! Hãy dùng thử và làm theo các bước được cung cấp.