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 606 0
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

Đ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

Đạ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 sách an tồn thơng tin Đề tài: Bảo mật Microsoft SQL Server 2008 Giảng viên : Nguyễn Duy Khóa: Nhóm: 11 Sinh viên: Họ tên MSSV Trầm Phúc Thịnh 08520382 Thái Duy Tiến 08520403 Nguyễn Hữu Phúc 08520289 Đồn Vũ Bình Phú 08520285 Tháng 04, 2012 Mục lục Giới thiệu: SQL Server hệ thống quản lí sở liệu (RDBMS) hay gọi relational database management system RDBMS mơ hính sở liệu quan hệ thong dụng nay.Sử dụng RDBMS System cách thức để lưu trữ liệu cho hầu hết ứng dụng Tuy cịn mơ hình khác ,nhưng phạm vi đề tài tập trung vào RDBMS đặc biệt xoay quanh vấn đề bảo mật SQL Server.Một sở liệu tổ chức hay doanh nghiệp chúa đựng liệu hêt sức quan trọng mang tính sống cịn Chính mà bảo mật liệu trở thành vấn đề quan trọng Một hệ thống DBMS hay RDBMS cần phải hỗ trợ kĩ thuật phương tiện để bảo mật liệu Trong đề tài tập trung vào sách bảo mật SQL Server thảo luận cách chi tiết bảo mật cung cấp SQL Server 1.1 Khái niệm bảo mật: - - Bảo mật có nhiều khái niệm, cho phép người quản trị CSDL tự định cho phép hay không cho phép người dùng truy cập thao tác CSDL cho có hiệu bảo mật tốt Dưới góc độ đó, người quản trị dựa tảng lí thuyết bảo mật hệ CSDL đa người dùng nhằm tìm phương pháp bảo mật theo với nhu cầu độ bảo mật liệu.Với mục đích tăng tính bảo mật liệu, SQL Server 2000 hỗ trợ tính cho phép nhà quản trị thiết lập cợ chế bảo vệ CSDL môi trường đa người dùng, bao gồm yếu tố sau: • Vai trị người dùng hệ thống CSDL • Quyền sử dụng ứng dụng CSDL SQL Server • Quyền tạo sửa đổi cấu trúc đối tượng CSDL • Quyền truy cập, xử lí liệu Khi đăng nhập vào hệ thống CSDL đa người dùng, ngưới sử dụng cần phải cung cấp UserID Password Dựa UserID hệ thống có khả kiểm sốt tát hành vi người sử dụng CSDL SQL Server 2000.Để làm chức này, người quản trị CSDL cần phải thiết lập quyền xử lý truy cập vào CSDL khhi tạo UserID này, ngồi cịn số thuộc tính khác SQL Server quyền bakup liệu, trao đổi liệu với ứ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ài khoản, mật khảu, chiều dài, thời gian có hiệu lực… sau: • Một người sử dụng có UserID Password • Thời gian có hiệu lực mật • Chiều dài mậ có giới hạn [ , [@name_in_db=] ] < ‘ name in this db’ > Nếu không rõ sở liệu muốn cho phép người dùng truy cập, người sử dụng cấp phát quyền sở liệu hành, với tham số @loginname tài khoản 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 bí danh tên tài khoản người dùng thành tên khác truy cập vào sở liệu định, trường hợp SQL Server 2008 quản lý tên tài khoản đăng nhập Với cách này, sử dụng ứng dụng khác truy cập vào sở liều SQL Server 2008, dĩ nhiên ứng dụng kết nối sở liệu định, tài khoản dùng để kết nối tên Tài khoản đăng nhập vào SQL Server 2008 Ví dụ sau trình bày cách cấp phát quyền truy cập người sử dụng có tên Tài khoản mya đổi bí danh thành myaa vào sở liệu account: /* sử dụng Use */ USE Account Go Exec SP_grantdbaccess ‘ mya ’ , ‘myaa ‘ Kết trả sau: Granted database access to ‘ mya ‘ Nếu cần thiết phải loại trừ người sử dụng khỏi sở liệu lệnh, có cú pháp sau: EXEC sp_revokedbaccess [@name_in_db=] < ‘ login ‘ > Giả sử người sử dụng có tên tài khoản sử dụng sở liệu định myaa không phép truy cập vào sở liệu account, sử dụng thủ tục ví dụ sau: /* Sử dụng Use */ USE Account Go Exec sp_revokedbaccess ‘ myaa ‘ Kết trả 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 tài khoản vào sở liệu định (tài khoản người dùng tồn sở liệu SQL Server 2008), phải thực bước sau: • • • • • Chọn tên sở 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 danh sách tài khoản (login user) đăng nhập SQL Server 2000 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 tài khoản đăng nhập SQL Server 2000 vào sở liệu định có dạng sau: Quản lí vai trị: Vai trị quan trọng chúng cách để cấp quyền hệ thống cho người dùng Các quyền cấp cho người dùng qua vai trò trực tiếp, dùng vai trị có thuận lợi qua việc tạo vai trò cho dạng người dùng định cấp quyền hệ thống cho vai trị đó, ta giam lượng cơng việc có cách dễ dàng để kiểm sốt quyền vai trị hiểu gần giống với nhóm(group) NT Ta gán quyền cho vai trò hoăc cho cá nhân người dùng Nếu ta gán quyền cho vai trò, người dùng đưa vào vai trị hương quyền Vì vai trị cơng cụ mạnh để ta đưa người dùng vào đơn vị để cấp quyền Rất dễ để quản lí quyền CSDL ta định nghĩa nhóm vai trò dựa nhiệm vụ chức gán cho vai trò quyền tương ứng với nhiệm vụ Sau ta cần chuyển người dùng vai trị thay phải quản lí quyền cho cá nhân người sử dụng Nếu chức nhiệm vụ thay đổi, dễ dàng thay đổi quyền lần cho vai trò tự động áp dụng thay đổi với tất thành viên vai trị SQL Server có vai trị server vai trị CSDL Vai trò CSDL (database role) dùng để cấp mức khác truy cập CSDL Vai trò server (Server role) dùng để ngăn cản cho phép người thực họat động 6.1 Vai trị CSDL: - - - - Có vai trò CSDL đặc biệt : vai trò Public Mỗi người dùng định nghĩa CSDL thuộc vai trò Public Nếu ta muốn người CSDL có quyền đấy, ta phải gán quyền với vai trị public Nếu người dùng chưa cấp quyền đối tượng, người dùng quyền gán cho public Vai trị Public khơng có quyền ngoại trừ quyền cho phép người dùng kết nối với CSDL Vai trị có số điều bản: • Nó CSDL • Nó khơng thể bị loại bỏ • Mọi người dùng thuộc vai trị Public, kể tài khoản sa • Vì người dùng thuộc vai trị này(mặc định), ta thêm hay bớt người dùng cho vai trò Một số vai trò quyền chúng: • Db_owner: vai trò cho phép người dùng quyền hồn tồn kiếm sốt CSDL Tài khoản sa thành viên db_owner • Db_securityadmin: vai trị cho phép người dùng quản lí tất vai trị thành viên chúng, gán quyền cho vai trị • Db_accessadmin: cho phép người dùng thêm bớt người dùng CSDL • Db_ddladmin: cho phép xử lí tất đối tượng CSDL ( tạo, sửa, xóa… đối tượng) • Db_backupoperator: cho phép thực backup CSDL • Db_datawriter: cho phép sửa liệu bảng người dùng tạo CSDL • Db_reader: cho phép xem liệu bảng người dùng tạo CSDL • Db_denydatawriter: ngăn việc sửa liệu • Db_denydatareader: ngăn việc xem liệu Một người dùng đơn lẻ thuộc 1, nhiều, khơng thuộc vai trò Nếu người dùng thuộc nhiều vai trị, người dùng có tất quyền vai trị Ta tạo vai trò CSDL dùng Enterprise Manager sử dụng thủ tục thường trú hệ thống Giống đối tượng CSDL, ta cần đặt tên cho vai trị SQL Server có loại vai trị: • Vai trò chuẩn (standard role): gần giống với nhóm Windows NT Vai trị bao gồm người dùng, quyền Khi người dùng kêt nối với tư cách thành viên vai trị, họ hưởng quyền vai trị • Vai trò ứng dụng (application role): vai trị đặc biệt SQL Server 2000 chúng khơng bao gồm thành viên Trong chừng mực nghĩ vai trị đặc biệt tài khoản người dùng Các vai trò hoạt động người dùng chung cần mã để kích hoạt 6.2 Vai trị server: - - Ta khơng gán vai trị cho người dùng CSDL, ta cịn gán vai trị phạm vi tồn SQL Server 2000 Điều có nghĩa ta ngăn cản cho phép người thực hoạt động Các vai trò gọi vai trò server (server role) Các vai trị server SQL Server 2008: • Sysadmin: vai trị có khả kiểm sốt tồn SQL Server 2008 Tài khoản sa thuộc vai trò • Securityadmin: tạo quản lí dăng nhập cho server • Serveradmin: cấu hình tham số tắt server • Setupadmin: quản lí thủ tục khỏi động lien kết server • Processadmin: quản lí chuyển tác chạy SQL Server 2008 Điều có nghĩa vai trị đưa câu lệnh KILL, kết thúc cơng việc người dùng • Diskadmin: quản lí file đĩa • Dbcreator: tạo, xáo trộn, xóa CSDL 6.3 Sử dụng thủ tục khai báo vai trò: - Vai trò cho phép người quản trị sử dụng số thủ tục hệ thống nhằm cấp phát vai trò cho người sử dụng CSDL SQL Server 2008 Thêm vai trị vào người sử dụng, ta sử dụng cú pháp sau: Sp_addrole [@rolename=] [,[@ownername=] @rolename tên vai trò bảng trên, ví dụ tạo có role tên testrole, sau gán số quyền truy cập vào bảng liệu vào role ví dụ sau : Use account Go EXEC sp_addrole ‘testrole’ Go Grant select on tblsim to testrole Go Kết trả sau: New role added Sau tạo role có tên testrole gán quyền truy vấn liệu bảng tblsim vào role sử dụng phát biểu select để truy vấn liệu ví dụ sau: Use account Go Select Autoid Cast(entrydate as varchar(11)) as entrydate, invoiceNo,cast(invoiceDate as varchar(11)) as invoiceDate from tblsim order by invoiceDate desc Kết trả sau: Server: Msg 229, Level 14, State 5, Line SELECT permission denied on object ‘tblsim’, database ‘account’, owner ‘dbo’ 6.4 Thêm thành viên vào vai trò: - Lệnh thêm người sử dụng vào role có cú pháp sau: Sp_addrolemember [@rolename] [@membername=] - Ví dụ: Use account Go Sp_addrolemember testrole, ‘mya’ Go Select Autoid Cast(entrydate as varchar(11)) as entrydate, invoiceNo,cast(invoiceDate as varchar(11)) as invoiceDate from tblsim order by invoiceDate desc go Kết trả sau: ‘mya’ added to role ‘testrole’ Autoid EntryDate InvoiceNo InvoiceDate oct 17 2001 inv002 dec 2001 oct 17 2001 inv003 dec 2001 oct 18 2001 inv004 dec 2001 oct 17 2001 inv005 dec 2001 oct 17 2001 inv006 dec 2001 oct 18 2001 inv007 dec 2001 oct 18 2001 inv008 dec 2001 oct 17 2001 inv001 dec 2001 (9 row(s) affected) Tương tự ta sử dụng thủ tục sp_addsvrolemember để thêm thành viên vào vai trò server Lệnh thêm người dùng Home\Nam vào vai trò sysadmin: EXEC sp_addsvrolemember ‘Home\Nam’,’sysadmin’ Để loại bỏ người sử dụng khỏi role, sử dụng thủ tục sp_droprolemember có cú pháp sau: Sp_droprolemember [@rolename=] [@membername=] tên tài khoản người sử dụng CSDL, sử dụng thủ tục sp_droprolemember để loại bỏ người sử dụng mya khỏi CSDL account, thực phát biểu Select bảng tblsim, thơng báo lỗi phát sinh trở lại ví dụ sau: Use account Go Exec sp_droprolemember testrole, ‘mya’ Go Select Autoid Cast(entrydate as varchar(11)) as entrydate, invoiceNo,cast(invoiceDate as varchar(11)) as invoiceDate from tblsim order by invoiceDate desc go Kết trả sau: ‘mya’ dropped from role ‘testrole’ Server: Msg 229, level 14, State 5, Line SELECT permission denied on object ‘tblsim’, database ‘account’, owner ‘dbo’ Đối tượng CSDL quyền với đối tượng: Một CSDL tập hợp liệu, bảng đối tượng khác Đối tượng CSDL giúp cho việc cấu trúc liệu định nghĩa liệu rõ ràng Quyền cho phép người dùng thực hành động CSDL Có loại quyền : đối tượng phát biểu Quyền đối tượng kiểm sốt việc truy cập xử lí liệu chạy thủ tục thường trú Quyền phát biểu kiểm sốt người dùng tạo xóa đối tượng CSDL 7.1 Đối tượng CSDL chủ đối tượng: - Các đối tượng CSDL: • Bảng • Cột • • • • • • • • • - Dòng Loại liệu Ràng buộc Giá trị mặc định Quy tắc Chỉ số Views Thủ tục Bẫy lỗi Một người dùng tạo đối tượng CSDL gọi chủ đối tượng người dùng đơn lẻ phải có quyền tạo đối tượng CSDL 7.2 Quyền với đối tượng CSDL: - Quyền đối tượng kiểm soát việc truy cập tới đối tượng SQL Server Ta thừa nhận loại bỏ quyền với bảng, cột, thủ tục thông qua Enterprise Manager qua thủ tục hệ thống người dùng muốn thực hành động đối tượng cần có quyền thích hợp.Bảng sau tổng kết loại quyền với đối tượng Loại đối tượng Hành động Bảng ( table) Select,update,delete,insert,reference Cột (column) Select,update View Select,update,insert,delete Thủ tục (stored procedure) Execute 7.3 Thừa nhận loại bỏ quyền với đối tượng: - - SQL Server sử dụng lệnh GRANT, REVOKE, DENY để quản lí quyền • Grant: cho phép người dùng làm việc với đối tượng • Revoke: ngăn người dùng làm việc với bảng • Deny: không cấp quyền cho người dùng Sử dụng thủ tục hệ thống cấp quyền Khi sử dụng thủ tục GRANT để cấp quyền truy cập xử lí đối tượng CSDL định theo cú pháp sau: GRANT ALL [PRIVILEGES] | [,…N] ON [([,…n])] | TO [,…n] [WITH GRANT OPTION] [AS ] Từ khóa ALL cho phép cấp phát tất quyền cho người sử dụng CSDL Chỉ rõ bảng hay View cho phép người sử dụng truy cập xử lí, thủ tục hay thủ tục mở rộng Ví dụ: Cấp phát quyền thủ tục GRANT Use account Go /* Cấp quyền insert, update, delete cho người sử dụng mya bảng liệu tblsim */ Grant insert,update,delete On tblsim To mya Go Kết trả sau: The command(s) completed successfully Sau thực thủ tục cấp phát quyền sử dụng, sử dụng phát biểu Select để truy vấn liệu từ bảng tblsim, kết cho thấy với người sử dụng có tên mya truy vấn liệu từ bảng tblsim ví dụ sau Ví dụ: Use account Go Select Autoid Cast(entrydate as varchar(11)) as entrydate, invoiceNo,cast(invoiceDate as varchar(11)) as invoiceDate from tblsim order by invoiceDate desc Kết trả sau: Server: Msg 229, Level 14, State 5, Line SELECT permission denied on object ‘tblsim’, database ‘account’, owner ‘dbo’ Thực hiệnthủ tục cấp phát quyền sử dụng Select bảng tblsim cho người sử dụng tên mya Ví dụ: Use account Go Grant select On tblsim To mya Go Kết trả sau: The command(s) completed successfully Sau cấp phát quyền Select, sử dụng phát biểu Select để truy vấn liệu từ bảng tblsim Ví dụ: Use account Go Select Autoid Cast(entrydate as varchar(11)) as entrydate, invoiceNo,cast(invoiceDate as varchar(11)) as invoiceDate from tblsim order by invoiceDate desc Kết trả sau: Autoid EntryDate InvoiceNo InvoiceDate 11 dec 2001 inv0011 dec 10 2001 10 oct 18 2001 inv00010 dec 2001 oct 17 2001 inv009 dec 2001 oct 17 2001 inv002 dec 2001 oct 17 2001 inv003 dec 2001 oct 18 2001 inv004 dec 2001 oct 17 2001 inv005 dec 2001 oct 17 2001 inv006 dec 2001 oct 18 2001 inv007 dec 2001 oct 18 2001 inv008 dec 2001 oct 17 2001 inv001 dec 2001 (11 row(s) affected) - Từ chối quyền truy vấn xử lí liệu Nếu cần thiết khơng cho phép người sử dụng truy vấn xử lí liệu đối tượng, sử dụng thủ tục Deny có cú pháp sau: DENY ALL [PRIVILEGES] | [,…N] ON

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

Từ khóa liên quan

Mục lục

  • 1. Giới thiệu:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            • 5.1 Sử dụng lệnh:

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

            • 6. Quản lí vai trò:

              • 6.1 Vai trò trên CSDL:

              • 6.2 Vai trò trên server:

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

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

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

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

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

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

                • 8. SQL Power Injector 1.21:

                  • 8.1 Triển khai:

Tài liệu cùng người dùng

Tài liệu liên quan