Bối cảnh và vấn đề nghiên cứu

Trong kỷ nguyên phát triển mạnh mẽ của công nghệ thông tin, việc quản trị và bảo vệ dữ liệu trở thành nhiệm vụ cốt lõi của mọi tổ chức, cơ quan và doanh nghiệp. Dữ liệu ngày nay không chỉ dừng lại ở các tập tin hay thư mục rời rạc mà phần lớn được tổ chức, lưu trữ dưới dạng các bảng có quan hệ trong các hệ quản trị cơ sở dữ liệu (HQTCSDL) nhằm tối ưu hóa các thao tác chỉnh sửa, thêm, xóa và truy vấn thông tin. Trong các cơ quan nhà nước, tổ chức tài chính, ngân hàng và viễn thông, tính bí mật và toàn vẹn của dữ liệu là yêu cầu bắt buộc và cần được bảo đảm tuyệt đối.

PostgreSQL là một HQTCSDL quan hệ - đối tượng mã nguồn mở tiêu biểu, được nhiều doanh nghiệp và khối cơ quan chính phủ lựa chọn nhờ khả năng xử lý các câu truy vấn phức hợp, thủ tục sự kiện (triggers), hỗ trợ kiểm soát truy cập đồng thời đa phiên bản (MVCC), truy vấn song song và sao chép dữ liệu dạng luồng (streaming replication). Tuy nhiên, việc vận hành HQTCSDL luôn phải đối mặt với nhiều mối đe dọa an toàn thông tin như tấn công leo thang đặc quyền, nghe lén kênh truyền, can thiệp dữ liệu trái phép hoặc trộm cắp phương tiện lưu trữ vật lý.

Đồ án tốt nghiệp "Tìm hiểu, triển khai một số cơ chế mã hóa dữ liệu trong HQTCSDL PostgreSQL" do sinh viên Nguyễn Quốc Anh thực hiện dưới sự hướng dẫn của thầy Nguyễn Như Chiến tại Trường Đại học Quản lý và Công nghệ Hải Phòng (năm 2023) tập trung giải quyết các bài toán bảo mật cốt lõi trên HQTCSDL PostgreSQL.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài:

  1. Khảo sát tổng quan về kiến trúc, các thành phần bộ nhớ, tiến trình nền và đặc tính kỹ thuật vận hành của HQTCSDL PostgreSQL.
  2. Phân tích các mối nguy cơ mất an toàn thông tin tiềm ẩn đối với HQTCSDL (tấn công nội bộ, bên ngoài, leo thang đặc quyền, tấn công từ chối dịch vụ SYN Flood và điểm yếu xác thực).
  3. Nghiên cứu các cơ chế bảo mật và mã hóa trong PostgreSQL, bao gồm phân quyền, kiểm toán hệ thống qua tiện ích pgAudit, chính sách bảo mật cấp hàng (Row-Level Security - RLS), cơ chế mã hóa dữ liệu lưu trữ trong suốt (Transparent Data Encryption - TDE) và cơ chế mã hóa dữ liệu kênh truyền với giao thức TLS 1.3.
  4. Xây dựng mô hình thực nghiệm, tiến hành cài đặt, cấu hình các cơ chế mã hóa kênh truyền (kết hợp chứng thư số OpenSSL) và mã hóa dữ liệu lưu trữ (mức cột); sử dụng công cụ phân tích gói tin để kiểm chứng và đánh giá hiệu quả bảo mật.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Kiến trúc an toàn thông tin và các cơ chế mã hóa dữ liệu (mã hóa lưu trữ TDE, mã hóa kênh truyền TLS 1.3, cơ chế phân quyền và kiểm toán pgAudit) trên hệ quản trị cơ sở dữ liệu.
  • Phạm vi nghiên cứu: Triển khai thực nghiệm trên phiên bản HQTCSDL PostgreSQL 12 cài đặt trên nền tảng hệ điều hành Linux; thực nghiệm kiểm thử trong mô hình mạng Client - Server; phạm vi kỹ thuật tập trung vào mã hóa kênh truyền với TLS 1.3 và mã hóa dữ liệu mức cột sử dụng hàm mật mã pgp_sym_decrypt().

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình kỹ thuật

Tác giả xây dựng nghiên cứu dựa trên các cơ sở lý thuyết và tiêu chuẩn kỹ thuật sau:

  • Mô hình an toàn cơ sở dữ liệu (CIA Triad): Hệ thống bảo mật hướng đến ba thuộc tính nền tảng: Tính bí mật (Confidentiality), Tính toàn vẹn (Integrity) và Tính sẵn sàng (Availability). Trong đó, tính sẵn sàng được định lượng qua công thức: $$\text{Tỷ lệ phục vụ } (A) = \frac{\text{Uptime}}{\text{Uptime} + \text{Downtime}}$$
  • Kiến trúc phân tầng HQTCSDL PostgreSQL: Bao gồm kiến trúc quản lý bộ nhớ dùng chung (Shared Memory), hệ thống tiến trình xử lý nền (Utility/Background Processes) và cấu trúc phân cấp dữ liệu logic - vật lý (Database Cluster, Tablespace, Schema, Table).
  • Mô hình kiểm soát truy cập và chính sách mức hàng (Row-Level Security - RLS): Sử dụng các biểu thức điều kiện USING (kiểm tra khả năng hiển thị của dữ liệu) và WITH CHECK (kiểm tra tính hợp lệ của dữ liệu khi ghi/cập nhật) với hai chế độ kết hợp chính sách PERMISSIVE (toán tử OR) và RESTRICTIVE (toán tử AND).
  • Mô hình mã hóa dữ liệu trong suốt (TDE): Kiến trúc mã hóa hai tầng sử dụng khóa mã hóa chính (Master Encryption Key) để bảo vệ khóa mã hóa bảng/khóa dữ liệu (Data Encryption Key - DEK), hỗ trợ các thuật toán mật mã khóa đối xứng như AES, 3DES, Blowfish.
  • Mô hình bảo mật tầng giao vận TLS 1.3 (Transport Layer Security): Hoạt động ở tầng giao vận trong mô hình TCP/IP, bao gồm 3 giao thức con: Giao thức bắt tay (Handshake Protocol), Giao thức bản ghi (Record Protocol) và Giao thức cảnh báo (Alert Protocol).

Phương pháp nghiên cứu

  • Phương pháp phân tích - tổng hợp lý thuyết: Hệ thống hóa lịch sử phát triển, kiến trúc nội tại của PostgreSQL, phân loại các nguy cơ an ninh mạng và các chuẩn mã hóa dữ liệu quốc tế.
  • Phương pháp thực nghiệm kỹ thuật: Thiết lập môi trường mạng cục bộ gồm máy chủ PostgreSQL Server và máy trạm Client; thực hiện cài đặt các gói phần mềm, phân bổ bộ nhớ cấu hình và sinh chứng thư số bằng công cụ OpenSSL.
  • Phương pháp giám sát và bắt gói tin (Packet Sniffing): Sử dụng phần mềm Wireshark để bắt và giải mã lưu lượng truyền thông giữa Client và Server trước và sau khi thiết lập mã hóa, làm căn cứ định tính và định lượng cho việc đánh giá độ an toàn dữ liệu.

Nguồn dữ liệu

Nghiên cứu sử dụng tài liệu chuẩn của PostgreSQL, các tài liệu kỹ thuật về mô hình bắt tay ba bước của TCP, tài liệu đặc tả giao thức TLS 1.3 cùng tập dữ liệu bảng mẫu thực nghiệm được khởi tạo trên cơ sở dữ liệu PostgreSQL 12.


Nội dung chính theo từng chương

CHƯƠNG 1. TỔNG QUAN VỀ HQTCSDL POSTGRESQL

Chương 1 khái quát lịch sử hình thành, kiến trúc kỹ thuật và các thông số vận hành căn bản của PostgreSQL:

  • Lịch sử phát triển: Bắt đầu từ dự án Postgres tại Đại học California ở Berkeley từ năm 1986 do Giáo sư Michael Stonebraker dẫn dắt (được tài trợ bởi DARPA, ARO, NSF và ESL Inc). Sau các phiên bản ban đầu, đến năm 1994, Andrew Yu và Jolly Chen đã bổ sung trình biên dịch SQL để tạo ra Postgres95. Đến năm 1996, hệ thống chính thức mang tên PostgreSQL với bản phát hành 6.0.
  • Kiến trúc bộ nhớ chung (Shared Memory):
    • Shared Buffer: Bộ đệm đọc/ghi để giảm tải Disk I/O; dữ liệu chỉnh sửa tại đây được gọi là dirty data/dirty page.
    • WAL Buffer (Write-Ahead Logging): Bộ nhớ đệm lưu nhật ký giao dịch phục vụ phục hồi dữ liệu, mặc định được cấp phát bằng 1/16 Shared Buffer.
    • CLOG Buffer (Commit Log): Lưu trạng thái commit của tất cả các giao dịch.
    • Các vùng nhớ chuyên biệt khác: Memory for Lock, Vacuum Buffer (cho tiến trình autovacuum worker), Work Memory (work_mem, mặc định 4 MB cho các thao tác ORDER BY, DISTINCT, MERGE JOIN), Maintenance Work Memory (maintenance_work_mem, mặc định 64 MB cho VACUUM, CREATE INDEX), và Temp Buffer (temp_buffers, mặc định 8 MB).
  • Hệ thống tiến trình:
    • Postmaster Process: Tiến trình khởi tạo đầu tiên điều phối toàn bộ hệ thống.
    • Background Processes: Gồm Background writer, Checkpointer, Autovacuum launcher, WAL writer, Statistics collector, Logging collector, Archiver.
    • Backend Process: Tiếp nhận truy vấn từ người dùng (giới hạn bởi max_connections, mặc định là 100).
    • Client Process: Đại diện cho kết nối của phía người dùng.
  • Cấu trúc lưu trữ: Database Cluster (khởi tạo qua initdb(), chứa tệp cấu hình postgresql.conf, pg_hba.conf và 3 cơ sở dữ liệu mặc định gồm template0, template1, postgres), Tablespace, Schema (mặc định là public) và 3 dạng bảng (unlogged table, temporary table, và bảng thông thường).
Thông số giới hạn Giá trị kỹ thuật trong PostgreSQL
Dung lượng tối đa của cơ sở dữ liệu Không giới hạn
Dung lượng bảng tối đa 32 TB
Dung lượng tối đa của cột 1,6 TB
Dung lượng tối đa của trường dữ liệu 1 GB
Số hàng tối đa mỗi bảng Không giới hạn
Số cột tối đa của mỗi bảng 250 - 1600 (tùy thuộc loại cột)
Số lượng chỉ số (index) tối đa mỗi bảng Không giới hạn

CHƯƠNG 2. CƠ CHẾ MÃ HOÁ TRONG HQTCSDL POSTGRESQL

Chương 2 phân tích chuyên sâu các mối đe dọa an ninh, nguyên lý phân quyền, cơ chế kiểm toán và hai giải pháp mã hóa dữ liệu:

  • Phân tích rủi ro an toàn thông tin:
    • Tấn công nội bộ và bên ngoài: Nguy cơ truy cập vật lý trái phép vào tệp dữ liệu dạng rõ và tấn công phi kỹ thuật (Social Engineering).
    • Tấn công leo thang đặc quyền: Tận dụng sơ hở trong việc gán quyền mặc định của ba nhóm người dùng hệ thống (Admin, Reader, Writer).
    • Tấn công xác thực yếu: Dò quét mật khẩu qua vét cạn (brute-force) khi hệ thống không thiết lập chính sách khóa tài khoản.
    • Tấn công từ chối dịch vụ (DoS/SYN Flood): Khai thác quá trình bắt tay ba bước của TCP trên các cổng dịch vụ mở của PostgreSQL (dải 2424 - 2440 TCP).
  • Cơ chế phân quyền và kiểm toán:
    • Quản lý vai trò (Role): Khái niệm Role bao gồm login role (tạo bằng CREATE ROLE ... WITH LOGIN hoặc CREATE USER) và group role; phân quyền thông qua lệnh GRANT (CONNECT, USAGE, SELECT, INSERT, UPDATE, DELETE, TRUNCATE, EXECUTE, REFERENCES, TRIGGER).
    • Kiểm toán pgAudit: Cài đặt tiện ích mở rộng pgaudit14_12, kích hoạt qua tham số shared_preload_libraries = 'pgaudit, pg_stat_statements' trong postgresql.conf và điều chỉnh các biến pgaudit.log, pgaudit.log_catalog, pgaudit.log_level, pgaudit.log_client.
    • Chính sách bảo mật cấp hàng (RLS): Kích hoạt qua lệnh ALTER TABLE ... ENABLE ROW LEVEL SECURITY và cấu hình qua CREATE POLICY.
Lệnh áp dụng Biểu thức USING Biểu thức WITH CHECK
SELECT / ALL Áp dụng cho các hàng có sẵn Không áp dụng
INSERT / ALL Không áp dụng Áp dụng cho các hàng mới được thêm vào
UPDATE / ALL Xác định các hàng có sẵn được phép thấy/sửa Xác định các giá trị hàng mới được phép ghi
DELETE / ALL Xác định các hàng có sẵn được phép xóa Không áp dụng
  • Cơ chế mã hóa dữ liệu lưu trữ (TDE):
    • TDE mức cột (Column-level TDE): Bảo vệ dữ liệu nhạy cảm cụ thể (thẻ tín dụng, số an sinh xã hội) bằng kiến trúc khóa 2 lớp: Master Encryption Key mã hóa Table Key.
    • TDE mức không gian bảng (Tablespace TDE): Tự động mã hóa toàn bộ dữ liệu trong một phân vùng lưu trữ, trong suốt đối với người dùng và ứng dụng.
    • Thuật toán hỗ trợ: AES, 3DES, Blowfish.
  • Cơ chế mã hóa kênh truyền (TLS 1.3):
    • Thực hiện xử lý dữ liệu trước khi chuyển xuống tầng giao vận TCP. Quá trình bắt tay 3 bước tinh giản: Client gửi Client Hello (chứa Nonce, Cipher Suites, Key_share), Server phản hồi Server Hello (chọn Cipher Suite, gửi Key_share, chứng thư số Certificate) và kết thúc bằng thông điệp Finished.
    • Quy trình khởi tạo chứng thư số tự ký hoặc hạ tầng Root CA bằng OpenSSL (openssl req, openssl x509).

CHƯƠNG 3. TRIỂN KHAI CÀI ĐẶT MỘT SỐ CƠ CHẾ MÃ HÓA DỮ LIỆU TRONG POSTGRESQL

Chương 3 trình bày các bước cấu hình thực nghiệm và đối soát kết quả:

  • Quy trình triển khai dịch vụ:
    • Cài đặt kho lưu trữ PostgreSQL 12 repository và phần mềm máy chủ PostgreSQL 12.
    • Khởi tạo Database Cluster và thiết lập tài khoản quản trị, mật khẩu người dùng.
    • Thiết lập cơ sở dữ liệu thử nghiệm và bảng dữ liệu mẫu.
  • Triển khai bảo mật kênh truyền với TLS 1.3:
    • Khởi tạo cặp khóa server.key và chứng thư server.crt thông qua OpenSSL.
    • Hiệu chỉnh tệp cấu hình postgresql.conf (kích hoạt ssl = on, chỉ định đường dẫn tệp khóa và chứng thư) và tệp pg_hba.conf (yêu cầu phương thức kết nối an toàn qua hostssl).
    • Kiểm thử kết nối từ máy trạm Client và sử dụng phần mềm Wireshark bắt gói tin: Khi chưa kích hoạt TLS, toàn bộ câu truy vấn và nội dung dữ liệu hiển thị ở dạng văn bản rõ (plaintext); khi kích hoạt TLS 1.3 thành công, toàn bộ dữ liệu luân chuyển đều bị xáo trộn dưới dạng mã hóa phân mảnh của Record Protocol.
  • Triển khai mã hóa dữ liệu lưu trữ mức cột (TDE / pgcrypto):
    • Thiết lập mã hóa dữ liệu trên cột nhạy cảm của bảng dữ liệu đã khởi tạo.
    • Kiểm tra trạng thái lưu trữ trên đĩa: Dữ liệu cột chuyển sang dạng nhị phân/chuỗi mã hóa không thể đọc trực tiếp.
    • Thực thi truy vấn giải mã dữ liệu thông qua hàm pgp_sym_decrypt() với mật mã hợp lệ để trích xuất dữ liệu gốc.

Thiết kế và triển khai

Hệ thống thực nghiệm được thiết kế theo mô hình mạng phân tán Client - PostgreSQL Server, vận hành trên nền tảng máy chủ Linux:

  • Công nghệ và công cụ sử dụng:
    • Hệ quản trị cơ sở dữ liệu: PostgreSQL phiên bản 12.
    • Hệ điều hành: Linux (hỗ trợ các phân phối CentOS / Ubuntu).
    • Công cụ mật mã: Bộ công cụ OpenSSL (sinh khóa RSA, yêu cầu ký CSR và cấp phát chứng thư số X.509 với thời hạn 365 ngày cho máy chủ, 3650 ngày cho Root CA).
    • Tiện ích kiểm toán: Tiện ích mở rộng pgaudit14_12 cấu hình qua tham số tiền tải thư viện shared_preload_libraries.
    • Công cụ giám sát: Phần mềm Wireshark phục vụ phân tích gói tin mạng trên tầng giao vận TCP.
    • Hàm mật mã dữ liệu: Sử dụng gói hàm pgcrypto với cơ chế giải mã đối xứng pgp_sym_decrypt().
  • Quy trình kiểm thử:
    1. Kiểm thử kênh truyền: Phân tích cấu trúc gói tin TCP truyền nhận giữa máy trạm và máy chủ ở hai trạng thái ssl = off và ssl = on.
    2. Kiểm thử lưu trữ: Xác minh việc bảo vệ dữ liệu cột nhạy cảm trước các thao tác truy vấn trực tiếp không có khóa giải mã.

Kết quả và đóng góp

Kết quả nghiên cứu chính

  • Hệ thống hóa toàn diện thông số kỹ thuật, kiến trúc quản lý bộ nhớ và tiến trình của PostgreSQL (chứng minh khả năng quản lý bảng dữ liệu lên đến 32 TB và dung lượng cơ sở dữ liệu không giới hạn).
  • Triển khai thành công cơ chế mã hóa kênh truyền TLS 1.3: Dữ liệu trao đổi giữa Client và Server được bảo vệ hoàn toàn, ngăn chặn nguy cơ bị đánh cắp thông tin qua kỹ thuật nghe lén trên đường truyền mạng.
  • Thiết lập hoàn chỉnh cơ chế mã hóa mức cột: Dữ liệu nhạy cảm được mã hóa an toàn trên thiết bị lưu trữ vật lý, chỉ có thể đọc được khi sử dụng đúng hàm giải mã pgp_sym_decrypt() cùng khóa bí mật hợp lệ.
  • Xây dựng ma trận phân quyền và thiết lập các tham số ghi nhật ký kiểm toán hệ thống chi tiết qua tiện ích pgAudit.

Giải pháp và kiến nghị của tác giả

  • Quản trị viên cần thay đổi toàn bộ mật khẩu mặc định của các tài khoản hệ thống (Admin, Reader, Writer) ngay sau khi cài đặt.
  • Áp dụng triệt để chính sách bảo mật cấp hàng (RLS) kết hợp giữa chính sách cho phép (PERMISSIVE) và chính sách hạn chế (RESTRICTIVE) để kiểm soát chặt chẽ quyền truy cập dữ liệu.
  • Bắt buộc kích hoạt giao thức TLS 1.3 trên tất cả các kết nối từ xa và định kỳ xoay vòng chứng thư số máy chủ.

Đóng góp của đề tài

Cung cấp một tài liệu kỹ thuật thực hành hoàn chỉnh, tích hợp đa tầng bảo mật (Network Security với TLS 1.3, Access Control với RLS, Auditing với pgAudit và Storage Security với TDE/pgcrypto) dành riêng cho HQTCSDL PostgreSQL 12.


Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Mô hình thực nghiệm mới tập trung đánh giá mã hóa dữ liệu lưu trữ ở cấp độ cột (Column-level), chưa triển khai thực nghiệm sâu đối với mã hóa toàn bộ không gian bảng (Tablespace TDE).
    • Chưa đo lường định lượng chi tiết mức độ suy giảm hiệu năng (CPU/RAM overhead và độ trễ I/O) khi hệ thống chịu tải lớn với số lượng kết nối đồng thời cao trong trạng thái bật toàn bộ các cơ chế mã hóa.
  • Hướng nghiên cứu tiếp:
    • Mở rộng triển khai cơ chế mã hóa trong suốt trên toàn bộ không gian bảng (Tablespace TDE).
    • Nghiên cứu tích hợp các mô-đun quản lý khóa bảo mật chuyên dụng bên ngoài (như phần cứng HSM hoặc hệ thống quản lý khóa KMS).
    • Đánh giá hiệu năng và tính sẵn sàng của hệ thống mã hóa trong các mô hình cụm máy chủ phân tán (Streaming Replication / Active Standby).

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho:

  • Sinh viên và giảng viên ngành Công nghệ thông tin, Quản trị mạng, An toàn thông tin: Nắm vững cấu trúc vận hành nội tại của PostgreSQL (Shared Memory, Background Processes) và cơ chế hoạt động của giao thức TLS 1.3.
  • Quản trị viên cơ sở dữ liệu (DBA) và kỹ sư an ninh mạng: Tham khảo quy trình từng bước thiết lập chứng thư số OpenSSL, cấu hình tệp postgresql.conf, pg_hba.conf, thiết lập chính sách bảo mật cấp hàng RLS và cài đặt tiện ích kiểm toán pgAudit.

Câu hỏi thường gặp

1. Bộ nhớ chung (Shared Memory) trong HQTCSDL PostgreSQL bao gồm những thành phần bộ đệm quan trọng nào?

Theo nội dung đồ án, bộ nhớ chung của PostgreSQL bao gồm các thành phần chính: Shared Buffer (bộ đệm dữ liệu đọc/ghi), WAL Buffer (bộ đệm nhật ký giao dịch, mặc định bằng 1/16 Shared Buffer), CLOG Buffer (bộ đệm lưu trạng thái commit của các giao dịch), Memory for Lock (bộ nhớ lưu trữ các khóa lock), Vacuum Buffer, Work Memory, Maintenance Work Memory và Temp Buffer.

2. Sự khác biệt giữa hai biểu thức USING và WITH CHECK trong chính sách bảo mật cấp hàng (RLS) là gì?

Biểu thức USING được sử dụng để kiểm tra các hàng dữ liệu hiện có trong bảng nhằm xác định xem hàng đó có hiển thị đối với người dùng trong câu lệnh SELECT, UPDATE hoặc DELETE hay không. Trong khi đó, biểu thức WITH CHECK được thực thi đối với các hàng mới được thêm vào hoặc sửa đổi qua lệnh INSERT và UPDATE để xác định xem thao tác ghi dữ liệu có hợp lệ hay bị từ chối.

3. Trong PostgreSQL, ba tài khoản/vai trò mặc định khi khởi tạo cơ sở dữ liệu có những quyền hạn gì và tiềm ẩn nguy cơ nào?

Hệ thống mặc định cấp quyền cho ba vai trò: Admin (toàn quyền truy cập mọi chức năng không giới hạn), Reader (chỉ có quyền đọc/truy vấn bản ghi, không sửa xóa và không xem thông tin nội bộ), và Writer (có quyền đọc, tạo mới, cập nhật và xóa bản ghi). Nguy cơ an toàn thông tin xuất hiện khi quản trị viên không thay đổi mật khẩu mặc định của các tài khoản này, tạo điều kiện cho kẻ tấn công dễ dàng chiếm quyền điều khiển hoặc đánh cắp dữ liệu.

4. Quá trình bắt tay (Handshake) của giao thức TLS 1.3 áp dụng cho PostgreSQL diễn ra qua những bước nào?

Quá trình bắt tay TLS 1.3 gồm 3 bước:

  • Bước 1: Phía Client gửi gói tin Client Hello chứa phiên bản giao thức, số ngẫu nhiên (Nonce), danh sách bộ thuật toán hỗ trợ (Supported Cipher Suites) và khóa công khai tạm thời (Key_share).
  • Bước 2: Máy chủ Server phản hồi gói tin Server Hello chứa bộ thuật toán được chọn (Selected Cipher Suite), khóa công khai của máy chủ (Key_share) và chứng thư số (Certificate).
  • Bước 3: Hai bên hoàn tất quá trình bắt tay với thông điệp Finished và chuyển sang giao thức bản ghi (Record Protocol) để mã hóa luồng dữ liệu truyền nhận.

5. Tiện ích mở rộng nào được sử dụng để kiểm toán hệ thống trong đồ án và tham số cấu hình nào bắt buộc phải khai báo trong postgresql.conf?

Đồ án sử dụng tiện ích mở rộng pgAudit (phiên bản pgaudit14_12). Để kích hoạt tiện ích này, quản trị viên bắt buộc phải thêm khai báo shared_preload_libraries = 'pgaudit, pg_stat_statements' vào tệp cấu hình postgresql.conf và khởi động lại dịch vụ trước khi thực thi lệnh CREATE EXTENSION pgaudit;.


Kết luận

Đồ án tốt nghiệp của tác giả Nguyễn Quốc Anh đã cung cấp cái nhìn toàn diện về mặt lý thuyết và thực tiễn kỹ thuật đối với bài toán đảm bảo an toàn cho HQTCSDL PostgreSQL. Nghiên cứu đã làm rõ cấu trúc nội tại của PostgreSQL, phân tích các vector tấn công phổ biến và triển khai thành công các giải pháp mã hóa kênh truyền với TLS 1.3 kết hợp mã hóa lưu trữ mức cột và kiểm toán pgAudit. Kết quả thực nghiệm bằng công cụ Wireshark và hàm mật mã đã chứng minh tính hiệu quả của các giải pháp bảo mật trong việc duy trì tính bí mật, toàn vẹn và sẵn sàng của dữ liệu. Đây là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho công tác nghiên cứu học thuật cũng như triển khai quản trị cơ sở dữ liệu an toàn trong thực tế.