Quản trị cơ sở dữ liệu (SQL server)

30 1.3K 2
Quản trị cơ sở dữ liệu (SQL server)

Đ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

Tài liệu tham khảo công nghệ thông tin Quản trị cơ sở dữ liệu (SQL server)

Bảo mật SQLLời nói đầuSQL Server 7.0 ra đời là 1 bước nhảy vọt công nghệ CSDL so với CSDL SQL Server 6.5, SQL Server 2000 ra đời không ngừng cung cấp cho người dùng những công cụ và những đặc điểm mới phiên bản 7.0 còn thiếu sót.Ngoài những đặc tính khắc phục thiếu sót của SQL Server 7.0, phiên bản SQL Server 2000 còn thay đổi 1 số cục diện khác trong các chức năng lập trình cũng giống như trong quan hệ và ràng buộc dữ liệu.Ngoài ra SQL Server 2000 còn cung cấp 1 số công cụ hỗ trợ khác như Phân tích xử lí trực tuyến (OLAP), chuyển tác trực tuyến (OLPT), English Query…Tìm hiểu về SQL Server là 1 mảng đề tài rộng, bao gồm kỹ năng lập trình, kỹ thuật ứng dụng SQL vào ứng dụng thực tiễn, các mô hình CSDL, kĩ thuật mới của SQL Server 2000, quản trị CSDL, bảo mật…. Trong phạm vi đề tài này chỉ tìm hiểu về bảo mật trong SQL Server. Trần Kỳ Nam Page 1 11/23/2012 Bảo mật SQLMục lụcLời nói đầu 1Mục lục 21. Giới thiệu 31.1. Khái niêm bản về bảo mật 31.2. Giới thiệu chung về bảo mật trong SQL Server 42.Quản lí việc đăng nhập 42.1.Xác nhận việc đăng nhập 42.2.Sự xác nhận quyền 52.3.Tạo 1 đăng nhập 53.Quản lí người dùng 93.1Người dùng của SQL Server 93.2.Mối quan hệ giữa người dùng CSDL và tên đăng nhập 103.3.Quản lí tên người dùng và tên đăng nhập 104.Quyền người dùng (User Right) 104.1.Cấp phát quyền truy cập vào sở dữ liệu 104.2.Cấp phát quyền thực thi trên sở dữ liệu 135.Quyền tạo đối tượng trong CSDL 145.1.Sử dụng thủ tục 145.2.Sử dụng trình điều khiển EM 156.Quản lí vai trò 176.1.Vai trò trên CSDL 186.2.Vai trò trên server 196.3.Sử dụng các thủ tục khai báo 1 vai trò 196.4.Thêm 1 thành viên vào vai trò 207.Đối tượng CSDL và quyền với đối tượng 217.1.Đối tượng CSDL và chủ đối tượng 217.2.Quyền với đối tượng CSDL 227.3.Thừa nhận và loại bỏ quyền với 1 đối tượng 228. Một số bảo mật khác 298.1. Tài khoản Guest (Guest Account) 298.2. Cấu hình cổng TCP/IP 298.3. Không nên sử dụng tài khoản sa 30Trần Kỳ Nam Page 2 11/23/2012 Bảo mật SQL1.Giới thiệu:SQL Server là 1 hệ thống quản 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 sở dữ liệu quan hệ thong dụng hiện nay.Sử dụng RDBMS System như là cách thức bản để lưu trữ dữ liệu cho hầ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 vao` RDBMS và đặc biệt chỉ xoay quanh vấn đề bảo mật của SQL Server.Một sở dữ liệu trong 1 tổ chức hay trong 1 doanh nghiệp thể chúa đựng những dữ liệu hêt sức quan 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 quan trọ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 bản về bảo mậtBảo mật rất nhiều khái niệm, cho phép người quản trị CSDL tự ra quyết định cho phép hay không cho phép người dùng truy cập và thao tác trên CSDL sao cho hiệu quả bảo mậ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ật củ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 nhu cầ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 đa ngườ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ệuKhi đă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ấp UserID và Password. Dựa trên UserID hệ thống khả năng kiểm soát tát cả các hành vi của người sử dụng trên CSDL SQL Server 2000.Để làm được chức năng này, người quản trị 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 UserID nà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ài khoản, mật khảu, chiều dài, thời gian hiệu lực… như sau:- Một người sử dụng chỉ 1 UserID và 1 Password.Trần Kỳ Nam Page 3 11/23/2012 Bảo mật SQL- Thời gian hiệu lực của mật khẩu.- Chiều dài của mậ khẩu 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 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 thể được mô tả thông qua mô hình 3 tầng dưới đây:1. Xác nhận( Authentication)2.Khả năng là người dùng của 1 hay nhiều dữ liệu3.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 NT hoặc nhóm bảo mật để thể truy cập SQL Server thông qua việc dăng nhập vào server. Tầng kế tiếp là điều kiện để thể sử dụng 1 hay nhiều CSDL. Tầng trong cùng là điều kiện để thể thực hiện những phát biểu với những đối tượ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 đó thể truy cập vào CSDL. Trong SQL 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 đăng nhậ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 ra quyề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ết nối với SQL Server2.1.Xác nhận việc đăng nhập:Một người dùng cần phải tài khoản đăng nhập để kết nối với SQL Server. SQL Server 3 cách để xác nhận, mỗi cách 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ững ngườ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.Trần Kỳ Nam Page 4 11/23/2012 Bảo mật SQL- Windows NT Authentication : Khi 1 người dùng kết nối với SQL Server sử dụng Windows NT authentication, SQL Server kiểm lại với Windows NT xem tài khoản và mã đã đúng chưa.Nếu đúng thì người dùng thể kết nôi với SQL Server.- Mixed Mode Authentication: Người dùng 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ác lệ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 T-SQL,câu lệnh này được chuyển tới SQL Server2. Khi SQL Server nhận được câu lệnh, nó kiểm tra em người dùng quyền thực hiệ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 quyền, SQL Server thực hiện câu lệnh.- Nếu người dùng không quyền, SQL Server báo lỗi.Sử dụng Enterprise Manager, ta thể chọn kiểu xác nhận như là Windows Authentication và Mixed mode authentication2.3.Tạo 1 đăng nhập:Sử dụng Enterprise Manager ta thể quản lí việc đăng nhập bằng việc sử dụng Create Login Wizard cung cấp bởi SQL Server Enterprise Manager. Quá trình(Wizard) này cung cấ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 thể sử dụng các thủ tục thường trú( stored procedures) để tạo hay xóa các đăng nhập.Để tạo 1 đăng nhập, ta thể sử dụng câu lệnh sau:EXEC sp_addlogin[@login=]<’login’>[,@password=]<’password’>][,[@defdb=]<’database’>][,[@deflanguage=]<’language’>][,[@sid=] ‘sid’ ][,[@encriptopt=]<’encription_option’>]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 tài khoản trênTrần Kỳ Nam Page 5 11/23/2012 Bảo mật SQL@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ủa CSDL Master, nếu ta cung cấp tham số skip_encription thì mật khẩu sẽ 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 â6tj khẩu trước khi lưu vào bảng sysusers.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:EXEC sp_password[@old=]<’old password’>[,[@new=]<’new password’>][,[@loginname=]<’’login’>]Để xóa 1 đăng nhập, ta thể dùng câu lệnh sau :EXEC sp_droplogin ‘Nam’ Sử dụng trình điều khiển EMĐể tạo ra 1 tài khoản đăng nhập (Login User), bắt đầu từ màn hình Enterprise Manager (EM), sau đó chọn ngăn Security/Login, right click chọn New Login hay chọn menu action New Login như trong hình sau:Trần Kỳ Nam Page 6 11/23/2012 Bảo mật SQLNhư đã trình bày ở trên, 2 lựa chọn khi tạo một người dùng trong SQL Server 2000:- Tương tác với hệ điều hành Windows NT/2000- Sử dụng riêng cho SQL Server 2000Trong hình sau, dễ dàng nhận thấ khi chọn Windows NT authentication thì tham số tên miền của chúng yêu cầu, rõ ràng ta phải cung cấp tên miền hay địa chỉ TCP/IP của máy chủ, mặt khác tài khoản người dùng này phải tồn tại và hiệu lực tên mạng.Trần Kỳ Nam Page 7 11/23/2012 Bảo mật SQLSau khi tạo, SQL Server 2000 kiểm tra. Tài khoản người dùng hợp lệ hay không, tồn tại trên hệ điều hành Windows NT/2000 hay không. Nếu tất cả thông tin hợp lệ, đăng ký thành công.Trong trường hợp ta muốn tài khoản đó giá trị hiệu lực trong SQL Server 2000, chọn SQL Server authentication như hình sau:Trần Kỳ Nam Page 8 11/23/2012 Bảo mật SQLGhi chú:-Trong trường hợp sử dụng Tài khoản người dùng chung NT và SQL Server, nếu người dùng sử dụng tài khoản loại này họ thể xóa dữ liệu trên mạng.-Tùy vào quan điểm quản lý, nhà quản trị tự thiết lập hệ thống người dùng sao cho phù hợp với chiến lược bảo mật dữ liệu công ty.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.1Người dùng của SQL Server:1 mã người dùng 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ười dù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 CSDL books khác với tài khoản abc trong CSDL inventory,mặc chúng giống nhau.Trần Kỳ Nam Page 9 11/23/2012 Bảo mật SQL3.2.Mối quan hệ giữa người dùng CSDL và tên đăng nhập:1 người dùng trong 1 CSDL được xác nhận bởi mã người dùng(user ID) chứ không phải bởi mã đăng nhập (login ID).1 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ượng củ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ỗi CSDL trước khi 1 người sử dụng mã dăng nhập dó thể truy cập tới các đối tượng trong cá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 1 CSDL, nó coi như được gắn với mã người dùng khách. Nếu 1 CSDL không tài khoản khá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ài khoản người dùng 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:1 số thủ tục thường trú hay được sử dụng:1. sp_grantlogin cho phép tài khaỏn người dùng của Windows NT/2000 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 thể hay không thể thực thi trên 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 sở dữ liệu- Quyền thực hiện trên các đối tượng của sở dữ liệu- Quyền xử lý dữ liệu4.1.Cấp phát quyền truy cập vào 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 sở dữ liệu là cấp phát quyền, 2 cách để thực hiện việc cấp phát quyền này, bao gồm việc thực hiện 1 thủ tục sẵn hay sử dụng trình điều khiển EM, bằng cách thêm người sử dụng vào thành viên người dùng của sở dữ liệu.Trần Kỳ Nam Page 10 11/23/2012 [...]... sở dữ liệu account, chỉ cần chọn ngăn Users/R-Click / Delete hay chọn menu Action / 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ỏ 4.2.Cấp phát quyền thực thi trên sở dữ liệu: Sau khi cấp quyền cho phép người sử dụng truy cập vào sở dữ liệu account, bước kế tiếp bạn phải cho phép người sử dụng đó quyền truy cập và xử lý trên các đối tượng, cũng như xử lý dữ liệu. .. hay còn gọi là bí dang tên của tài khoản người dùng thành 1 tên khác khi truy cập vào sở dữ liệu chỉ định, trong trường hợp này SQL Server 2000 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 sở dữ liều SQL Server 2000, dĩ nhiên ứng dụng sẽ kết nối sở dữ liệu chỉ định, thì tài khoản dùng để kết nối vẫn là tên Tài khoản đăng nhập vào SQL Server... thành myaa vào sở dữ liệu account: /* sử dụng Use */ USE Account Go 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 sở dữ liệu, sử dụng thủ tục cú pháp như sau: Exec sp_revokedbaccess [@name_in_db=] < ‘ login ‘ > Giả sử rằng người sử dụng tên tài khoản sử dụng trong sở dữ liệu chỉ định... 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 Account Go Exec sp_revokedbaccess ‘ myaa ‘ Kết quả trả về như sau: User has been dropped from current database Trần Kỳ Nam Page 11 11/23/2012 Bảo mật SQL Sử dụng trinh EM Nếu sử dụng trình EM để cấp phát quyền truy cập của tà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ệu SQL Server... mật SQL Sử dụng thủ tục Để cấp phát quyền người sử dụng vào truy cập cơ sở dữ liệu bằng thủ tục, phải cú pháp như 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 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... 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 2000 cung cấp cá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ử... 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ền Update người dùng 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ền Delete người dùng 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 khóa ngoại, nếu người dùng quyền này, họ thể... hiện các bước sau: -Chọn tên sở dữ liệu muốn cấp phát -Chọn ngăn User -R-Click (nhấp phải) / New Database User hay chọn menu Action / New Database User -Chọn tên tài khoản trong 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 1 tài khoản đăng nhập SQL Server 2000 vào sở dữ liệu chỉ định dạng sau: Trần... 7.Đối tượng CSDL và quyền với đối tượng: 1 CSDL là 1 tập hợp của dữ liệu, bảng và các đối tượng khác Đối tượng CSDL giúp cho việc cấu trúc dữ liệu và định nghĩa dữ liệu được rõ ràng Quyền cho phép người dùng thực hiện các hành động trong CSDL 2 loại quyền : đối tượng và phát biểu Quyền đối tượng kiểm soát việc ai thể truy cập và xử lí dữ liệu và ai thể chạy các thủ tục thường trú Quyền phát biểu... vấn và xử lí dữ liệu Nếu cần thiết không cho phép người sử dụng truy vấn và xử lí dữ liệu trên đối tượng, sử dụng thủ tục Deny cú pháp như sau: DENY ALL [PRIVILEGES] | [,…N] ON . 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ệu SQL Server 2000), phải thực hiện các bước sau:-Chọn tên cơ sở dữ liệu muốn. 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ệu4 .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

Ngày đăng: 23/11/2012, 15:54

Hình ảnh liên quan

Trong hình sau, dễ dàng nhận thấ khi chọn Windows NT authentication thì tham số tên miền của chúng yêu cầu, rõ ràng ta phải cung cấp tên miền hay địa chỉ TCP/IP của máy  chủ, mặt khác tài khoản người dùng này phải tồn tại và có hiệu lực tên mạng. - Quản trị cơ sở dữ liệu (SQL server)

rong.

hình sau, dễ dàng nhận thấ khi chọn Windows NT authentication thì tham số tên miền của chúng yêu cầu, rõ ràng ta phải cung cấp tên miền hay địa chỉ TCP/IP của máy chủ, mặt khác tài khoản người dùng này phải tồn tại và có hiệu lực tên mạng Xem tại trang 7 của tài liệu.
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: - Quản trị cơ sở dữ liệu (SQL server)

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: Xem tại trang 12 của tài liệu.
8.2. Cấu hình cổng TCP/IP - Quản trị cơ sở dữ liệu (SQL server)

8.2..

Cấu hình cổng TCP/IP Xem tại trang 29 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan