Phân tích ứng dụng bảo mật trong SQL server

45 540 0
Phân tích ứng dụng bảo mật trong 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

SQL 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.

Phân tích ứng dụng bảo mật trong SQL Server Lời nói đầu SQL 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. 1 Phân tích ứng dụng bảo mật trong SQL Server 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ệ 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 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 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ứ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 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ép hay 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ả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. 2 Phân tích ứng dụng bảo mật trong SQL Server 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ệ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ấp UserID 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 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 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: 3 Phân tích ứng dụng 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: 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 NT hoặc nhóm bảo mật để có 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 để 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 đố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 đó có 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 4 Phân tích ứng dụng bảo mật trong SQL Server 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 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ữ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. - 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 có thể kết nôi với SQL Server. - 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á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: 5 Phân tích ứng dụng bảo mật trong SQL Server 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 Server 2. Khi SQL Server nhận được câu lệnh, nó kiểm tra em người dùng có 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 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ụng Enterprise Manager, ta có thể chọn kiểu xác nhận như là Windows Authentication 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 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 có 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 có thể sử dụng câu lệnh sau: EXEC sp_addlogin [@login=]<’login’> [,@password=]<’password’>] [,[@defdb=]<’database’>] 6 Phân tích ứng dụng bảo mật trong SQL Server [,[@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 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ủ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’>] 7 Phân tích ứng dụng bảo mật trong SQL Server [,[@loginname=]<’’login’>] Để xóa 1 đăng nhập, ta có 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: 8 Phân tích ứng dụng bảo mật trong SQL Server 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 2000: - Tương tác với hệ điều hành Windows NT/2000 - Sử dụng riêng cho SQL Server 2000 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 9 Phân tích ứng dụng bảo mật trong SQL Server đị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. Sau khi tạo, SQL Server 2000 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 NT/2000 hay không. Nếu tất cả thông tin hợp lệ, đăng ký thành công. 10 [...]... 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 cơ sở dữ liệu chỉ định có dạng sau: 16 Phân tích ứng dụng bảo mật trong SQL Server 17 Phân tích ứng dụng bảo mật trong SQL Server 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.. .Phân tích ứng dụng bảo mật trong SQL Server Trong trường hợp ta muốn tài khoản đó có giá trị hiệu lực trong SQL Server 2000, chọn SQL Server authentication như hình sau: Ghi 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ọ có thể xóa dữ liệu trên mạng -Tùy vào quan... 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… 22 Phân tích ứng dụng bảo mật trong SQL Server 23 Phân tích ứng dụng bảo mật trong SQL Server 6.Quản lí vai trò: Vai trò là rất quan trọng bởi chúng là cách chính để cấp các quyền hệ thống cho người dùng Các quyền có... 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: 11 Phân tích ứng dụng bảo mật trong SQL Server 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 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... 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 2000, ta có 2 cách, sử dụng thủ tục hệ thống và trình điều khiển EM 20 Phân tích ứng dụng bảo mật trong SQL Server 5.1.Sử dụng thủ tục Sử dụng thủ tục hệ thống GRANT có cú pháp sau: GRANT TO [,…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 cho... thể thực hiện phát biểu Insert, trong trường hợp SQL Server 2000, quyền Reference không lien quan đến quyền truy vấn Select 19 Phân tích ứng dụng bảo mật trong SQL Server EXECUTE: Quyền này cho phép người dùng thực thi thủ tục (SP) trong CSDL, với quyền Execute người dùng có thể xóa mẩu tin dữ liệu bằng phát biểu Exec hay Execute SP 5.Quyền tạo đối tượng trong CSDL Trong CSDL có các đối tượng và một... đăng nhập vào SQL Server 2000 14 Phân tích ứng dụng bảo mật trong SQL Server 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ản mya đổi bí danh thành myaa vào cơ 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... hình các tham số và tắt server Setupadmin: quản lí các thủ tục khỏi động và lien kết server Processadmin: quản lí các chuyển tác đang chạy trên SQL Server 2000 Điều này có nghĩa vai trò này có thể đưa ra câu lệnh KILL, kết thúc công việc 1 người dùng Diskadmin: quản lí các file trên đĩa 27 Phân tích ứng dụng bảo mật trong SQL Server Dbcreator: có thể tạo, xáo trộn, xóa CSDL 6.3.Sử dụng các thủ tục khai... Select,update,insert,delete Execute 33 Phân tích ứng dụng bảo mật trong SQL Server 7.3.Thừa nhận và loại bỏ quyền với 1 đối tượng: SQL Server sử dụng các lệnh GRANT, REVOKE, DENY để quản lí các 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... quyền của các vai trò đó Ta có thể tạo vai trò trên CSDL dùng Enterprise Manager hoặc sử dụng các thủ tục thường trú hệ thống Giống như các đối tượng CSDL, ta cần đặt tên cho các vai trò 26 Phân tích ứng dụng bảo mật trong SQL Server SQL Server có 2 loại vai trò: - Vai trò chuẩn (standard role): gần giống với các nhóm trong Windows NT Vai trò này có thể bao gồm người dùng, các quyền Khi 1 người dùng kê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. 1 Phân tích ứng dụng bảo mật trong SQL Server 1.Giới thiệu: SQL Server là. dễ gây khó khăn sau này. 1.2.Giới thiệu chung về bảo mật trong SQL Server: 3 Phân tích ứng dụng 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ạng sau: 16 Phân tích ứng dụng bảo mật trong SQL Server 17 Phân tích ứng dụng bảo mật trong SQL Server 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

Ngày đăng: 09/10/2014, 21:02

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan