Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
737,83 KB
Nội dung
09/08/2017 MICROSOFT SQL SERVER FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER TẦM QUAN TRỌNG CỦA BẢO MẬT Mục đích: bảo vệ liệu Bảo vệ tính tồn vẹn liệu Khắc phục cố xãy với CSDL Chống lại truy cập trái phép Vai trò người quản trị Lập kế hoạch lưu khắc phục cố Tạo lịch lưu tự động Tạo tài khoản & phân quyền người dùng FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER CÁC KHÁI NIỆM CƠ BẢN Database user: đối tượng sử dụng sở liệu Mỗi người dùng xác định UserID Người dùng tổ chức thành nhóm gọi User Group Chính sách bảo mật áp dụng cho người cho nhóm người dùng FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER CÁC KHÁI NIỆM CƠ BẢN Database objects: Tập đối tượng, cấu trúc lưu trữ sử dụng sở liệu Table, View, Procedure, Function Privileges: Quyền thực thao tác cấp phát cho người dùng đối tượng sở liệu FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER BẢO MẬT TRONG SQL SERVER Bảo mật SQL Server gồm lớp: Login security: user log vào SQL Server Database access security: user truy cập vào DB cụ thể server Permission security: user thực thao tác DB FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER BẢO MẬT TRONG CSDL FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER BẢO MẬT TRONG CSDL SQL Server sử dụng Permission Role để bảo mật CSDL Permission: Quy định actions mà người dùng thực đối tượng CSDL Role: tập quyền gán cho người dùng SQL server dựa vào Permission Role để xác định đối tượng, hành động mà người dùng phép thực CSDL FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER MƠ HÌNH BẢO MẬT TRONG SQL SERVER Network Connection Request / Pre-login Handshake Connect to the SQL Server Computer Login Authentication request to SQL Server Establish Login Credentials Switch to a database and Authorize access Establish a Database Context Attempt to perform some action Verify permissions for all actions within a database FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER LOGIN SECURITY Có hai chế độ chứng thực Windows Authentication SQL Server Authentication FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER LOGIN SECURITY Windows Authentication Users cần cấp account Windows SQL Server dựa vào Windows để chứng thực cho user Cách kết nối gọi kết nối tin tưởng, dựa vào ủy nhiệm bảo mật windows FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER LOGIN SECURITY SQL Server Authentication Người quản trị CSDL tạo tài khoản password đăng nhập SQL Server Thông tin đăng nhập lưu bảng sysxlogins CSDL master FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Cách thay đổi chế độ chứng thực Click phải server chọn Properties Trong khung Select a page FACULTY OF INFORMATION TECHNOLOGY chọn Security 09/08/2017 MICROSOFT SQL SERVER LOGINS Windows logins: Tài khoản user hay group lưu trữ Aactive Directory hay local Security Accounts Manager (SAM) database SQL logins: Dùng cho đối tượng tài khoản windows Dựa vào thơng tin lưu trữ quản lý tài khoản SQL Server FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER LOGIN ID VÀ USER ID Login ID: Dùng để truy cập vào hệ thống SQL Server Các Login có quyền truy cập vào Server chưa có quyền truy cập vào Database Server Các quyền truy cập vào Database gắn liền với người dùng FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER LOGIN ID VÀ USER ID User ID Nhận dạng người dùng sở liệu Mỗi user gắn (mapped) với login mức Server FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER LOGIN ID VÀ USER ID Một login ID phải kết hợp với user ID DB để truy xuất liệu DB Nếu login ID không kết hợp tường minh với user ID kết hợp với user guest Nếu DB khơng có user ID guest khơng thể truy xuất vào DB sa login account ánh xạ tự động với user ID dbo DB FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Tạo login SSMS Trong Object Explorer, chọn server Mở thư mục Security R_Click Logins ‘‘New Login.’’ Nếu tạo Windows login: nhập tên login muốn tạo Nếu tạo SQL authentication’’ Login: chọn ‘‘SQL Server Chọn CSDL ngôn ngữ mặc định FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo login SSMS Khi chọn ‘‘SQL Server authentication,’’ ta chọn khơng kiểm tra password policies FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Tạo login T-SQL CREATE LOGIN login_name WITH PASSWORD='password' [MUST_CHANGE] [, DEFAULT_DATABASE = database_name ] [, DEFAULT_LANGUAGE = language ] [, CHECK_EXPIRATION = { ON | OFF}] [, CHECK_POLICY = { ON | OFF} FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo login T-SQL Ví dụ: create login loginname with password='P@ssword123' MUST_CHANGE, CHECK_EXPIRATION =ON, default_database=qlbh FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Tạo login T-SQL Quy ước đặt Pass: Không sử dụng từ “Password”, “Admin”, “sa”, “sysadmin”, “Administrator” Không sử dụng tên máy, tên người dùng hành Trên ký tự bao gồm Chữ cái, số ký tự đặc biệt FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo login T-SQL Đổi Password: ALTER LOGIN Login_name WITH PASSWORD = ‘newpassword’, CHECK_POLICY=OFF Xóa login DROP LOGIN login_name FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Database user Mỗi CSDL có danh sách người dùng xác thực để truy cập CSDL Khi tạo user User có quyền chọn ngữ cảnh CSDL, khơng có quyền thực thi thao tác CSDL đối tượng CSDL Để thực thao tác người dùng phải cấp quyền FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo user sử dụng SSMS Chọn CSDL mở rộng thư mục Security Click phải Users name New User Chọn Login schema cho user FACULTY OF INFORMATION TECHNOLOGY Nhập user 09/08/2017 MICROSOFT SQL SERVER Tạo user sử dụng T-SQL CREATE USER [{FOR| FROM} LOGIN ] [WITH DEFAUTL_SCHEMA=] FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo user sử dụng T-SQL Ví dụ: CREATE LOGIN AbolrousHazem WITH PASSWORD = '340$Uuxwp7Mcxo7Khy'; Go CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem; GO FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Hiệu chỉnh xóa User Hiệu chỉnh user ALTER USER WITH [NAME= ] [, DEFAUTL_SCHEMA=] Xóa user DROP USER < Tên user> FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Các quyền chuẩn SQL FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Roles Roles – Vai trò: Tập quyền dùng để gán cho người dùng nhóm người dùng Các Roles mặc định SQL Server Server role (Fixed Server Role) Database Role (Fixed Database Role) FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Roles Có thể định nghĩa thêm Role Mỗi Role gán tập PERMISSION Ví dụ: Role dbcreator thực thi câu lệnh: CREATE/ALTER/DROP DATABASE RESTORE DATABASE FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER SERVER ROLES Server Roles: mặc định bao gồm người dùng quản trị Server Mô tả Roles sysadmin Có thể thực thao tác server Theo mặc định, tất thành viên nhóm Windows BUILTIN\Administrators thành viên role securityadmin Có thể quản lý ID mật đăng nhập cho server, đồng thời cấp, từ chối thu hồi quyền sở liệu dbcreator Có thể tạo, thay đổi, xóa khơi phục sở liệu … … FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Roles Mơ tả Db_owner Có tất quyền CSDL Db_accessadmin Có quyền thêm xóa LoginID CSDL Db_securityadmin Có thê quản trị quyền đối tượng, quyền CSDL, Vai trò, thành viên Vai trị Db_datawriter Có thể thêm, xóa, cập nhật liệu tồn bảng CSDL Db_datareader Có thể truy xuất liệu từ tất bảng CSDL Db_denydatawriter Khơng thể thêm, xóa, cập nhật liệu tồn bảng CSDL Db_denydatareader Khơng thể truy xuất liệu từ tất bảng CSDL Db_backupoperator Có thể thực lưu CSDL chạy kiểm tra tính quán CSDL FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Gán Server Role cho login ID Cách 1: Sử dụng Server Role Login Properties để chọn gán server Role cho login Cách 2: Sử dụng server Role Properties để thêm login ID vào danh sách thành viên Server Role FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Gán Database Role cho Login ID FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo login với fixed server role Cú pháp: sp_addsrvrolemember [@loginame=] ‘login’, [@rolename =] ‘role’ Ví dụ: Tạo CREATE LOGIN Ted WITH PASSWORD = ‘P@ssw0rd’; EXEC sp_addsrvrolemember ‘Ted’, ‘securityadmin’; Xóa EXEC sp_dropsrvrolemember ‘Ted’, ‘securityadmin’; FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Tạo Database Users Chọn folder Databases, Chọn CSDL Mở Security R_Click Users chọn New User Nhập tên user vào User Name box VD: Carol Nhập tên user (Carol) ‘‘Login name’’ box, chọn tên login cách click ‘‘ ’’ button Nhập tên nhánh CSDL( Sales) ‘‘Default schema’’ box Click OK FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Tạo DB Users T-SQL Cú pháp CREATE USER name [{{FOR | FROM} source | WITHOUT LOGIN] [WITH DEFAULT_SCHEMA = schema_name] Hiệu chỉnh ALTER USER WITH [NAME = ] [, DEFAULT_SCHEMA = ] Xóa DROP USER FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Ví dụ USE master; CREATE LOGIN [AughtEight\Bob] FROM WINDOWS; USE AdventureWorks2008; CREATE USER BillyBob FOR LOGIN [AughtEight\Bob] WITH DEFAULT_SCHEMA = sales; FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Các thủ tục thường thao tác với dabase user FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Quyền (permission) Có loại quyền • Object Permissions • Statement Permissions • Implied Permissions Tất quyền SQL server tồn trạng thái: GRANTED ( cấp quyền) REVOKED (thu hồi) DENIED (từ chối) FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER Quyền đối tượng SELECT INSERT UPDATE DELETE REFERENCES EXECUTE FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER Quyền câu lệnh BACKUP DATABASE BACKUP LOG CREATE DATABASE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE VIEW FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER GRANT GRANT : gán quyền câu lệnh GRANT { ALL | statement [ , n ] } TO security_account [ , n ] FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER GRANT GRANT : gán quyền đối tượng GRANT { ALL | permission [ , n ] } { [ ( column [ , n ] ) ] ON { table | view } | ON { table | view } [ ( column [ , n ] ) ] | ON { stored_procedure | extended_procedure } | ON { user_defined_function } } TO security_account [ , n ] [ WITH GRANT OPTION ] [ AS { group | role } ] FACULTY OF INFORMATION TECHNOLOGY MICROSOFT SQL SERVER DENY Cú pháp: DENY [ON ] TO Ví dụ: Use pubs DENY select, insert, update ON titles TO faculty FACULTY OF INFORMATION TECHNOLOGY 09/08/2017 MICROSOFT SQL SERVER REVOKE REVOKE: thu hồi lại quyền đuợc cấp hay từ chối từ user CSDL hành Cú pháp: REVOKE [GRANT OPTION FOR] [ON ] FROM Ví dụ: REVOKE select, insert, update ON titles FROM faculty FACULTY OF INFORMATION TECHNOLOGY