Tìm hiểu Cơ chế An Toàn Cơ Bản trong Oracle 21c (Học viện KT Mật Mã)

Tìm hiểu cơ chế bảo mật cơ bản của Oracle 21c. Khám phá các biện pháp an toàn giúp bảo vệ dữ liệu và hệ thống của bạn. An ninh Oracle 21c.

Trường đại học

Học Viện Kỹ Thuật Mật Mã

Chuyên ngành

An Toàn Cơ Sở Dữ Liệu

Người đăng

Ẩn danh

Thể loại

Báo Cáo Môn Học

2024

50
25
1

Phí lưu trữ

30 Point

Tóm tắt

I. Oracle 21c Tổng quan về CSDL và Cơ Chế An Toàn

Oracle 21c là hệ quản trị cơ sở dữ liệu (DBMS) quan hệ mạnh mẽ, được phát triển bởi Oracle Corporation. Nó cung cấp nền tảng để lưu trữ, quản lý và truy vấn dữ liệu một cách hiệu quả, sử dụng ngôn ngữ truy vấn SQL và PL/SQL. Kiến trúc của Oracle Database dựa trên các phần tử dữ liệu kết nối thông qua cấu trúc bảng, tuân thủ các ràng buộc ACID để đảm bảo độ tin cậy và chính xác của dữ liệu. Phiên bản 21c tập trung vào điện toán đám mây và cung cấp các tính năng mới như Mảng Blockchain, kiểu dữ liệu Native JSON, SQL Macros và cải tiến tính năng CSDL trên bộ nhớ (In-Memory). Các cơ chế an toàn trong Oracle 21c bao gồm mã hóa, xác thực, phân quyền, quản lý rủi ro và kiểm soát truy cập. Việc nắm vững và áp dụng các cơ chế này là rất quan trọng để bảo vệ dữ liệu khỏi các mối đe dọa bảo mật. Theo [1], 'Database Security' của Alfred Basta và Melissa Zgola, việc hiểu rõ và triển khai các cơ chế an toàn cơ bản là nền tảng cho mọi chiến lược bảo mật dữ liệu thành công. Trong đó, mã hóa đóng vai trò then chốt trong việc bảo vệ dữ liệu khi lưu trữ và truyền tải. Xác thực đảm bảo chỉ những người dùng được phép mới có thể truy cập hệ thống. Phân quyền kiểm soát quyền truy cập của người dùng vào các tài nguyên cụ thể. Quản lý rủi ro giúp đánh giá và giảm thiểu các mối đe dọa tiềm ẩn. Cuối cùng, kiểm soát truy cập đảm bảo chỉ những người dùng được ủy quyền mới có thể truy cập dữ liệu nhạy cảm. Việc kết hợp các cơ chế này tạo ra một lớp bảo vệ toàn diện cho cơ sở dữ liệu Oracle.

1.1. Giới thiệu chi tiết về hệ quản trị CSDL Oracle 21c

Oracle 21c không chỉ là một hệ quản trị cơ sở dữ liệu, mà còn là một nền tảng toàn diện cho việc quản lý và bảo vệ dữ liệu. Nó hỗ trợ nhiều mô hình dữ liệu và phương pháp truy cập, đơn giản hóa việc hợp nhất dữ liệu và đảm bảo tính cô lập. Phiên bản 21c cung cấp các tính năng tiên tiến như mảng blockchain, cho phép lưu trữ dữ liệu một cách an toàn và minh bạch. Kiểu dữ liệu Native JSON giúp làm việc với dữ liệu JSON một cách dễ dàng và hiệu quả. SQL Macros cho phép tái sử dụng các đoạn mã SQL, giúp giảm thiểu lỗi và tăng tốc độ phát triển. Ngoài ra, các cải tiến về CSDL trên bộ nhớ (In-Memory) giúp tăng hiệu suất truy vấn và xử lý dữ liệu. Theo [2] 'Pro Oracle Database 18c Administration' của Michelle Malcher, việc tận dụng các tính năng mới trong Oracle 21c có thể cải thiện đáng kể hiệu suất và khả năng mở rộng của hệ thống. Điều quan trọng là phải hiểu rõ các yêu cầu bảo mật của tổ chức và lựa chọn các cơ chế an toàn phù hợp để đáp ứng các yêu cầu đó.

1.2. Tổng quan các cơ chế an toàn thông tin cốt lõi trong CSDL

Các cơ chế an toàn thông tin cốt lõi bao gồm mã hóa, xác thực, phân quyền, quản lý rủi rokiểm soát truy cập. Mã hóa chuyển đổi dữ liệu thành một định dạng không thể đọc được, ngăn chặn truy cập trái phép. Xác thực xác minh danh tính của người dùng hoặc thiết bị trước khi cấp quyền truy cập. Phân quyền kiểm soát quyền truy cập của người dùng vào các tài nguyên cụ thể. Quản lý rủi ro xác định, đánh giá và giảm thiểu các mối đe dọa bảo mật. Kiểm soát truy cập đảm bảo chỉ những người dùng được ủy quyền mới có thể truy cập dữ liệu nhạy cảm. Theo [3], Giáo trình An toàn cơ sở dữ liệu của Học viện Kỹ thuật Mật mã, việc triển khai các cơ chế an toàn này đòi hỏi sự hiểu biết sâu sắc về các nguyên tắc bảo mật và các công cụ có sẵn. Điều quan trọng là phải thường xuyên đánh giá và cập nhật các biện pháp bảo mật để đối phó với các mối đe dọa mới.

II. Xác Thực Oracle 21c Bí quyết An Toàn Cho Người Mới

Xác thực là quá trình xác nhận danh tính của người dùng hoặc ứng dụng trước khi cấp quyền truy cập vào cơ sở dữ liệu. Oracle 21c cung cấp nhiều cơ chế xác thực khác nhau, bao gồm xác thực bởi hệ điều hành, xác thực bởi cơ sở dữ liệu và xác thực bởi mạng hoặc bên thứ ba. Xác thực bởi hệ điều hành cho phép người dùng kết nối vào cơ sở dữ liệu mà không cần mật khẩu bổ sung, nếu họ đã đăng nhập vào máy chủ cơ sở dữ liệu thông qua một tài khoản hệ điều hành được ủy quyền. Xác thực bởi cơ sở dữ liệu sử dụng thông tin được lưu trữ trong cơ sở dữ liệu để xác thực người dùng. Xác thực bởi mạng hoặc bên thứ ba sử dụng các dịch vụ bảo mật của bên thứ ba để xác thực người dùng. Oracle khuyến nghị sử dụng xác thực bởi cơ sở dữ liệu hoặc xác thực bởi mạng hoặc bên thứ ba để tăng cường bảo mật. Các phương pháp xác thực mạnh như xác thực đa yếu tố (MFA) cũng nên được xem xét để bảo vệ chống lại các cuộc tấn công dựa trên mật khẩu. Việc quản lý mật khẩu mạnh, bao gồm việc yêu cầu mật khẩu phức tạp và thay đổi mật khẩu định kỳ, là rất quan trọng. Ngoài ra, việc theo dõi và ghi nhật ký các sự kiện xác thực có thể giúp phát hiện và ngăn chặn các hoạt động đáng ngờ.

2.1. Cách xác thực bằng hệ điều hành trong Oracle 21c

Xác thực bởi hệ điều hành là một cơ chế tiện lợi, nhưng cần được cấu hình cẩn thận để tránh các lỗ hổng bảo mật. Để sử dụng xác thực bởi hệ điều hành, người dùng phải thuộc một nhóm hệ điều hành được ủy quyền. Oracle bỏ qua tên người dùng/mật khẩu được cung cấp, do người dùng đã được xác thực trước đó qua hệ điều hành. Cần kiểm tra giá trị của tham số khởi tạo Oracle OS_AUTHENT_PREFIX. Tiền tố mặc định là “OPS$”. Cần tạo người dùng cơ sở dữ liệu để cho phép kết nối được xác thực hệ điều hành bằng cách tạo user Oracle theo cách thông thường, nhưng tên user phải là giá trị tiền tố được nối với tên user trong windows. Cần thêm dòng cấu hình SQLNET.AUTHENTICATION_SERVICES= (NTS) tại tệp %ORACLE_HOME%\network\admin\sqlnet.ora. Nó đảm bảo rằng Oracle sử dụng cơ chế bảo mật của Windows để xác thực người dùng. Tuy nhiên, cần đảm bảo rằng chỉ những người dùng được ủy quyền mới có quyền truy cập vào máy chủ cơ sở dữ liệu và tài khoản hệ điều hành của họ được bảo vệ bằng mật khẩu mạnh. Việc sử dụng xác thực hai yếu tố (2FA) cho các tài khoản hệ điều hành có thể tăng cường đáng kể bảo mật.

2.2. Hướng dẫn xác thực bằng Database trong Oracle 21c

Xác thực bằng cơ sở dữ liệu là một cơ chế an toàn hơn so với xác thực bởi hệ điều hành. Để sử dụng xác thực bằng cơ sở dữ liệu, mỗi người dùng phải được tạo một tài khoản với mật khẩu. Oracle lưu trữ mật khẩu của người dùng trong từ điển dữ liệu (data dictionary) ở dạng được mã hóa để ngăn chặn sự thay đổi trái phép. Để thiết lập giao thức xác thực khác được máy khách hoặc cơ sở dữ liệu cho phép, DBA có thể điều chỉnh tham số SQLNET.ALLOWED_LOGON_VERSION trong tệp sqlnet.ora của máy chủ. Sau đó, mỗi lần thực hiện kết nối, nếu máy khách hoặc máy chủ không đáp ứng phiên bản tối thiểu do đối tác chỉ định thì quá trình xác thực sẽ không thành công với lỗi ORA-28040. Cú pháp tạo user là: CREAT USER user IDENTIFIED BY password [PASSWORD EXPIRE] [ACCOUNT {LOCK | UNLOCK}]. Cần lưu ý thiết lập tùy chọn PASSWORD EXPIRE trong lệnh tạo user, khi user sử dụng SQL*PLUS để kết nối tới database, mỗi lần kết nối user lại phải nạp mới mật khẩu.

III. Mã Hóa Dữ Liệu Oracle 21c Hướng Dẫn Bảo Vệ Tối Ưu

Mã hóa dữ liệu là một cơ chế quan trọng để bảo vệ dữ liệu nhạy cảm. Oracle 21c cung cấp tính năng mã hóa dữ liệu trong suốt (TDE), cho phép mã hóa dữ liệu được lưu trữ trong bảng, tablespace hoặc toàn bộ database. TDE giúp bảo vệ dữ liệu được lưu trữ trên phương tiện (còn gọi là dữ liệu ở trạng thái nghỉ) trong trường hợp phương tiện lưu trữ hoặc tệp dữ liệu bị đánh cắp. Sau khi dữ liệu được mã hóa, dữ liệu này sẽ được giải mã một cách minh bạch cho người dùng hoặc ứng dụng được ủy quyền khi họ truy cập dữ liệu. Để ngăn chặn việc giải mã trái phép, TDE lưu trữ các khóa mã hóa trong mô-đun bảo mật bên ngoài cơ sở dữ liệu, được gọi là keystore (kho khóa). TDE chỉ mã hóa dữ liệu ở mức File, dữ liệu khi lưu trong File sẽ ở dạng mã hóa. Người dùng có quyền truy cập, ví dụ quyền SELECT đến dữ liệu thì mặc nhiên sẽ nhìn thấy dữ liệu ở dạng bản rõ. TDE sử dụng khóa mã hóa dữ liệu (Data Encryption Key – DEK) và khóa chính (Master Key). Có hai loại mã hóa chính là mã hóa theo cột và mã hóa theo tablespace. Mã hóa cột được sử dụng để bảo vệ dữ liệu nhạy cảm trong các cột của bảng. Mã hóa tablespace cho phép mã hóa toàn bộ vùng bảng.

3.1. Tìm hiểu về TDE Transparent Data Encryption trong Oracle

TDE là một tính năng mạnh mẽ giúp bảo vệ dữ liệu một cách minh bạch. Khi sử dụng TDE, người dùng hoặc ứng dụng CSDL không cần biết liệu dữ liệu trong một bảng cụ thể có được mã hóa trên đĩa hay không. Trong trường hợp các tệp dữ liệu trên đĩa hoặc phương tiện sao lưu bị đánh cắp, dữ liệu sẽ không bị xâm phạm. TDE mã hóa tất cả dữ liệu trong một vùng bảng, việc này có thể thay thế cho mã hóa cột nếu cần mã hóa nhiều cột trong một bảng. Theo [5] https://docs.com/en/database/oracle/oracle-database/21/dbseg/part_1.html, TDE sử dụng kiến trúc hai tầng, dựa trên khóa để mã hóa trong suốt và giải mã không gian bảng. Khóa chính TDE cũng có chức năng và cách thức lưu trữ như mã hóa cột TDE. Mã hóa tablespace TDE cũng cho phép phạm vi chỉ mục quét dữ liệu trong không gian bảng được mã hóa. Điều này là không thể với mã hóa cột TDE. Lưu ý, dữ liệu mã hóa được bảo vệ trong các hoạt động như JOIN và SORT.

3.2. Cách thức triển khai mã hóa Tablespace trong Oracle 21c

Để triển khai mã hóa tablespace trong Oracle 21c, cần thực hiện các bước sau: Tạo ví (wallet) trước khi tạo bảng với với cột mã hóa, phải tạo khóa bí mật lưu trong ví. Cần vào đường dẫn thư mục cài đặt Oracle và tạo thư mục wallet. Mở tập tin sqlnet.ora và thêm thông tin cấu hình cho thư mục wallet. Tiếp theo, đăng nhập bằng sysdba và khởi tạo Master Key bằng lệnh: ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "lmc". Sau đó, tạo tablespace mã hóa bằng mệnh đề ENCRYPTION với một tùy chọn USING để chỉ định thuật toán mã hóa. Nếu mệnh đề USING bị bỏ qua, thuật toán mã hóa mặc định là 'AES128'. Cuối cùng, cần tạo 1 user và 1 quota cho nó. Để kiểm tra việc mã hóa bằng cách tạo bảng và chèn các bản ghi vào bảng và kiểm tra file .dbf.

IV. Uỷ Quyền Oracle 21c Phương Pháp Kiểm Soát Truy Cập

Ủy quyền (Authorization) trong hệ quản trị cơ sở dữ liệu (DBMS) là quá trình xác định và quản lý quyền truy cập của người dùng đối với các tài nguyên dữ liệu trong cơ sở dữ liệu. Các quyền này thường dựa trên vai trò, thuộc tính của người dùng hoặc các tiêu chí khác do các chính sách bảo mật của tổ chức xác định. Điều này đảm bảo rằng chỉ những người dùng hoặc hệ thống được phép mới có thể thực hiện các hành động như truy vấn, thêm, sửa đổi, hoặc xóa dữ liệu. Nó đóng vai trò quan trọng trong việc bảo vệ dữ liệu nhạy cảm, duy trì tính toàn vẹn của hệ thống và đảm bảo trách nhiệm của người dùng. Cơ chế uỷ quyền trong Oracle 21c bao gồm tạo và quản lý tài khoản người dùng, đặc quyền người dùng và vai trò (Role). Mỗi tài khoản người dùng có một tên duy nhất, một phương thức xác thực, một tablespace mặc định, một tablespace chứa dữ liệu tạm thời (temp), một profile, một nhóm người dùng khởi tạo (được quản lý bởi Resource Manager), và trạng thái tài khoản. Đặc quyền người dùng cho phép quản trị viên xác định ai có thể truy cập dữ liệu nào, thực hiện hành động nào và truy cập dữ liệu đó như thế nào.

4.1. Quản lý tài khoản người dùng và đặc quyền trong Oracle

Để tạo tài khoản người dùng trong Oracle Database, sử dụng câu lệnh CREATE USER. Theo mặc định, một người dùng mới được tạo không có bất kỳ quyền nào trong cơ sở dữ liệu. Để loại bỏ tài khoản người dùng trong Oracle Database 21c, có thể sử dụng câu lệnh DROP USER + [username]. Tuy nhiên, cần lưu ý việc xóa tài khoản người dùng sẽ xóa tất cả các đối tượng được sở hữu bởi người dùng đó. Để cấp đặc quyền cho người dùng, có thể sử dụng câu lệnh GRANT. Cú pháp cơ bản như sau: GRANT privileges ON object TO [user | role];. Có hai loại đặc quyền chính trong Oracle Database: đặc quyền hệ thống và đặc quyền đối tượng. Ngoài ra, có thể sử dụng các tùy chọn bổ sung để tinh chỉnh cách thức gán quyền. Trong Oracle Database 21c, để thu hồi các đặc quyền đã được cấp trước đó cho người dùng hoặc nhóm người dùng, sử dụng câu lệnh REVOKE. Cấu trúc cơ bản của câu lệnh REVOKE: REVOKE privileges ON object FROM [user | role];

4.2. Sử dụng Roles để đơn giản hóa việc quản lý ủy quyền

Oracle cung cấp công cụ cho phép quản lý một cách dễ dàng các quyền thông qua việc sử dụng vai trò (Roles). Các vai trò có thể được tạo ra bằng việc sử dụng câu lệnh theo cú pháp: CREATE ROLE role_name [NOT IDENTIFIED | IDENTIFIED {BY password | EXTERNALLY }]. Để sửa lại vai trò đã tồn tại, sử dụng cú pháp: ALTER ROLE role_name {NOT IDENTIFIED | IDENTIFIED {BY password | EXTERNALLY }};. Khi đã có sẵn vai trò, có thể gán quyền cho người dùng qua các vai trò đó qua cú pháp: GRANT role_name TO {user|role|PUBLIC} [WITH ADMIN OPTION]. Thông tin về các chức danh được lấy trong data dictionary. Có rất nhiều tables và views chứa thông tin về các quyền được gán cho người dùng. Việc sử dụng Roles giúp đơn giản hóa việc quản lý ủy quyền bằng cách cho phép gán các quyền cho một nhóm người dùng thay vì phải gán quyền cho từng người dùng riêng lẻ.

V. Kiểm Toán Oracle 21c Cách Giám Sát An Ninh Hệ Thống

Kiểm toán (auditing) được hiểu là toàn bộ các hoạt động giám sát và ghi lại những gì xảy ra đối với hệ thống công nghệ thông tin. Các thông tin được ghi lại có thể là những thay đổi về trạng thái hoạt động của hệ thống hay các tương tác qua lại giữa hệ thống và người dùng. Dựa trên những bản ghi kiểm toán, quản trị viên cơ sở dữ liệu (DBA) sẽ phát hiện kịp thời những tấn công hay lỗ hổng ảnh hưởng đến cơ sở dữ liệu, từ đó ngăn chặn hành vi phá hoại hay xâm phạm của tin tặc, nhanh chóng sửa đổi những bất thường của hệ thống. Oracle cung cấp các cơ chế kiểm toán cơ bản trong CSDL bao gồm kiểm toán bắt buộc, kiểm toán chuẩn, kiểm toán dựa trên giá trị, kiểm toán mịn và kiểm toán DBA. Các bản ghi kiểm toán (Audit record) bao gồm các thông tin như hoạt động đã được kiểm toán, người dùng thực hiện hoạt động và ngày giờ của hoạt động. Các bản ghi kiểm toán có thể được lưu trữ trong một bảng từ điển dữ liệu, gọi là dấu vết kiểm toán cơ sở dữ liệu (Database audit trail), hoặc trong các tệp hệ điều hành, gọi là dấu vết kiểm toán hệ điều hành (Operating system audit trail). AUD$ trong Oracle là một bảng được sử dụng để lưu trữ các bản ghi kiểm toán (audit records) trong cơ sở dữ liệu.

5.1. Các loại kiểm toán chính trong Oracle Database 21c

Các loại kiểm toán chính bao gồm Statement Auditing (Kiểm toán câu lệnh), Privilege auditing (Kiểm toán quyền) và Schema Object Auditing (Kiểm toán đối tượng lược đồ). Statement Auditing là kiểm toán những lệnh hoặc nhóm câu lệnh trên từng đối tượng. Có thể kiểm toán trên mọi người dùng hoặc trên 1 nhóm người dùng cụ thể hoặc trên Role. Privilege auditing là việc kiểm toán các câu lệnh sử dụng quyền hệ thống. Schema Object Auditing có thể kiểm toán toàn bộ các câu lệnh SELECT và DML được cho phép bởi quyền đối tượng lược đồ (schema object privileges) như câu lệnh SELECT hoặc DELETE trên một bảng cụ thể. Các câu lệnh GRANT và REVOKE điều khiển các quyền này cũng được kiểm toán.

5.2. Các công cụ kiểm toán hiệu quả trong Oracle 21c

Oracle cung cấp các công cụ kiểm toán hiệu quả như Oracle Audit, kiểm toán bằng trigger, kiểm toán bằng application server log và kiểm toán mịn (Fine-grained auditing- FGA). Oracle Audit có thể kiểm toán tất cả các quyền gán cho người dùng hoặc role trong CSDL. Kiểm toán bằng trigger cho phép tự động thực thi khi có các sự kiện của hệ thống xảy ra. Kiểm toán bằng application server log là dạng kiểm toán cơ bản. Fine-Grained Auditing (FGA) do package DBMS_FGA quản lý, kiểm toán những truy cập dựa theo nội dung và có thể kiểm toán được cấp đến hàng và cột.

VI. VPD Oracle 21c Hướng Dẫn Xây Dựng Bảo Mật Tầng Dữ Liệu

VPD (Oracle Virtual Private Database) là một tính năng mạnh mẽ trong cơ sở dữ liệu Oracle giúp tăng cường bảo mật dữ liệu bằng cách kiểm soát truy cập dữ liệu ở mức hàng và cột. Về cơ bản, khi người dùng gửi một câu lệnh SQL để truy cập một bảng, khung nhìn (view) hoặc từ đồng nghĩa (synonym) được bảo vệ bởi VPD, cơ sở dữ liệu Oracle sẽ tự động sửa đổi câu lệnh đó để thêm vào một mệnh đề WHERE động. Mệnh đề này được tạo ra bởi một hàm thực hiện chính sách bảo mật, gọi là predicate, và nó giới hạn dữ liệu mà người dùng có thể truy cập. Việc này diễn ra một cách trong suốt với người dùng, nghĩa là họ không thấy được sự thay đổi của câu lệnh SQL. Các thành phần của VPD bao gồm một chính sách VPD sử dụng một hàm để tạo ra mệnh đề WHERE động và một chính sách để gắn hàm này vào các đối tượng cần bảo vệ.

6.1. Tìm hiểu các thành phần cơ bản của Oracle VPD

Một chính sách VPD sử dụng một hàm để tạo ra mệnh đề WHERE động và một chính sách để gắn hàm này vào các đối tượng cần bảo vệ. Để tạo ra mệnh đề WHERE động, người dùng phải tạo ra một hàm (không phải thủ tục) để xác định các ràng buộc này. Hàm này là một hàm với quyền của người định nghĩa (definer's rights). Oracle Database sẽ tạo ra một predicate (hàm được tạo bởi chính sách bảo mật) được ủy quyền bởi chủ sở hữu nhưng trong cùng phiên làm việc của người dùng hiện tại, sao cho các biến toàn cục PL/SQL được định nghĩa trong hàm sẽ được sử dụng. Chính sách Oracle Virtual Private Database (VPD) liên kết hàm VPD với bảng, view hoặc từ đồng nghĩa bằng cách sử dụng gói DBMS_RLS. Chính sách này được tạo bằng cách sử dụng gói DBMS_RLS.

6.2. Cách cấu hình chính sách VPD hiệu quả trong Oracle 21c

Để cấu hình chính sách VPD hiệu quả, người dùng cần liên kết hàm VPD với bảng, view hoặc từ đồng nghĩa trong cơ sở dữ liệu. Gói DBMS_RLS PL/SQL có thể gắn chính sách vào bảng, view, hoặc từ đồng nghĩa. Người dùng cần chỉ định bảng, view, hoặc synonym muốn thêm chính sách, và một tên cho chính sách. Người dùng cũng có thể chỉ định thông tin khác như loại câu lệnh mà chính sách kiểm soát (SELECT, INSERT, UPDATE, DELETE, CREATE INDEX, hoặc ALTER INDEX). Người dùng có thể kiểm soát hiển thị dữ liệu cột bằng chính sách bằng cách sử dụng chính sách cấp cột cho Oracle Virtual Private Database hoặc bằng cách sử dụng giấu cột để hiển thị các giá trị NULL cho các cột nhạy cảm (Column masking).

20/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ORACLE 21C VÀ CÁC CƠ CHẾ AN TOÀN 1. Giới thiệu về Oracle 21c 1. Tổng quan về Oracle Hệ quản trị cơ sở dữ liệu Oracle, thường được gọi là Oracle Database hoặc Oracle RDBMS, là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) được phát triển bởi Oracle Corporation.

Đây là một trong những hệ quản trị cơ sở dữ liệu phổ biến và mạnh mẽ nhất trên thị trường. Oracle Database cung cấp một nền tảng để lưu trữ, quản lý và truy vấn dữ liệu. Hệ thống này sử dụng ngôn ngữ truy vấn SQL (Structured Query Language) để tương tác với cơ sở dữ liệu. Kiến trúc của Oracle Database Tương tự như nhiều hệ quản trị cơ sở dữ liệu quan hệ phổ biến khác, Oracle Database cũng được xây dựng dựa trên ngôn ngữ truy vấn SQL, tiêu chuẩn hóa cho việc quản lý và truy vấn dữ liệu trên máy chủ một cách hiệu quả.

Đặc biệt, Oracle đã áp dụng công nghệ PL/SQL, một phần mở rộng của SQL, để phát triển các tính năng độc quyền cho ngôn ngữ truy vấn này. Bên cạnh đó, Oracle Database còn hỗ trợ lập trình bằng Java và cho phép sử dụng các ngôn ngữ và chương trình khác. Không khác các nền tảng cơ sở dữ liệu khác, Oracle Database kết nối các phần tử dữ liệu thông qua cấu trúc bảng, tạo ra các lưu trữ khác nhau để hỗ trợ việc xử lý dữ liệu một cách dễ dàng. Các mô hình kiến trúc của công nghệ này bao gồm một tập hợp các ràng buộc ACID, nhằm đảm bảo độ chính xác và độ tin cậy của dữ liệu.

Nguyên tắc ACID bao gồm độ nguyên tử, tính thống nhất, tính độc lập và độ bền của dữ liệu. Kiến trúc của Oracle Database thể hiện qua các phần sau: 1 • Cấu trúc lưu trữ vật lý: Các tệp dữ liệu, tệp điều khiển chứa thông tin quản lý cơ sở dữ liệu, và các tệp nhật ký để ghi lại các thay đổi dữ liệu. Mỗi cơ sở dữ liệu và phiên bản của nó sẽ quản lý các tệp này. • Cấu trúc lưu trữ logic: Bao gồm khối dữ liệu, một tập hợp các khối liền kề, extents (nhóm khối liền kề), phân đoạn (nhóm extents) và không gian bảng (lưu trữ phân đoạn).

Mỗi phiên bản của Oracle Database được tạo dựng trên nền một bộ nhớ cache được gọi là System Global Area (SGA) chứa nhóm các bộ nhớ chia sẻ. Các phiên bản cũng bao gồm các tiến trình chạy ngầm để quản lý I/O và giám sát hoạt động cơ sở dữ liệu, với mục tiêu tối ưu hoá hiệu suất và độ tin cậy. Trong mô hình tương tác của Oracle, các tiến trình máy khách kết nối với phiên bản cơ sở dữ liệu thích hợp để thực thi mã ứng dụng. Các tiến trình máy chủ, được kết nối với vùng bộ nhớ riêng biệt gọi là khu vực chương trình chung (khác với SGA), quản lý tương tác giữa các tiến trình máy khách và cơ sở dữ liệu.

Oracle 21c Phiên bản mới nhất của cơ sở dữ liệu phổ biến nhất thế giới, Oracle Database 21c, được phát hành theo tiêu chí ưu tiên cho điện toán đám mây – “cloud first”. Phiên bản chạy trên nền tảng Cloud của Oracle được ra mắt vào Tháng Mười Hai 2020, và bản hoạt động trên máy chủ on-premise được phát hành muộn hơn, vào tháng 8 năm 2021. Oracle đã nhất quán áp dụng phương pháp lưu trữ và quản lý dữ liệu trong một CSDL hội tụ, thay vì chia nhỏ thành nhiều thành phần chức năng đơn dụng. Hay nói cách khác, CSDL hội tụ của Oracle là CSDL đa mô hình (multi-model), phục vụ nhiều đối tượng (multi-tenant) và nhiều loại công việc khác nhau (multi-workload).

Cơ sở dữ liệu Oracle hỗ trợ đầy đủ nhiều mô hình dữ liệu và phương pháp truy cập, đơn giản hóa việc hợp nhất trong khi đảm bảo tính cô lập và vượt trội trong các trường hợp sử dụng khối lượng công việc cơ sở dữ liệu điển hình – cả hoạt động và phân tích. Dưới đây là một số tính năng mới của CSDL Oracle phiên bản 21c 2 • Mảng Blockchain • Kiểu dữ liệu Native JSON: Thực thi JavaScript bên trong Oracle Database • SQL Macros • Cải tiến tính năng CSDL trên bộ nhớ (In-Memory) 1. Các cơ chế an toàn trong an toàn thông tin Các cơ chế an toàn trong an toàn thông tin là các phương pháp và kỹ thuật được sử dụng để bảo vệ thông tin khỏi các mối đe dọa bảo mật. Các cơ chế này bao gồm: • Mã hóa: Mã hóa là quá trình biến đổi thông tin ban đầu thành dạng mã hóa, đảm bảo tính bảo mật của thông tin khi truyền qua các kênh mạng.

Có nhiều phương pháp mã hóa như mã hóa đối xứng, mã hóa bất đối xứng và mã hóa mã nguồn mở. • Xác thực: Xác thực là quá trình xác định tính hợp lệ của một người dùng, một thiết bị hay một ứng dụng. Các kỹ thuật xác thực bao gồm xác thực bằng mật khẩu, xác thực bằng vân tay, xác thực bằng thẻ, xác thực bằng chứng chỉ, …… • Phân quyền: Phân quyền là quá trình xác định quyền truy cập cho các người dùng đến các tài nguyên khác nhau trên hệ thống. quyền truy cập được cấp phép dựa trên vai trò của người dùng hoặc các nhóm người dùng.

• Quản lý rủi ro: Quản lý rủi ro là quá trình đánh giá và quản lý các rủi ro bảo mật trong hệ thống thông tin. Các biện pháp quản lý rủi ro bao gồm đánh giá rủi ro, phân loại và ưu tiên các rủi ro, áp dụng các biện phòng ngừa và giảm thiểu rủi roi. • Kiểm soát truy cập: Kiểm soát truy cập là quá trình kiểm soát việc truy cập của vào các tài nguyên hệ thống thông tin, đảm bảo rằng chỉ có những người dùng được phép truy cập vào các tài nguyên đó. CÁC CƠ CHẾ AN TOÀN TRONG ORACLE 21C 2.

Cơ chế xác thực Xác thực là quá trình xác nhận định danh của các cá nhân hay ứng dụng có yêu cầu truy cập tới một môi trường an toàn. Việc xác nhận định danh này được hoàn thành bằng cách thẩm tra đăng nhập và các chứng nhận (credential) được tạo trong cùng một môi trường. Cơ chế xác thực bởi hệ điều hành Xác thực bởi hệ điều hành có nghĩa là nếu có thể đăng nhập vào máy chủ cơ sở dữ liệu thông qua một tài khoản hệ điều hành được ủy quyền, người dùng sẽ được phép kết nối vào cơ sở dữ liệu mà không cần yêu cầu mật khẩu bổ sung. Một ví dụ đơn giản minh họa khái niệm này.

Ví dụ về xác thực bởi hệ điều hành 1. Hiển thị các nhóm OS mà người dùng Oracle thuộc về. Sử dụng lệnh id để hiển thị các nhóm hệ điều hành mà người dùng oracle thuộc về. Kết nối vào cơ sở dữ liệu với quyền SYSDBA, sử dụng tên người dùng và mật khẩu không hợp lệ.

Lệnh dưới đây cố tình sử dụng tên người dùng và mật khẩu không hợp lệ. $ sqlplus bad/notgood as sysdba 3. Xác minh rằng kết nối đã được thiết lập với quyền SYS. Dùng lệnh show user để kiểm tra người dùng hiện tại.

SYS@orcl> show user USER is "SYS" Ví dụ trên cho thấy dù nhập tên người dùng và mật khẩu không hợp lệ thì người dùng vẫn có thể kết nối đến Oracle. Kết nối này hoạt động vì Oracle bỏ qua tên người dùng/mật khẩu được cung cấp, do người dùng đã được xác thực trước đó qua hệ điều hành. Trong ví dụ này, người dùng OS oracle thuộc nhóm OS dba, do 4 đó được phép kết nối cục bộ vào cơ sở dữ liệu với quyền SYSDBA mà không cần cung cấp tên người dùng và mật khẩu chính xác. Cơ chế xác thực bởi database Oracle có thể xác thực người dùng đang cố gắng kết nối với cơ sở dữ liệu bằng cách sử dụng thông tin được lưu trữ trong cơ sở dữ liệu đó.

Để thiết lập Oracle sử dụng xác thực cơ sở dữ liệu, mỗi người dùng mới được tạo một mật khẩu để sử dụng trong quá trình thiết lập kết nối đến database. Quá trình này ngăn chặn việc sử dụng cơ sở dữ liệu trái phép vì kết nối sẽ bị từ chối nếu người dùng cung cấp mật khẩu không chính xác. Oracle lưu trữ mật khẩu của người dùng trong từ điển dữ liệu (data dictionary) ở dạng được mã hóa để ngăn chặn sự thay đổi trái phép, nhưng người dùng có thể thay đổi mật khẩu của mình bất kỳ lúc nào. Để thiết lập giao thức xác thực khác được máy khách hoặc cơ sở dữ liệu cho phép, DBA có thể điều chỉnh tham số SQLNET.ALLOWED_LOGON_VERSION trong tệp sqlnet.ora của máy chủ.

Sau đó, mỗi lần thực hiện kết nối, nếu máy khách hoặc máy chủ không đáp ứng phiên bản tối thiểu do đối tác chỉ định thì quá trình xác thực sẽ không thành công với lỗi ORA-28040. Tham số này có thể lấy các giá trị là 10, 9 hoặc 8, đại diện cho các phiên bản máy chủ cơ sở dữ liệu. Oracle khuyến nghị giá trị 10. Cơ chế này tương ứng với các tài khoản được tạo bằng lệnh CREATE USER.

Mật khẩu của mỗi user sẽ được Oracle server lưu trữ ngay trong data dictionary và nó có thể kiểm tra rất dễ dàng mỗi khi User kết nối đến database. Cú pháp: CREAT USER user IDENTIFIED BY password [PASSWORD EXPIRE] [ACCOUNT {LOCK | UNLOCK}] 5 User Tên truy nhập của User Xác định cơ chế xác thực user bởi database với mật khẩu By password truy nhập là password. (password không phân biệt hoa thường) PASSWORD Bắt buộc user phải chỉ rõ mật khẩu mỗi khi user thực EXPIRE hiện kết nối tới database thông qua SQL*PLUS. ACCOUNT Sử dụng tùy chọn này để lock/ unlock đối với mỗi user LOCK/UNLOCK một cách tường minh ( mặc định là UNLOCK) Bảng 2.

Thông số khi tạo user với cơ chế xác nhận bởi database Lưu ý: Khi thiết lập tùy chọn PASSWORD EXPIRE trong lệnh tạo user, khi user sử dụng SQL*PLUS để kết nối tới database, mỗi lần kết nối user lại phải nạp mới mật khẩu. Việc truy cập thường sẽ nhận được thông báo: ERROR: ORA-28001: the password has expired Changing password for new_user Old password: New password: Retype new password: Password changed 2. Cơ chế xác thực bởi mạng hoặc bên thứ ba Oracle cung cấp các giao diện (được gọi là adapters) cho một loạt các dịch vụ bảo mật của bên thứ ba để xác thực người dùng. Có thể cấu hình các dịch vụ này để người dùng chỉ cần sử dụng một mật khẩu duy nhất để kết nối với bất kỳ cơ sở dữ liệu nào trong mạng của người dùng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ