1. Trang chủ
  2. » Luận Văn - Báo Cáo

đề tài tìm hiểu các cơ chế an toàn cơ bản xác thực mã hóa kiểm toán trong sql server

28 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Trang 1

BAN CƠ YẾU CHÍNH PHỦHỌC VIỆN KỸ THUẬT MẬT MÃ

Đề tài:

Tìm hiểu các cơ chế an toàn cơ bản (xác thực, mã hóa, kiểmtoán, …) trong SQL Server

Ngành: An toàn thông tin

Sinh viên thực hiện:

Phạm Đình Thụy AT170650Nguyễn Quỳnh Trang AT170651Phạm Ngọc Thành AT170648Đặng Xuân Đức AT170612

Giảng Viên: TS Trần Thị Lượng

Hà Nội, 2023

Trang 2

CHƯƠNG 1 TỔNG QUAN VỀ SQL SERVER 6

1.1 Giới thiệu SQL Server 6

1.1.1 SQL Server là gì? 6

1.1.2 Lịch sử ra đời SQL Server và các phiên bản 6

1.2 Các thành phần cơ bản của SQL Server 7

1.3 Các ngôn ngữ con của SQL Server 8

TÀI LIỆU KHAM KHẢO 10

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1-1 SQL Server 6

Trang 4

Bảng 1-1 Câu lệnh trong DDL 9Bảng 1-2 Câu lệnh trong DML 9Bảng 1-3 Câu lệnh trong DCL 9

Trang 6

LỜI MỞ ĐẦU

Trong thời đại số hóa hiện nay, việc quản lý và truy xuất dữ liệu một cách hiệu quả đã trở thành một thách thức lớn đối với các doanh nghiệp và tổ chức Do đó, SQL Server - Một hệ quản trị cơ sở dữ liệu mạnh mẽ và linh hoạt đã được tạo ra và được sử dụng rộng rãi để đáp ứng những nhu cầu này.

Trong bài báo cáo này, chúng em sẽ giới thiệu các khái niệm cơ bản, lịch sử ra đời, các thành phần và ngôn ngữ con của SQL Server Bên cạnh đó là các cơ chếan toàn cơ bản (xác thực, mã hóa, kiểm toán, …) trong hệ quản trị cơ sở dữ liệu này Hãy cùng nhau tìm hiểu về SQL Server và khám phá tầm quan trọng của nó trong việc xây dựng và duy trì các hệ thống thông tin hiệu quả.

Để có thể hoàn thiện được bài báo cáo này, chúng em xin được gửi lời cảm ơn sâu sắc tới cô Trần Thị Lượng đã nhiệt tình chỉ dẫn và giảng dạy cho chúng em rất nhiều kiến thức bô ích xuyên suốt quá trình làm báo cáo.

Trang 7

CHƯƠNG 1 TỔNG QUAN VỀ SQL SERVER

Với các tính năng mạnh mẽ của mình, SLQ Server đã trở thành công cụ đắc lực trong lĩnh vực quản lý dữ liệu, cho phép doanh nghiệp lưu trữ, truy xuất và thao tác dữ liệu một cách hiệu quả cho các ứng dụng khác nhau Tại chương này, chúng ta sẽ cùng nhau tìm hiểu sơ lược về lịch sử, các thành phần cơ bản và các ngôn ngữ con của SQL Server.

1.1 Giới thiệu SQL Server

1.1.1 SQL Server là gì?

Hình 1-1 SQL Server

SLQ Server hay Microsoft SQL Server là phần mềm ứng dụng cho hệ

thống quản trị cơ sở dữ liệu quan hệ (Relational Database Management System –

RDBMS) được phát triển bởi Microsoft vào năm 1988 SLQ Server được sử dụng để tạo, duy trì, quản lý và triển khai hệ thống RDBMS

Phần mềm SQL Server được sử dụng khá rộng rãi vì nó được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Tera – Byte cùng lúc phục vụ cho hàng ngàn user Bên cạnh đó, ứng dụng này cung cấp đa dạng kiểu lập trìnhSQL từ ANSI SQL (SQL truyền thống) đến SQL và cả T-SQL (Transaction-SQL) được sử dụng cho cơ sở dữ liệu quan hệ nâng cao.

1.1.2 Lịch sử ra đời SQL Server và các phiên bản

Năm 1989, phiên bản đầu tiên của SQL Server 1.0 ra đời được dùng cho các hệ điều hành 16 bit và được phát triển cho tới ngày nay.

Trang 8

Cho tới khi SQL Server ra phiên bản 6.5 thì được thị trường chấp nhận rộng rãi Một đột phá cải tiến cho SQL Server 7.0 khi được Microsoft viết lại một engine hoàn toàn mới Đến khi SQL Server từ phiên bản 7.0 cải tiến lên 8.0 chủ yếu phát triển về tính năng thiết kế web.

Từ năm 1995 đến năm 2016, Microsoft đã cho ra mắt nhiều phiên bản khác nhau của SQL Server với các tính năng cải tiến mới Bên cạnh đó, Microsoft còn kết hợp SQL Server với nhiều công cụ khác, phục vụ cho việc quản lý và phân tíchdữ liệu Một số công nghệ mới được tích hợp phải kể đến như: Web, điện toán đámmây, các thiết bị di động.

Có 5 phiên bản đáng chú ý được phát triển theo các giai đoạn đó là:

 SQL Server 2012. SQL Server 2014. SQL Server 2016. SQL Server 2017. SQL Server 2019.

1.2 Các thành phần cơ bản của SQL Server

Các thành cơ bản trong SQL Server gồm có: Reporting Services, Database Engine, Integration Services, Notification Services, Full Text Search Service,… Tất cả kết hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc phân tíchvà lưu trữ dữ liệu trở nên dễ dàng hơn.

+ Database Engine: Đây là một engine có khả năng chứa dữ liệu ở các quy

mô dưới dạng support và table Ngoài ra, nó còn có khả năng tự điều chỉnh ví dụ: trả lại tài nguyên cho ệ điều hành khi một user log off và sử dụng thêm các tài nguyên của máy khi cần.

+ Integration Services: là tập hợp các đối tượng lập trình và các công cụ đồ

họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu Khi bạn làm việc trong một công ty lớn thì dữ liệu được lưu trữ ở nhiều nơi khác nhau như được chứa trong: Oracle, SQL Server, DB2, Microsoft Access,… và bạn chắc chắn sẽ có nhu cầu di chuyển dữ liệu giữa các server này Ngoài ra, bạn còn muốn định dạng dữ

Trang 9

liệu trước khi lưu vào database Chắc chắn Integration Services sẽ giúp bạn giải quyết được công việc này dễ dàng.

+ Analysis Services: Đây là một dịch vụ phân tích dữ liệu rất hay của

Microsoft Dữ liệu khi được lưu trữ vào trong database mà bạn không thể lấy được những thông tin bổ ích thì coi như không có ý nghĩa gì Chính vì thế, công cụ này ra đời giúp bạn trong việc phân tích dữ liệu một cách hiệu quả và dễ dàng bằng cách dùng kỹ thuật khai thác dữ liệu – datamining và khái niệm hình khối nhiều chiều – multi dimendion cubes.

+ Notification Services: Dịch vụ thông báo này là nền tảng cho sự phát triển

và triển khai các ứng dụng soạn và gửi thông báo Ngoài ra, dịch vụ này còn có chức năng gửi thông báo theo dịch thời đến hàng ngàn người dăng ký sử dụng trên nhiều loại thiết bị khác nhau.

+ Reporting Services: là một công cụ tạo, quản lý và triển khai báo cáo bao

gồm: server và client Ngoài ra, nó còn là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.

+ Full Text Search Service: là một thành phần đặc biệt trong việc truy vấn

và đánh chỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong các cơ sở dữ liệu SQL Server.

+ Service Broker: là một môi trường lập trình cho việc tạo ra các ứng dụng

trong việc nhảy qua các Instance.

1.3 Các ngôn ngữ con của SQL Server

Trong SQL chuẩn bao gồm khoảng 40 câu lệnh, tuy nhiên tùy thuộc vào Hệ quản trị CSDL mà cú pháp sẽ có thay đổi nhưng hầu hết các lệnh đều có cùng dạngvà cùng mục đích sử dụng Các câu lệnh của SQL nói chung và SQL Server nói riêng về bản chất đều gần giống nhau về mục sử dụng và đều được phân loại vào bản chất của chúng.

Các lệnh SQL này chủ yếu được phân loại thành các loại như sau:

 DDL (Data Definition Language): Ngôn ngữ định nghĩa dữ liệu bao gồm:

Trang 10

CREATE Tạo một bảng, một View của bảng,hoặc đối tượng khác trong Database.ALTER Sửa đổi một đối tượng Database đang

Bảng 1-2 Câu lệnh trong DML

 DCL (Data Control Language): Ngôn ngữ điều khiển dữ liệu bao gồm:

Bảng 1-3 Câu lệnh trong DCL

Trang 11

CHƯƠNG 2 CÁC CƠ CHẾ AN TOÀN CƠ BẢN TRONG CSDL2.1 Giới thiệu các cơ chế an toàn cơ bản trong CSDL:

Có ba cơ chế an toàn trong hệ thống nói chung và DBMS nói riêng, bao gồm: Xácthực (Authentication), Ủy quyền (Authorization) và Kiểm toán (Auditing).

2.1.1 Xác thực

Để kiểm soát truy cập dữ liệu, có hai bước chính là xác thực và ủy quyền.Xác thực đảm bảo việc xác định danh tính của người dùng hoặc ứng dụng yêu cầutruy cập vào một môi trường an toàn Quá trình xác thực này bao gồm kiểm trathông tin đăng nhập và chứng nhận (credential) tạo ra trong cùng một môi trường.

Quá trình đăng nhập khác với tài khoản người dùng vì đăng nhập đòi hỏi xácthực đối với môi trường, trong khi tài khoản người dùng được sử dụng để kiểmsoát các hành động đối với môi trường Sự khác biệt này rõ ràng vì có những tàikhoản đăng nhập mặc định được tạo trong quá trình cài đặt cơ sở dữ liệu Do đó,quản lý chặt chẽ các tài khoản người dùng mặc định là cần thiết.

Thường thì chứng nhận là một thông tin ngắn được sử dụng để xác minhdanh tính, ví dụ như tên đăng nhập và mật khẩu của người dùng, mã xác thực củaứng dụng hoặc tên máy và địa chỉ mạng Loại chứng nhận sử dụng để xác minhdanh tính người dùng hoặc ứng dụng phụ thuộc vào yêu cầu và quy trình xác thựccủa từng hệ thống hoặc môi trường Với một môi trường, tên đăng nhập và mậtkhẩu có thể đủ, trong khi môi trường khác có thể yêu cầu thông tin bổ sung như địachỉ máy và số định danh bảo mật.

Quá trình xác thực có thể được thực hiện ở nhiều thời điểm và mức độ khácnhau trong quá trình đăng nhập vào hệ thống trước khi hệ thống ủy quyền chongười dùng Ví dụ, SQL Server kiểm tra xác thực người dùng ở mức máy chủ bằngcách yêu cầu kết nối tới máy chủ và ở mức cơ sở dữ liệu bằng cách yêu cầu truycập vào cơ sở dữ liệu Các ứng dụng bên thứ ba có thể được sử dụng trong môitrường cơ sở dữ liệu để bổ sung bảo mật xác thực người dùng Trong đó, có thể cócác bước bổ sung trong quá trình xác thực như mã hóa mật khẩu để duy trì an toàntrong mạng.

Trang 12

Trong môi trường cơ sở dữ liệu, có ba mức xác thực thường được sử dụng:hệ điều hành, cơ sở dữ liệu và hỗ trợ bên thứ ba Khi kết hợp với nhau, các mứcnày tạo nên một môi trường an toàn.

2.1.1.1 Xác thực mức hệ điều hành

Xác thực mức hệ điều hành: Phương pháp này sử dụng tài khoảntrên hệ điều hành để xác thực người dùng và truy cập vào hệ thống Khi ngườidùng đã có tài khoản hệ điều hành trên hệ thống, các chứng nhận này được sử dụngđể truy cập vào cơ sở dữ liệu mà không cần phải nhập tên người dùng và mật khẩucơ sở dữ liệu Điều này giúp người dùng thuận tiện kết nối đến cơ sở dữ liệu vàcho phép quản trị viên tập trung quản lý tài khoản.

Tuy nhiên, việc quản lý và giám sát các máy trạm và tài khoản người dùngtrong môi trường này đòi hỏi sự chú ý đều đặn Nếu một đối tượng không đượcphép có được chứng nhận của người dùng, họ có thể truy cập vào hệ điều hànhhoặc máy trạm và thừa hưởng quyền truy cập vào cơ sở dữ liệu mà không cần cónhiều hiểu biết hoặc kỹ năng.

2.1.1.2 Xác thực mức cơ sở dữ liệu

Trong phương pháp này, các chứng nhận của người dùng đượckiểm tra lại khi truy cập vào cơ sở dữ liệu Người dùng có thể được yêu cầu truycập vào một số hệ thống trước khi kết nối đến cơ sở dữ liệu Điều này có nghĩa làngười dùng phải lưu giữ các chứng nhận tài khoản cho các hệ thống khác nhau.Việc này đòi hỏi người dùng phải nhớ nhiều tài khoản và mật khẩu, gây khó khăntrong quản lý và có thể dẫn đến mật khẩu yếu Tuy nhiên, phân tách các tài khoảngiữa các hệ thống khác nhau có thể tạo ra môi trường phân đoạn và bảo mật hơn,ngăn chặn việc truy cập trái phép vào mật khẩu người dùng.

2.1.1.3 Xác thực mức mạng hoặc bên thứ ba

Phương pháp này sử dụng các ứng dụng bên thứ ba hoặc tài khoảnmạng để xác thực người dùng Thay vì tạo tài khoản trên hệ điều hành hoặc cơ sởdữ liệu, người dùng có thể sử dụng tài khoản mạng hiện có của họ, chẳng hạn nhưtài khoản Google hoặc tài khoản xác thực bên thứ ba như OAuth hoặc SAML Cácgiao thức an toàn như Kerberos và hạ tầng khóa công khai (PKI) được sử dụng đểxác nhận định danh người dùng và cung cấp lớp bảo mật cao hơn Điều này giúp

Trang 13

giảm bớt tải công việc quản lý tài khoản và đơn giản hóa quy trình đăng nhập chongười dùng, đồng thời giữ cho mật khẩu và thông tin người dùng được an toàn vàbảo vệ.

Khi lựa chọn phương pháp xác thực, cần cân nhắc kỹ lưỡng và xem xét cácyêu cầu và rủi ro bảo mật trong môi trường sử dụng Sự kết hợp giữa các phươngpháp có thể cung cấp một lớp bảo mật toàn diện hơn và tùy thuộc vào yêu cầu cụthể của hệ thống và tổ chức.

Sau khi hệ thống xác nhận danh tính hay đăng nhập của ngườidùng, thì một tập các điều khoản được đưa ra nhằm xác định xem đối tượng cóđược phép truy cập vào cơ sở dữ liệu hay không Ủy quyền là quá trình đảm bảo sựcho phép cá nhân hoặc ứng dụng yêu cầu truy cập vào một môi trường hoặc mộtđối tượng trong môi trường.

2.1.2 Ủy quyền

Sau khi hệ thống xác nhận danh tính hay đăng nhập của người dùng, thì mộttập các điều khoản được đưa ra nhằm xác định xem đối tượng có được phép truycập vào cơ sở dữ liệu hay không Ủy quyền là quá trình đảm bảo sự cho phép cánhân hoặc ứng dụng yêu cầu truy cập vào một môi trường hoặc một đối tượngtrong môi trường.

Có một số hoạt động quan trọng mà người quản trị cần thực hiện để quản lýngười dùng trong một môi trường cơ sở dữ liệu.

 Tài khoản mặc định:

Trong hầu hết các cơ sở dữ liệu, một tài khoản người dùng mặc định đượctạo ra, thường là tài khoản người dùng hệ thống hoặc tài khoản quản trị, sở hữuquyền truy cập cao nhất vào cơ sở dữ liệu Thông tin về các tài khoản này, baogồm mật khẩu mặc định, tên người dùng, quyền và đặc quyền, có thể dễ dàng tìmthấy bằng cách thực hiện một tìm kiếm trực tuyến đơn giản.

 Thêm và loại bỏ người dùng:

Thêm người dùng vào cơ sở dữ liệu là một quá trình đơn giản nếu ngườiquản trị cơ sở dữ liệu đã có kế hoạch và chuẩn bị trước danh sách quyền và khảnăng truy cập dành cho người dùng Trong quá trình tạo tài khoản người dùng, các

Trang 14

quyền bảo mật và truy cập cũng được áp dụng, và người dùng mới sẽ phải thay đổimật khẩu mặc định trước khi truy cập.

Tuy nhiên, việc xóa người dùng có thể phức tạp hơn vì liên quan đến tất cảcác đối tượng mà người dùng đó sở hữu Ngoài ra, việc xóa người dùng cũng phụthuộc vào vai trò của người dùng trong tổ chức và có thể mang lại một số rủi ro.Do đó, trước khi xóa bất kỳ người dùng nào khỏi cơ sở dữ liệu, người quản trị nêntiến hành kiểm kê cẩn thận các đối tượng mà người dùng đã tạo ra và sao lưu cáctài khoản đó.

Role được tạo ra cho người sử dụng, đối tượng hoặc ứng dụng tương tự vàcung cấp nhiều lợi ích trong việc quản lý cơ sở dữ liệu, bao gồm tiết kiệm thời gianvà nguồn lực, cung cấp quản lý tập trung cho các quản trị viên Người dùng có thểđược gán nhiều vai trò và một vai trò có thể được gán cho nhiều người dùng Mộtvai trò cũng có thể nằm trong một vai trò khác và thừa hưởng các đặc quyền tươngứng.

2.1.3 Kiểm toán

Hoạt động kiểm toán được hiểu là toàn bộ các hoạt động giám sátvà ghi lại những gì xảy đối với một hệ thống công nghệ thông tin Dựa trên những

Trang 15

bản ghi kiểm toán, quản trị cơ sở dữ liệu (Database Administrator - DBA) sẽ pháthiện kịp thời những tấn công hay lỗ hổng và ngăn chặn hành vi phá hoại của tintặc; hoặc nhanh chóng sửa chữa những bất thường của hệ thống 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áctương tác qua lại giữa hệ thống và người dùng.

Có 5 cơ chế kiểm toán cơ bản trong CSDL bao gồm:

 Kiểm toán bắt buộc (Mandatory Auditing): Là các hoạt động kiểm toán mặc định Dù CSDL kiểm toán có được kích hoạt hay không, thì hệ thống vẫn kiểm tra một số hoạt động liên quan đến CSDL và ghi chúng vào tập tin vận hành hệ thống kiểm toán.

 Kiểm toán chuẩn (Standard Database Auditing): Đây là thiết lập kiểm toán ởcấp độ hệ thống bằng cách sử dụng những tham số AUDIT_TRAIL Sau khi kích hoạt tính năng này, cần lựa chọn các đối tượng và đặc quyền muốn kiểm toán.

 Kiểm toán dựa trên giá trị (Value-based Auditing): Là cơ chế kiểm toán dựa trên kiểm toán chuẩn, tuy nhiên nó còn kiểm toán dựa trên giá trị thực tế đã được đưa vào, cập nhật, hoặc bị xóa

 Kiểm toán mịn (Fine-grained auditing- FGA): cơ chế này được mở rộng từ kiểm toán chuẩn, ghi lại các câu lệnh SQL đã được thực hiện thay vì chỉ những sự kiện đã xảy ra.

 Kiểm toán DBA: là cơ chế thực hiện kiểm toán riêng cho các DBA.

2.2 Các cơ chế an toàn cơ bản trong SQL server

2.2.1 Xác thực

SQL Server hỗ trợ hai chế độ xác thực:

 Chế độ xác thực Windows (Windows Authentication mode): là kiểu xác thực chỉ sử dụng hệ điều hành Windows để xác thực truy cập tới cơ sở dữ liệu Xác thực Windows còn được gọi là xác thực tin cậy vì tính an toàn được thực thi qua hệ điều hành Windows Đây là chế độ mặc định trong suốtquá trình cài đặt và được khuyến nghị cho SQL Server, bởi chế độ xác thực này bảo mật hơn các phương pháp thay thế, sử dụng giao thức Kerberos, yêucầu mật khẩu mạnh và có thời hạn của mật khẩu Khi người dùng truy cập

Ngày đăng: 29/06/2024, 19:51

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w