Chương 6: Bảo mật và An toàn Dữ liệu trong SQL Server

Tài liệu nghiên cứu Chuong6 an toan bao mat 2, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về ., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Trường Đại Học

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Bài Tập

2019

63
6
0

Phí lưu trữ

30 Point

Mục lục chi tiết

6. CHƯƠNG 6: BẢO MẬT VÀ AN TOÀN DỮ LIỆU

6.1. Quản trị quyền người dùng

6.2. Sao lưu dữ liệu

6.3. Khôi phục dữ liệu

Tóm tắt

I. Tổng quan về Bảo mật và An toàn Dữ liệu trong SQL Server

Bảo mật và an toàn dữ liệu trong SQL Server là một yếu tố quan trọng trong quản lý cơ sở dữ liệu. Việc bảo vệ thông tin nhạy cảm và đảm bảo quyền truy cập hợp lý là cần thiết để ngăn chặn các mối đe dọa từ bên ngoài và bên trong. SQL Server cung cấp nhiều cơ chế bảo mật để bảo vệ dữ liệu, bao gồm xác thực người dùng, phân quyền truy cập và mã hóa dữ liệu.

1.1. Khái niệm về Bảo mật Dữ liệu trong SQL Server

Bảo mật dữ liệu trong SQL Server bao gồm các biện pháp bảo vệ thông tin khỏi các truy cập trái phép. Điều này bao gồm việc sử dụng các phương pháp xác thực và phân quyền để đảm bảo rằng chỉ những người dùng được phép mới có thể truy cập vào dữ liệu.

1.2. Tại sao An toàn Thông tin lại quan trọng

An toàn thông tin là rất quan trọng vì nó bảo vệ dữ liệu nhạy cảm khỏi các mối đe dọa như hacker, virus và các sự cố không mong muốn. Việc đảm bảo an toàn thông tin giúp duy trì lòng tin của khách hàng và bảo vệ danh tiếng của tổ chức.

II. Các Thách thức trong Bảo mật Dữ liệu SQL Server

Mặc dù SQL Server cung cấp nhiều tính năng bảo mật, nhưng vẫn tồn tại nhiều thách thức trong việc bảo vệ dữ liệu. Các mối đe dọa từ bên ngoài như tấn công mạng, cũng như các lỗi do người dùng có thể dẫn đến việc rò rỉ thông tin. Việc quản lý quyền truy cập và xác thực người dùng cũng là một thách thức lớn.

2.1. Vấn đề về Quản lý Quyền Truy cập

Quản lý quyền truy cập là một trong những thách thức lớn nhất trong bảo mật dữ liệu. Cần phải đảm bảo rằng người dùng chỉ có quyền truy cập vào những thông tin mà họ cần để thực hiện công việc của mình.

2.2. Nguy cơ từ Xâm nhập và Tấn công

Các cuộc tấn công từ bên ngoài như SQL injection có thể gây ra thiệt hại nghiêm trọng cho dữ liệu. Việc phát hiện và ngăn chặn các cuộc tấn công này là rất quan trọng để bảo vệ thông tin.

III. Phương pháp Bảo mật Dữ liệu trong SQL Server

Để bảo vệ dữ liệu trong SQL Server, có nhiều phương pháp có thể được áp dụng. Các phương pháp này bao gồm xác thực người dùng, mã hóa dữ liệu và sao lưu định kỳ. Việc áp dụng các phương pháp này sẽ giúp tăng cường bảo mật cho cơ sở dữ liệu.

3.1. Xác thực Người Dùng và Phân Quyền

Xác thực người dùng là bước đầu tiên trong việc bảo vệ dữ liệu. SQL Server hỗ trợ nhiều phương thức xác thực, bao gồm Windows Authentication và SQL Server Authentication, giúp đảm bảo rằng chỉ những người dùng hợp lệ mới có thể truy cập vào hệ thống.

3.2. Mã hóa Dữ liệu để Bảo vệ Thông tin

Mã hóa dữ liệu là một phương pháp hiệu quả để bảo vệ thông tin nhạy cảm. SQL Server cung cấp các tính năng mã hóa như Transparent Data Encryption (TDE) để bảo vệ dữ liệu khi lưu trữ và truyền tải.

3.3. Sao lưu và Phục hồi Dữ liệu

Sao lưu dữ liệu định kỳ là một phần quan trọng trong chiến lược bảo mật. Việc này giúp đảm bảo rằng dữ liệu có thể được phục hồi trong trường hợp xảy ra sự cố hoặc mất mát dữ liệu.

IV. Ứng dụng Thực tiễn của Bảo mật Dữ liệu trong SQL Server

Việc áp dụng các biện pháp bảo mật trong SQL Server không chỉ giúp bảo vệ dữ liệu mà còn nâng cao hiệu quả hoạt động của tổ chức. Các tổ chức có thể giảm thiểu rủi ro và tăng cường sự tin tưởng từ khách hàng thông qua việc thực hiện các chính sách bảo mật nghiêm ngặt.

4.1. Kết quả Nghiên cứu về Bảo mật Dữ liệu

Nghiên cứu cho thấy rằng các tổ chức áp dụng các biện pháp bảo mật hiệu quả có thể giảm thiểu đáng kể các sự cố liên quan đến bảo mật. Điều này không chỉ bảo vệ dữ liệu mà còn tiết kiệm chi phí cho việc khắc phục sự cố.

4.2. Các Tình Huống Thực Tế về Bảo mật Dữ liệu

Nhiều tổ chức đã gặp phải các sự cố bảo mật nghiêm trọng do thiếu các biện pháp bảo vệ. Việc học hỏi từ các tình huống này giúp các tổ chức khác cải thiện chiến lược bảo mật của mình.

V. Kết luận về Bảo mật và An toàn Dữ liệu trong SQL Server

Bảo mật và an toàn dữ liệu trong SQL Server là một yếu tố không thể thiếu trong quản lý cơ sở dữ liệu. Việc áp dụng các biện pháp bảo mật hiệu quả sẽ giúp bảo vệ thông tin nhạy cảm và duy trì sự tin tưởng từ khách hàng. Tương lai của bảo mật dữ liệu sẽ tiếp tục phát triển với sự xuất hiện của các công nghệ mới.

5.1. Tương lai của Bảo mật Dữ liệu

Với sự phát triển của công nghệ, các phương pháp bảo mật cũng sẽ ngày càng trở nên tinh vi hơn. Các tổ chức cần liên tục cập nhật và cải thiện các biện pháp bảo vệ của mình để đối phó với các mối đe dọa mới.

5.2. Lời Khuyên cho Doanh Nghiệp về Bảo mật Dữ liệu

Doanh nghiệp nên thực hiện các chính sách bảo mật chặt chẽ và thường xuyên đào tạo nhân viên về các biện pháp bảo vệ dữ liệu. Điều này sẽ giúp giảm thiểu rủi ro và bảo vệ thông tin nhạy cảm một cách hiệu quả.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

15/07/2025

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

9/10/2019 Chương 6 Bảo mật và An toàn dữ liệu Nội dung 1 Quản trị quyền người dùng 2 Sao lưu dữ liệu 3 Khôi phục dữ liệu www.com 1 9/10/2019 Giới thiệu Windows Xác SQL Server Insert thực Xác thực Delete update DataBase …. Người dùng Thao tác CSDL www.com Cơ chế quản trị người dùng Cung cấp và quản lý các tài khoản truy cập (login) mà người sử dụng dùng để kết nối với SQL Server Phân quyền: người dùng chỉ được phép thực hiện những thao tác mà họ được “cấp phép” www.com 2 9/10/2019 Khái niệm xác thực Authenticate: xác nhận xem một tài khoản truy cập (login) có hợp lệ không (có được phép đăng nhập vào windows hoặc SQL server hay không) www.com Các cấp độ bảo mật Windows Level SQL Server Level Database Level www.com 3 9/10/2019 Giới thiệu Windows SQL Server Insert Delete update DataBase …. Người dùng Thao tác CSDL www.com Giới thiệu Windows SQL Server Insert Delete update DataBase …. Người dùng Thao tác CSDL www.com 4 9/10/2019 Giới thiệu Windows Người dùng SQL Server Insert Delete Login update DataBase ….

 Windows login Login  SQL login www.com Các kiểu xác thực của SQL Windows Authentication Mode Mixed Mode (Windows Authentication + SQL Server Standard) www.com 5 9/10/2019 Chọn mode vào SQL Server Lựa chọn:  Chỉ dùng Windows Authentication  Mixed mode (sử dụng cả hai chế độ chứng thực) Thực hiện cấu hình này lúc:  Cài đặt  Thay đổi sau khi đã cài đặt: dùng Enterprise Manager: Click phải lên tên Server trong cửa sổ duyệt bên trái Chọn properties www.com Cấu hình mode vào SQL Right click vào server chọn properties www.com 6 9/10/2019 Chọn Security www.com Windows Authentication Cho phép cho các người dùng của Windows được đăng nhập vào SQL Server.  Tài khoản người dùng do windows quản lí.  Khi người dùng kết nối đến SQL Server sử dụng chế độ Window Authentication, SQL Server chỉ xét xem người dùng này của Windows đã được cấp phép vào SQL Server hay chưa.  Admin của hệ điều hành mà SQL Server đang chạy trên đó luôn được phép vào SQL Server với quyền sysadmin.com 7 9/10/2019 Tạo Win account Danh sách các người dùng hiện có Right click trên thư mục Users www.com Tạo Win account Chọn New User www.com 8 9/10/2019 Tạo Win account Tên người dùng Mật khẩu Mật khẩu xác nhận Bỏ check Chọn Create www.com Tạo Win account Win user vừa tạo www.com 9 9/10/2019 Login vào SQL với quyền của NewUser www.com Không connect vào SQL Server www.com 10 9/10/2019 Cấp quyền vào SQL Right-click thư mục Logins Chọn New Login để add quyền www.com 2 1 Tên người dùng Tìm người dùng www.com 11 9/10/2019 1 Tên đối tượng 2 Tìm đối tượng login www.com Tìm đối tượng login www.com 12 9/10/2019 Chọn đối tượng cần add www.com Tên đối tượng được chọn www.com 13 9/10/2019 NewUser đã được cấp quyền vào SQL Server www.com Đã login vào được SQL Server www.com 14 9/10/2019 Không vào được CSDL www.com SQL Server authentication SQL Server tự quản lý tên tài khoản (login name) và mật khẩu (password) SQL Server thực hiện việc kiểm tra tài khoản (kiểm tra login name, so khớp password) khi người dùng đăng nhập (mở kết nối) vào SQL Server.com 15 9/10/2019 Login-User-Role A Tài khoản Người dùng (user) B Tài khoản Người dùng C Tài khoản chứng thực Data (Login) Base D Tài khoản www.com Người dùng Login-User-Role Database Vai trò (Role) Data Base Tài khoản Người dùng (User) www.com 16 9/10/2019 Login-User-Role •Create user •Sp_grantdbaccess •Sp_revokedbaccess Vai trò •Sp_addrole hệ thống •Sp_droprole •Sp_addsrvrolemember Role Tài khoản Data An ninh Base •Sp_addrolemember User Vai trò người dùng định nghĩa www.com Login Tài khoản mà người sử dụng dùng để kết nối với SQL Server Một login có thể có quyền truy cập vào 0-n database Trong mỗi database, login ứng với một user www.com 17 9/10/2019 SA Login Viết tắt của system administrator, là tài khoản do SQL Server cấp phát lúc cài đặt.

SA login được phép thao tác trên tất cả các đối tượng của SQL server.com Một số thủ tục trên Login Sp_addlogin Thêm login mới Sp_grantlogin Cấp quyền truy cập cho win login Sp_droplogin Xóa login Hủy quyền truy cập đã cấp của win Sp_revokelogin login Sp_password Thay đổi password của login www.com 18 9/10/2019 Login Login được cấp và quản lý bởi quản trị hệ thống hoặc quản trị an ninh của SQL Server (sysadmin/ securityadmin)  Lệnh tạo login (SQL Server authentication) sp_addlogin [ @loginame = ] ‘login_name’ [ , [ @passwd = ] 'password' ] [ , [ @defdb = ]‘default_database’ ] Ví dụ : exec sp_addlogin ‘Nam’, ’hehe’,’QLSV’ www.com Login Đổi password login  Cú pháp: sp_password [[@old =] ‘old_pass’,] {[@new=] ‘new_pass} [,[@loginame=] ‘login’]  Ví dụ: exec sp_password null,’123’ ,‘login_name’ www.com 19 9/10/2019 Login Lệnh cấp quyền truy cập (grant login)  Cấp phép một hoặc một nhóm người dùng của Windows (Windows user/ group) được kết nối đến SQL Server.  Cú pháp: sp_grantlogin [@loginame =] ‘windows_account’ (windows_account có dạng Domain\User)  Ví dụ: exec sp_grantlogin ‘Server01\user01’ www.com Login Hủy quyền của login  Lấy lại quyền truy cập đã cấp cho một người dùng/ nhóm người dùng của Windows bằng thủ tục sp_grantlogin  Cú pháp: sp_revokelogin [@loginame=] ‘login’]  Ví dụ: exec sp_revokelogin ‘login_name’ www.com 20 9/10/2019 Login Xóa login  Cú pháp: sp_droplogin [@loginame =] ‘login_name  Ví dụ: exec sp_droplogin ‘login_name’ www.com Login Đổi database mặc định của login  Áp dụng cho login đã được ánh xạ vào một user trong CSDL đã khai báo mặc định.  Cú pháp: sp_defaultdb [@loginame =] ‘login_name’, [@defdb=] ‘database_name’  Ví dụ: exec sp_defaultdb ‘login_name’, ‘QLSV’ www.com 21 9/10/2019 User Một “người dùng” trong một database cụ thể Một user ứng với một login db QLSV – user QuanTriVien1 Login: NewUser db QLTuyenSinh – user Dev1 www.com Database User Dbo user  Là owner của tất cả các đối tượng trong CSDL.  SA login và Win login có server role là sysadmin sẽ được ánh xạ vào dbo.

Guest user  Là user được định nghĩa trong CSDL.  Một login được ánh xạ là guest khi thỏa điều kiện sau:  Login connect vào SQL server được nhưng không truy cập vào CSDL được.  CSDL này đã có user guest.com 22 9/10/2019 User Tạo user = cấp cho một login quyền truy cập vào database hiện hành Cú pháp: sp_grantdbaccess [@loginame =]‘login_name’ [,[@name_in_db =] ‘user_name’]  Thủ tục sp_grantdbaccess chỉ có thể được thực hiện bởi thành viên của vai trò sysadmin, db_owner và db_accessadmin  Thủ tục sp_grantdbaccess có thể bị bỏ đi trong tương lai www.com User Ví dụ Exec sp_grantdbaccess ‘Nam’, ‘dev01’ Exec sp_grantdbaccess ‘Server01\user01’, ‘dev02’ www.com 23 9/10/2019 User Lệnh tạo user khác (được khuyến khích dùng thay cho sp_grantdbaccess) Cú pháp : CREATE USER user_name [ { FOR | FROM } { LOGIN login_name}] Ví dụ : Create User dev01 For Login Nam www.com User Xóa user khỏi database hiện hành  Cú pháp: sp_revokedbaccess ‘user_name’  Ví dụ: Exec sp_revokedbaccess ‘dev02’ www.com 24 9/10/2019 User  Sau khi tạo user, user có quyền truy cập vào database, nhưng chưa được thao tác gì (đọc, cập nhật, …) trên các đối tượng trong database.  Cần gán những quyền cụ thể cho từng user của database  Nếu nhiều user được cấp một số quyền giống nhau:  Tạo role, gán các quyền cho role, user cần các quyền này sẽ là thành viên của role www.com Role Role = Nhóm các user cùng quyền  Mặc định, các user thành viên của role sẽ được hưởng tất cả những quyền đã cấp cho role.

 Tuy nhiên, các thành viên này cũng có thể được cấp thêm các quyền riêng, hoặc bị cấm một số quyền thừa hưởng từ role.com 25 9/10/2019 Fixed Server Roles www.com Fixed Database Roles www.com 26 9/10/2019 Role Tạo các role mới cho database hiện hành Cú pháp sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] (thủ tục sp_addrole chỉ có thể thực hiện bởi thành viên của sysadmin, db_owner, db_securityadmin) www.com Role Ví dụ: Exec sp_addrole ‘Developer’ Exec sp_addrole ‘Developer’, ‘dbo’ Ghi chú: Khi một login là thành viên của role quản trị hệ thống (sysadmin) vào SQL Server, login này có quyền truy cập vào tất cả các database và có tên user tương ứng trong từng database là “dbo” Xoá một role đã tạo: sp_droprole ‘role’ www.com 27 9/10/2019 Role Thêm một login vào các vai trò hệ thống có sẵn (fixed server roles):  Cú pháp: sp_addsrvrolemember [ @loginame = ] 'login' ,[ @rolename = ] 'role’  Ví dụ: Exec sp_addsrvrolemember ‘newuser’, ‘sysadmin’ Ghi chú: Khi mới cài đặt, SQL Server định nghĩa sẵn login sa, sa và các login là administrator của Windows (Windows Authentication) đều là thành viên của sysadmin.com Role Thêm một user vào role:  Cú pháp: sp_addrolemember [ @rolename = ] ‘role' ,[ @membername = ] ‘name’  Ví dụ: Exec sp_addrolemember ‘GV’, ‘gv1’ www.com 28 9/10/2019 Quyền người dùng •Bảng DL •Thuộc tính •Bộ •Ràng buộc •Khóa chính •Khóa ngoại Role •Check •Unique •Default… •Thủ tục TT User •Hàm người dùng •… www.com Cấp quyền (Grant) •Grant Quyền Quyền •Grant Quyền •Grant www.com 29 9/10/2019 Cấm quyền (deny) •Deny Quyền Quyền •Deny Quyền  •Deny www.com Khôi phục quyền (revoke) •Revoke Quyền Quyền •Revoke Quyền •Revoke www.com 30 9/10/2019 Hủy quyền (Revoke) •Revoke •Revoke Quyền Quyền Quyền •Revoke www.com Quyền người dùng •Grant Quyền thực hiện lệnh •Revoke •Deny Quyền thao tác Đối tượng www.com 31 9/10/2019 Cấp quyền (Grant) Sử dụng lệnh “Grant…” để cấp quyền cho user / role Có hai dạng:  Cấp quyền thực hiện lệnh (create database, create procedure, create table,…)  Cấp quyền thao tác trên các đối tượng trong CSDL (đọc/ ghi trên table/view, thực thi thủ tục,…) www.com Cấp quyền (Grant) Cấp quyền thực hiện lệnh :  Cú pháp: GRANT { ALL | statement [ ,.n ] } TO security_account [ ,.n ] Trong đó:  Statement = create database| create table| create view| create rule| create procedure| backup database|…  Security_account = user| role  Ví dụ: GRANT create table, create procedure to dev01 www.com 32 9/10/2019 Cấp quyền (Grant) Cấp quyền thao tác trên đối tượng :  Cú pháp GRANT { ALL | permission [ ,.n ] } { | ON { table | view } [ ( column [ ,.n ] ) ] | ON { stored_procedure} | ON { user_defined_function } } TO security_account [ ,.com Cấp quyền (Grant) Permission = select| insert| delete| Cấp quyền thao tác trênreferences|update| đối tượng : execute  Cú pháp GRANT { ALL | permission [ ,.n ] } { | ON { table | view } [ ( column [ ,.n ] ) | ON { stored_procedure} | ON { user_defined_functionWITH } GRANT OPTION : cho } phép user được cấp các quyền TO security_account [ ,.n ] thao tác này cho user/ role khác. [ WITH GRANT OPTION ] [ AS role ] As role: lệnh cấp quyền được thực hiện www.com với tư cách là thành viên của “role” 33 9/10/2019 Cấp quyền (Grant) Ví dụ 1: Grant select, update on SinhVien (HoTen, DiaChi, NgaySinh) to Developer Thành viên của Nhưng Developer có quyền không được select, update trên cấp quyền các cột HoTen, này cho user DiaChi và NgaySinh khác của bảng SinhVien www.

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