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

Tiểu luận xây dựng chính sách an toàn thông tin Bảo mật Microsoft SQL Server 2008

28 610 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 673,8 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dưới 1 góc độ nào đó, người quản trị dựa trên nền tảng lí thuyết bảo mậtcủa hệ CSDL đa người dùng nhằm tìm ra những phương pháp bảo mật theo đúng với nhucầu của độ bảo mật dữ liệu.Với mụ

Trang 1

Đại học Quốc gia Thành phố Hồ Chí Minh Trường Đại học Công nghệ thông tin



BÁO CÁO

Môn: Xây dựng chính sách an toàn thông tin

Đề tài: Bảo mật Microsoft SQL Server 2008

Giảng viên : Nguyễn Duy

Trang 2

1.1 Khái niệm cơ bản về bảo mật: 3

1.2 Giới thiệu chung về bảo mật trong SQL Server: 3

2 Quản lí việc đăng nhập: 4

2.1 Xác nhận việc đăng nhập: 4

2.2 Sự xác nhận quyền: 5

2.3 Tạo 1 đăng nhập: 5

3 Quản lí người dùng: 8

3.1 Người dùng của SQL Server: 8

3.2 Mối quan hệ giữa người dùng CSDL và tên đăng nhập: 8

3.3 Quản lí tên người dùng và tên đăng nhập: 8

4 Quyền người dùng (User Right): 8

4.1 Cấp phát quyền truy cập vào cơ sở dữ liệu: 9

4.2 Cấp phát quyền thực thi trên cơ sở dữ liệu: 11

5 Quyền tạo đối tượng trong CSDL 12

5.1 Sử dụng lệnh: 12

5.2 Sử dụng trình điều khiển Manager: 13

6 Quản lí vai trò: 15

6.1 Vai trò trên CSDL: 16

6.2 Vai trò trên server: 17

6.3 Sử dụng các thủ tục khai báo 1 vai trò: 17

6.4 Thêm 1 thành viên vào vai trò: 18

7 Đối tượng CSDL và quyền với đối tượng: 19

7.1 Đối tượng CSDL và chủ đối tượng: 19

7.2 Quyền với đối tượng CSDL: 20

7.3 Thừa nhận và loại bỏ quyền với 1 đối tượng: 20

8 SQL Power Injector 1.21: 25

8.1 Triển khai: 25

8.2 Tính năng: 26

1 Giới thiệu:

SQL Server là 1 hệ thống quản lí cơ sở dữ liệu (RDBMS) hay còn được gọi là relational database management system RDBMS là 1 trong những mô hính cơ sở dữ liệu quan hệ

Trang 3

thong dụng hiện nay.Sử dụng RDBMS System như là cách thức cơ bản để lưu trữ dữ liệu chohầu hết các ứng dụng hiện nay Tuy còn những mô hình khác ,nhưng trong phạm vi đề tài chỉtập trung vào RDBMS và đặc biệt chỉ xoay quanh vấn đề bảo mật của SQL Server.Một cơ sở

dữ liệu trong 1 tổ chức hay trong 1 doanh nghiệp có thể chúa đựng những dữ liệu hêt sứcquan trọng mang tính sống còn Chính vì thế mà bảo mật dữ liệu trở thành 1 vấn đề rất quantrọng Một hệ thống DBMS hay RDBMS cần phải hỗ trợ những kĩ thuật và phương tiện đểbảo mật dữ liệu Trong đề tài này sẽ tập trung vào các chính sách bảo mật của SQL Server vàthảo luận 1 cách chi tiết bảo mật được cung cấp như thế nào trong SQL Server

1.1 Khái niệm cơ bản về bảo mật:

- Bảo mật có rất nhiều khái niệm, cho phép người quản trị CSDL tự ra quyết định cho phéphay không cho phép người dùng truy cập và thao tác trên CSDL sao cho có hiệu quả bảomật tốt nhất Dưới 1 góc độ nào đó, người quản trị dựa trên nền tảng lí thuyết bảo mậtcủa hệ CSDL đa người dùng nhằm tìm ra những phương pháp bảo mật theo đúng với nhucầu của độ bảo mật dữ liệu.Với mục đích tăng tính bảo mật dữ liệu, SQL Server 2000 hỗtrợ các tính năng cho phép nhà quản trị thiết lập cợ chế bảo vệ CSDL trong môi trường đangười dùng, bao gồm các yếu tố chính sau:

 Vai trò của người dùng trong hệ thống và CSDL

 Quyền sử dụng các ứng dụng CSDL trong SQL Server

 Quyền tạo và sửa đổi cấu trúc các đối tượng CSDL

 Quyền truy cập, xử lí dữ liệu

- Khi đăng nhập vào 1 hệ thống CSDL đa người dùng, ngưới sử dụng cần phải cung cấpUserID và Password Dựa trên UserID hệ thống có khả năng kiểm soát tát cả các hành vicủa người sử dụng trên CSDL SQL Server 2000.Để làm được chức năng này, người quảntrị CSDL cần phải thiết lập các quyền xử lý và truy cập vào CSDL khhi tạo ra UserIDnày, ngoài ra còn 1 số thuộc tính khác của SQL Server như quyền bakup dữ liệu, trao đổi

dữ liệu với các ứng dụng CSDL khác…Khi nói đến bảo mật, ta cần quan tâm dến tên tàikhoản, mật khảu, chiều dài, thời gian có hiệu lực… như sau:

 Một người sử dụng chỉ có 1 UserID và 1 Password

 Thời gian có hiệu lực của mật khẩu

 Chiều dài của mậ khẩu có giới hạn <= 36

 Giới hạn người sử dụng theo license hay mở rộng

 Thông tin về người sử dụng.Khi tạo người sử dụng, tên tài khoản cần rõ ràng, dễ hiểu

dễ gợi nhớ, không cho phép các kí tự đặc biệt, không nên có khoảng trắng, điều này

dễ gây khó khăn sau này

1.2 Giới thiệu chung về bảo mật trong SQL Server:

- Bảo mật trong SQL Server có thể được mô tả thông qua mô hình 3 tầng dưới đây:

Trang 4

1 Xác nhận( Authentication ) 2.Khả năng là người dùng của 1 hay nhiều dữ liệu

3.Quyền đăc biệt được sử dụng những đối tượng CSDL được bảo vệ

 Tầng ngoài cùng đòi hỏi 1 tài khoản Windows hoặc nhóm bảo mật để có thể truy cậpSQL Server thông qua việc dăng nhập vào server

 Tầng kế tiếp là điều kiện để có thể sử dụng 1 hay nhiều CSDL

 Tầng trong cùng là điều kiện để có thể thực hiện những phát biểu với những đốitượng CSDL được bảo vệ

2 Quản lí việc đăng nhập:

SQL Server xác nhận người dùng qua 2 cấp:

 Xác nhận việc đăng nhập

 Xác nhận quyền đối với CSDL

SQL Server cần xác nhận 1 người dùng trước khi người đó có thể truy cập vào CSDL TrongSQL Server mỗi người dùng được cấp cho 1 tài khoản riêng biệt được gọi là tài khoản đăngnhập ( Login Account) Mỗi người dùng tương tác với SQL Server sử dụng tài khoản này.Xác nhận(authentication) sẽ kiểm tra người dùng đang sử dụng tài khoản đăng nhập và cấp raquyền kết nôi với SQL Server Nếu sự xác nhận không thành công,người dùng không thể kếtnối với SQL Server

2.1 Xác nhận việc đăng nhập:

- Một người dùng cần phải có tài khoản đăng nhập để kết nối với SQL Server SQL Server

có 3 cách để xác nhận, mỗi cách có 1 loại tài khoản đăng nhập khác nhau:

 SQL Server Authentication: khi sử dụng SQL Server authentication, 1 người quản lícủa SQL Server định nghĩa 1 tài khoản đăng nhập và mã cho 1 SQL Server Nhữngngười dùng cần phải đưa ra cả tài khoản và mã dể kết nối với SQL Server

 Windows Authentication : Khi 1 người dùng kết nối với SQL Server sử dụngWindows authentication, SQL Server kiểm lại với Windows xem tài khoản và mã đãđúng chưa.Nếu đúng thì người dùng có thể kết nôi với SQL Server

Trang 5

 Mixed Mode Authentication: Người dùng có thể sử dụng 1 trong 2 loại trên.

2.2 Sự xác nhận quyền:

- Trong mỗi CSDL, quyền được gán cho tài khoản của người dùng và các vai trò được tạo

ra để thực hiện ( hoặc ngăn cấm) những hành động cụ thể SQL Server chấp nhận cáclệnh sau khi người dùng đã truy cập thành công tới CSDL

- SQL Server thực hiện các bước sau trong khi xác nhận quyền:

1 Khi người dùng thực hiện 1 hành động, ví dụ như thực hiện 1 câu lệnh SQL,câu lệnh này được chuyển tới SQL Server

T-2 Khi SQL Server nhận được câu lệnh, nó kiểm tra em người dùng có quyền thựchiện câu lệnh hay không

3 Sau đó, SQL Server thực hiện 1 trong 2 hành động sau:

 Nếu người dùng có quyền, SQL Server thực hiện câu lệnh

 Nếu người dùng không có quyền, SQL Server báo lỗi.Sử dụngEnterprise Manager, ta có thể chọn kiểu xác nhận như là WindowsAuthentication và Mixed mode authentication

2.3 Tạo 1 đăng nhập:

- Sử dụng Enterprise Manager ta có thể quản lí việc đăng nhập bằng việc sử dụng CreateLogin Wizard cung cấp bởi SQL Server Enterprise Manager Quá trình(Wizard) nàycungcấp 1 sự hướng dẫn từng bước hoàn chỉnh để tạo các đăng nhập 1 cách dễ dàng vàhiệu quả

- Bên cạnh đó ta cũng có thể sử dụng các thủ tục thường trú( stored procedures) để tạo hayxóa các đăng nhập

- Để tạo 1 đăng nhập, ta có thể sử dụng câu lệnh sau:

Diễn giải các tham số của thủ tục sp_addlogin như sau:

@login: tên tài khoản sẽ tạo

@password: mật khẩu cho người dùng có tài khoản trên

@defdb:CSDL mặc định khi người dùng đăng nhập vào SQL Server

@deflanguage: ngôn ngữ mặc định cho người dùng

@sid: Số nhận dạng hệ thống khi người dùng đăng nhập vào SQL Server

@encriptopt: Khi tạo 1 tài khaỏn người dùng trong CSDL SQL Server

2000, các thông tin tài khỏan, mật khẩu lưu trữ trong bảng sysusers củaCSDL Master, nếu ta cung cấp tham số skip_encription thì mật khẩu sẽ

Trang 6

không mã hóa trước khi lưu vào bảng sysusers, nếu không cung cấp tham

số hay để trống, SQL Server sẽ mã hóa mật khẩu trước khi lưu vào bảngsysusers

Ví dụ:

EXEC sp_addlogin ‘Nam’,’123’

Nó sẽ tạo 1 đăng nhập với tên là “Nam”, mã là “123”

Nếu sau khi tạo thành công tài khoản người dùng, cần thiết thay đổi mật khẩu, ta

sử dụng thủ tục sp_ password như sau:

- Sử dụng trình điều khiển Manager

Để tạo ra 1 tài khoản đăng nhập (Login User), bắt đầu từ màn hình Microsoft SQL serverManager Studio, sau đó chọn thư mục Security, right click chọn New Login như tronghình sau:

Như đã trình bày ở trên, có 2 lựa chọn khi tạo một người dùng trong SQL Server 2008:

 Tương tác với hệ điều hành Windows

 Sử dụng riêng cho SQL Server 2008

Trang 7

Sau khi tạo, SQL Server 2008 kiểm tra Tài khoản người dùng có hợp lệ hay không, cótồn tại trên hệ điều hành Windows hoặc tồn tại trong mạng hay không Nếu tất cả thôngtin hợp lệ, đăng ký thành công.

Trong trường hợp ta muốn tài khoản đó có giá trị hiệu lực trong SQL Server 2008, chọnSQL Server authentication

Trang 8

3 Quản lí người dùng:

SQL Server cho phép 2 loại tài khoản người dùng sau:

 Người dùng hệ thống( system user)

 Người dùng CSDL(database user)

3.1 Người dùng của SQL Server:

- Một mã người dùng có thể được dùng để xác nhận 1 người dùng trong 1 CSDL Tất cảcác quyền và sự sở hữu các đối tượng trong CSDL được kiểm soát bởi tài khoản ngườidùng Các tài khoản người dùng là riêng biệt với mỗi CSDL; tài khoản abc trong CSDLBookDB khác với tài khoản abc trong CSDL CommerceDB, mặc dù chúng giống nhau

3.2 Mối quan hệ giữa người dùng CSDL và tên đăng nhập:

- Một người dùng trong 1 CSDL được xác nhận bởi mã người dùng(user ID) chứ khôngphải bởi mã đăng nhập (login ID)

- Một mã đăng nhập tự nó không thể cấp cho người dùng quyền truy cập tới các đối tượngcủa bất kì CSDL nào 1 mã đăng nhập phải gắn liền với 1 mã người dùng trong mỗiCSDL trước khi 1 người sử dụng mã dăng nhập dó có thể truy cập tới các đối tượng trongcác CSDL Nếu mã đăng nhạp không gắn rõ rang với bất kì mă người dùng nào trong 1CSDL, nó coi như được gắn với mã người dùng khách Nếu 1 CSDL không có tài khoảnkhách, 1 sự đăng nhập không thể truy cập tới CSDl trừ khi nó đã được gắn với 1 tàikhoản người dùng có tồn tại

- Tài khoản khách là 1 tài khoản đặc biệt trong CSDl của SQL Server Nếu người dùng sửdụng lệnh USE để truy cập tới 1 CSDL không được gắn với 1 tài khoản người dung`,nó

sẽ được gắn với tài khoản khách

3.3 Quản lí tên người dùng và tên đăng nhập:

- Một số thủ tục thường trú hay được sử dụng:

1 sp_grantlogin cho phép tài khỏan người dùng của Windows kết nối với SQL Server

sử dụng Windows authentication

2 sp_defaultdb thay đổi CSDL mặc định cho 1 đăng nhập.

3 sp_grantdbaccess dùng để thêm 1 tài khoản và cho phép truy cập dữ liệu bằng tài

khoản đó

4 sp_revokedbaccess dùng để xóa 1 tài khoản ra khỏi CSDL

4 Quyền người dùng (User Right):

Quyền người dùng được định nghĩa như mức độ người dùng có thể hay không thể thực thitrên cơ sở dữ liệu, quyền được chia thành 4 loại như sau:

 Quyền truy cập vào SQL Server 2000

 Quyền truy xuất vào cơ sở dữ liệu

Trang 9

 Quyền thực hiện trên các đối tượng của cơ sở dữ liệu.

 Quyền xử lý dữ liệu

4.1 Cấp phát quyền truy cập vào cơ sở dữ liệu:

- Điều đầu tiên cần phải thực hiện khi cho phép người sử dụng truy cập vào cơ sở dữ liệu

là cấp phát quyền, có 2 cách để thực hiện việc cấp phát quyền này, bao gồm việc thựchiện 1 thủ tục có sẵn hay sử dụng trình điều khiển Microsoft SQL server Manager Studio,bằng cách thêm người sử dụng vào thành viên người dùng của cơ sở dữ liệu

- Để cấp phát quyền người sử dụng vào truy cập cơ sở dữ liệu bằng lệnh, ta có cú phápnhư sau:

EXEC sp_grantdbaccess

[@loginname=] < ‘ login’ >

[ , [@name_in_db=] ] < ‘ name in this db’ >

Nếu không chỉ rõ cơ sở dữ liệu muốn cho phép người dùng truy cập, thì người sửdụng được cấp phát quyền trên cơ sở dữ liệu hiện hành, với tham số @loginname

là tài khoản của người sử dụng đăng nhập vào SQL Server 2008.Tham số @name_in_db cho phép ánh xạ hay còn gọi là bí danh tên của tài khoảnngười dùng thành 1 tên khác khi truy cập vào cơ sở dữ liệu chỉ định, trong trườnghợp này SQL Server 2008 chỉ quản lý trên tên tài khoản đăng nhập

Với cách này, khi sử dụng các ứng dụng khác truy cập vào cơ sở dữ liều SQLServer 2008, dĩ nhiên ứng dụng sẽ kết nối cơ sở dữ liệu chỉ định, thì tài khoảndùng để kết nối vẫn là tên Tài khoản đăng nhập vào SQL Server 2008

Ví dụ sau đây trình bày cách cấp phát quyền truy cập của người sử dụng có tên Tài khoảnmya đổi bí danh thành myaa vào cơ sở dữ liệu account:

/* sử dụng Use */

USE AccountGo

Exec SP_grantdbaccess ‘ mya ’ , ‘myaa ‘

Kết quả trả về như sau:

Granted database access to ‘ mya ‘ Nếu cần thiết phải loại trừ người sử dụng ra khỏi cơ sở dữ liệu bằng lệnh, có cú phápnhư sau:

EXEC sp_revokedbaccess [@name_in_db=] < ‘ login ‘ >

Giả sử rằng người sử dụng có tên tài khoản sử dụng trong cơ sở dữ liệu chỉ định myaakhông được phép truy cập vào cơ sở dữ liệu account, sử dụng thủ tục như ví dụ sau:

/* Sử dụng Use */

USE AccountGo

Trang 10

Exec sp_revokedbaccess ‘ myaa ‘

Kết quả trả về như sau:

User has been dropped from current database

- Sử dụng trình Manager:

Nếu sử dụng trình Microsoft SQL server Manager Studio để cấp phát quyền truy cập củatài khoản vào cơ sở dữ liệu chỉ định (tài khoản người dùng tồn tại trong cơ sở dữ liệuSQL Server 2008), phải thực hiện các bước sau:

 Chọn tên cơ sở dữ liệu muốn cấp phát

 Chọn Thư mục Security/Users

 R-Click (nhấp phải) / New User

 Chọn tên tài khoản trong danh sách tài khoản (login user) đăng nhập SQL Server2000

 Nếu cần thiết tạo tên bí danh (Alias)

Màn hình trình EM cho phép cấp phát quyền 1 tài khoản đăng nhập SQL Server 2000 vào

cơ sở dữ liệu chỉ định có dạng sau:

Trang 11

Sau khi cấp phát quyền cho 1 tài khoản đăng nhập, chọn OK để kết thúc.

Trong trường hợp cần loại bỏ người sử dụng mya ra khỏi cơ sở dữ liệu account, chỉ cầnchọn Thư mục Users/R-Click / Delete, cửa sổ xác nhận hiển thị, chỉ cần bấm OK, người

sử dụng sẽ loại bỏ

Trang 12

4.2 Cấp phát quyền thực thi trên cơ sở dữ liệu:

- Sau khi cấp quyền cho phép người sử dụng truy cập vào cơ sở dữ liệu account, bước kếtiếp bạn phải cho phép người sử dụng đó có quyền truy cập và xử lý trên các đối tượng,cũng như xử lý dữ liệu trên các đối tượng đó

- Ví dụ trong bộ phận kế toán, nhân viên kế toán hay nhân viên nhập dữ liệu thì không thểxem xét các dữ liệu về quyết toán thuế, hay các báo cáo tài chính chẳng hạn Tương tựnhư vậy, nhân viên kinh doanh không thể nhập dữ liệu các nghiệp vụ kế toán, với các quyđịnh về giới hạn truy cập và xử lý dữ liệu trên các đối tượng, SQL Server 2008 cung cấpcác quyền trên các đối tuợng như sau :

 SELECT: Cho phép người dùng nhìn thấy dữ liệu, nếu người sử dụng có quyền này,thì họ chỉ có thể thực thi những phát biểu Select để truy vấn dưc liệu trên các bảnghay View được cho phép

 INSERT: Cho phép người dùng thêm dữ liệu, nếu người dùng có quỳen này, họ cóthể thực hiện phát biểu Insert, đối với 1 hệ thống CSDL khác, muốn thực thi phát biểuInsert, người dùng phải có quyền Select, trong trường hợp SQL Server 2008, quyềnInsert không liên quan đến quỳên truy vấn Select

 UPDATE: Quyền này cho phép người dùng chỉnh sử dữ liệu trong CSDL, với quyềnUpdate người dùng có thể cập nhật dữ liệu bằng phát biểu Update

 DELETE: Quyền này cho phép người dùng xóa dữ liệu trong CSDL, với quyềnDelete người dùng có thể xóa mẩu tin dữ liệu bằng phát biểu Delete

 REFERENCE: Cho phép người dùng thêm dữ liệu vào bảng có khóa ngoại, nếungười dùng có quyền này, họ có thể thực hiện phát biểu Insert, trong trường hợp SQLServer 2008, quyền Reference không lien quan đến quyền truy vấn Select

 EXECUTE: Quyền này cho phép người dùng thực thi thủ tục (SP) trong CSDL, vớiquyền Execute người dùng có thể xóa mẩu tin dữ liệu bằng phát biểu Exec hayExecute SP

5 Quyền tạo đối tượng trong CSDL

Trong CSDL có các đối tượng và một số chức năng khác như sao lưu dữ liệu, mỗi một người

sử dụng trên CSDL cho phép hay không cho phép tạo các đối tượng như TABLE, VIEW,STORED PROCEDURE, RULE… và tạo CSDL

Các quyền tạo đối tượng như sau:

 CREAT DATABASE: Tạo CSDL

 CREAT TABLE: Tạo bảng

 CREAT VIEW: Tạo View

 CREAT PROCEDURE: Tạo procedure

 CREAT RULE: Tạo 1 số qui tắc chung

 CREAT DEFAULT: Tạo 1 số giá trị mặc nhiên

 BACKUP DATABASE: Thực hiện backup dữ liệu

Trang 13

 BACKUP LOG: Thực hiện log dữ liệu

Để phân các quyền trên cho phép người dùng trong SQL Server 2008, ta có 2 cách, sửdụng lệnh và trình điều khiển EM

5.1 Sử dụng lệnh:

Sử dụng thủ tục hệ thống GRANT có cú pháp sau:

GRANT <ALL | statement [,…n] > TO <login ID> [,…n]

Nếu một người sử dụng không có quyền tạo bảng, kết quả tả về là thông báo không chophép thực hiện phát biểu tạo bảng như ví dụ sau:

Server: Msg 262, Level 14, State 1, Line 1

CREAT TABLE permission denied, database ‘account’, owner ‘dbo’

Sau khi phân quyền tạo TABLE cho người dùng mya như ví dụ sau:

Kết quả trả về như sau:

The command(s) completed successfully

The command(s) completed successfully

Để loại các quyền trên của người sử dụng, ta cần phải sử dụng các thủ tục của hệ thốngDENY và REVOKE như phần trên

Trang 14

5.2 Sử dụng trình điều khiển Manager:

- Nếu sử dụng Microsoft SQL server Manager Studio để phân quyền tạo các đối tượng củaCSDL hiện hành, tực hiện theo các bước tuần tự như sau:

 Chọn tên CSDL

 Nhấp phải, chọn Properties

 Chọn Tab Permission

 Cho phép (check on) hay không (check off) các quyền trên cho mỗi người sử dụng

 Cột bên trái User/Role là danh sách các người sử dụng

 Bên trên là các quyền Create Table, Create View…

Ngày đăng: 08/04/2015, 08:23

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w