Chuẩn bị cho kỳ thi cơ bản về DB2 9, Phần 2: Các vấn đề về bảo mật doc

75 478 1
Chuẩn bị cho kỳ thi cơ bản về DB2 9, Phần 2: Các vấn đề về bảo mật doc

Đ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

Chuẩn bị cho kỳ thi cơ bản về DB2 9, Phần 2: Các vấn đề về bảo mật Graham G. Milne, Chuyên gia DB2, IBM Canada Tóm tắt: Bài viết này giới thiệu các khái niệm xác thực, quyền xác nhận, và các đặc quyền vì chúng có liên quan đến DB2® 9. Đây là bài viết thứ hai trong loạt bảy bài viết giúp bạn chuẩn bị cho bài kiểm tra về các nguyên tắc cơ bản của DB2 9 (730). Bạn cần có các kiến thức cơ bản về các khái niệm cơ sở dữ liệu và bảo mật hệ điều hành. Đây là bài viết thứ hai trong loạt bảy bài viết để giúp bạn chuẩn bị cho bài kiểm tra về các nguyên tắc cơ bản của DB2® 9 cho Linux®, UNIX®, và Windows™. Trước khi bắt đầu Về loạt bài viết này Bạn đã nghĩ tới việc có một chứng chỉ về các khái niệm cơ bản của DB2 (Bài kiểm tra 730)? Nếu bạn nghĩ như thế thì bạn đã đến đúng chỗ. Loạt bảy bài viết chuẩn bị cho bài thi đề cập tới tất cả các khái niệm cơ bản các chủ đề mà bạn cần hiểu trước khi bạn đọc câu hỏi trong bài kiểm tra đầu tiên. Thậm chí nếu bạn không có ý định lấy chứng chỉ thì loạt bài viết này cũng là một bắt đầu tuyệt vời cung cấp cho bạn những điều mới mẻ về DB2 9. Về bài viết này Trong bài viết này bạn sẽ học về các đặc điểm bảo mật DB2 9, bao gồm thẩm định quyền và các quyền hạn. Đây là bài viết thứ hai trong loạt bài viết giúp bạn chuẩn bị cho bài kiểm tra 730 về các nguyên tắc cơ bản của DB2 9. Nội dung bài viết này đề cập đến các mục tiêu trong phần 2 của bài kiểm tra, phần này có tên là "Bảo mật" ("Security"). Bạn có thể xem các mục tiêu này tại: http://www.ibm.com/certify/tests/. Các điều kiện tiên quyết Để hiểu các khái niệm được mô tả trong bài viết này, bạn cần phải có kiến thức cơ bản về các khái niệm cơ sở dữ liệu và hiểu về các đặc điểm của hệ thống bảo mật của hệ điều hành. Các yêu cầu của hệ thống Các ví dụ trong bài viết này là cố định đối với DB2 chạy trên hệ điều hành Windows™ (với các đặc điểm bảo mật cơ bản). Tuy nhiên, các khái niệm và thông tin cung cấp cũng tương thích với DB2 chạy trên bất kỳ nền nào. Bạn không cần một bản sao DB2 9 để hoàn thành bài học này. Tuy nhiên, bạn sẽ biết được nhiều hơn những gì bài viết cung cấp nếu bạn tải phiên bản thử nghiệm miễn phí của IBM DB2 9 để làm việc cùng bài viết này. Cài đặt Để hoàn thành các bước trong bài viết, bạn cần phải: 1. Đăng nhập vào một máy Windows như một thành viên của nhóm quản trị. Trong các ví dụ của bài viết này, chúng ta sẽ đăng nhập bằng tài khoản người dùng là gmilne. 2. Cài đặt DB2 9. 3. Tạo một nhóm mới trên máy đã cài DB2. Bài viết sử dụng tài khoản nhóm là db2grp1. 4. Tạo một tài khoản người dùng thứ hai trên đó DB2 đã được cài đặt. Trong bài viết, vì mục đích đó mà chúng ta sẽ dùng tài khoản người dùng là test1. Lưu ý rằng người dùng test1 không phải là một thành viên trong nhóm quản trị. Bảo mật DB2 Các khía cạnh của bảo mật cơ sở dữ liệu Ngày nay, bảo mật có sở dữ liệu là điều tối quan trọng. Dữ liệu cơ sở của bạn có thể cho phép khách hàng mua các sản phẩm qua mạng, hoặc nó có thể chứa các dữ liệu đã dùng để tiên đoán về xu hướng kinh doanh và dù vì lý do gì thì công ty của bạn cũng cần một kế hoạch bảo mật cơ sở dữ liệu thật tốt. Một kế hoạch bảo mật cơ sở dữ liệu cần hiểu:  Ai được phép truy cập các thể hiện hay các dữ liệu.  Mật khẩu người dùng sẽ được kiểm tra ở đâu và như thế nào?  Giới hạn quyền mà người dùng được phép.  Các lệnh mà người dùng được thực hiện.  Dữ liệu mà người dùng được phép đọc hoặc thay đổi.  Các đối tượng cơ sở dữ liệu mà người dùng được phép tạo ra, thay đổi hoặc loại bỏ. Cơ chế bảo mật DB2 Có ba cơ chế bảo mật trong DB2 cho phép một DBA (người quản trị CSDL) thực hiện một kế hoạch bảo mật cơ sở dữ liệu: xác thực, quyền xác nhận, và các đặc quyền. Xác thực là đặc điểm bảo mật đầu tiên bạn sẽ phải giải quyết khi bạn cố truy cập một thể hiện hoặc cơ sở dữ liệu DB2. Xác thực DB2 làm việc gần với các đặc điểm bảo mật của hệ điều hành bên dưới để kiểm tra lại tài khoản người dùng và mật khẩu. DB2 cũng làm việc với các giao thức bảo mật như là Kerberos để xác thực người dùng. Quyền xác nhận liên quan đến việc chỉ định các thao tác mà người dùng/ nhóm người dùng có thể trình bày, và các đối tượng dữ liệu mà họ có thể truy cập. Khả năng trình bày dữ liệu bậc cao và thao tác quản lý thể hiện của người dùng được chỉ định bởi các quyền xác nhận mà họ đã được gán cho. Có năm mức xác nhận khác nhau trong DB2 là SYSADM, SYSCTRL, SYSMAINT, DBADM, và LOAD. Các đặc quyền có vẻ cụ thể hơn các xác thực và có thể được gán cho người dùng hoặc nhóm người dùng. Các đặc quyền cho phép định nghĩa các đối tượng mà người dùng có thể tạo ra hoặc bỏ đi. Các đặc quyền cũng định nghĩa các lệnh mà người dùng có thể sử dụng để truy cập đối tượng như là các bảng biểu, các khung nhìn, các chỉ mục và các gói. Điều mới trong DB2 là khái niệm kiểm soát truy cập theo nhãn (LBAC) cho phép kiểm soát cụ thể hơn về người dùng nào có thể truy cập các hàng hoặc cột riêng lẻ nào. Để chuẩn bị cho phần tiếp theo của bài viết, bạn sẽ cần tạo ra một cơ sở dữ liệu trong ví dụ DB2. Hãy đảm bảo rằng biến %DB2INSTANCE% vẫn có ở DB2 và sau đó tạo cơ sở dữ liệu mẫu sử dụng lệnh db2sampl drive (ổ đĩa), dùng tên của ổ mà bạn muốn tạo mẫu đó. Đối với những ví dụ trong bài viết này bạn sẽ tạo cơ sở dữ liệu mẫu trên ổ D của chúng ta như sau: D:\SQLLIB\BIN> db2sampl d: Các máy khách (clients), máy chủ (servers), cổng vào ra (gateways) và máy chủ lưu trữ (hosts) Việc bạn hiểu các khái niệm máy khách, máy chủ, cổng vào ra, và máy chủ phục vụ rất quan trọng khi chúng ta xem xét sự bảo mật của toàn bộ môi trường cơ sở dữ liệu. Một môi trường cơ sở dữ liệu bao gồm các máy khác nhau, bạn phải bảo vệ cơ sở dữ liệu ở bất kỳ điểm truy cập nào. Các khái niệm máy khách, máy chủ, cổng vào ra và máy chủ lưu trữ đặc biệt quan trọng khi làm việc với xác thực DB2. Sơ đồ dưới đây sẽ minh hoạ cấu hình cơ bản client-server-host. Máy chủ cơ sở dữ liệu là một máy (hoặc nhiều máy trong một hệ thống) mà cơ sở dữ liệu tồn tại một cách tự nhiên ở đó. Máy khách cơ sở dữ liệu DB2 là các máy được định cấu hình tìm các truy vấn ngược lại với các cơ sở dữ liệu trên máy chủ. Những máy khách này có thể tồn tại ở ngay trong một máy như máy chủ cơ sở dữ liệu hoặc có thể ở xa (trong các máy riêng biệt). Nếu cơ sở dữ liệu nằm trong một hệ thống máy chạy hệ điều hành như AS/400 (iSeries) hay OS/390 (zSeries), thì nó được gọi là một máy chủ lưu trữ hoặc máy chủ lưu trữ phục vụ. Một cổng vào ra là một máy chạy sản phẩm kết nối DB2. Thông qua cổng vào ra, máy khách DB2 có thể kết nối với một cơ sở dữ liệu DB2 nằm trên máy chủ lưu trữ. Cổng vào ra cũng được đề cập đến như một máy chủ lưu trữ kết nối DB2. Hệ thống cùng với bộ cài sản phẩm Enterprise Server Edition cũng có hàm kết nối DB2 cài sẵn. . Xác thực DB2 Khi xác thực DB2 Xác thực DB2 kiểm soát các mặt sau của một kế hoạch bảo mật cơ sở dữ liệu:  Ai có quyền truy cập thể hiện và/hoặc cơ sở dữ liệu.  Mật khẩu người dùng sẽ được kiểm tra lại khi nào và như thế nào? DB2 thực hiện các điều trên nhờ sự hỗ trợ của các đặc điểm bảo mật hệ điều hành cơ sở khi một lệnh đính kèm hoặc hoặc kết nối được phát ra. Một lệnh đính kèm được dùng để kết nối với thể hiện DB2 khi một lệnh kết nối được dùng để kết nối với cơ sở dữ liệu trong thể hiện DB2. Các thể hiện dưới đây đưa bạn đến với các cách thức khác nhau mà xác thực DB2 là người dùng đang phát ra các lệnh này. Những thể hiện này dùng loại xác nhận mặc định của máy chủ lưu trữ trong tệp cấu hình quản lý cơ sở dữ liệu. Ví dụ 3 dưới đây minh họa cách dùng DB2 để thay đổi mật khẩu trên OS của máy chủ lưu trữ. Đăng nhập vào máy có cài sẵn DB2 với tên người dùng bạn dùng để tạo thể hiện DB2. Phát ra các lệnh sau: db2 attach to DB2 Ở đây, xác thực được thực hiện hoàn toàn. Tài khoản người dùng thường đăng nhập vào máy đang dùng và giả định là nó đã được hệ điều hành kiểm tra lại. db2 connect to sample user test1 using password Database Connection Information Database server = DB2/NT 9.1.0 SQL authorization ID = TEST1 Local database alias = SAMPLE Ở đây, xác thực được thực hiện rõ ràng. Người dùng test1 với mật khẩu là password được hệ điều hành kiểm tra lại. Người dùng test1 kết nối thành công tới cơ sở dữ liệu mẫu. db2 connect to sample user test1 using password new chgpass confirm chgpass Tài khoản người dùng test1 với mật khẩu password được hệ điều hành kiểm tra lại như trong ví dụ 2. Mật khẩu cho test1 sau đó được hệ điều hành thay đổi từ password thành chgpass. Và kết quả là lệnh trong ví dụ 2 sẽ thất bại nếu bạn gửi lại lệnh trên. Các loại xác thực DB2 Các loại xác thực được DB2 dùng để chỉ định khi xác thực xảy ra. Ví dụ, trong môi trường một máy khách-máy chủ (client-server), máy khách hay máy chủ sẽ kiểm tra lại tài khoản và mật khẩu người dùng? Trong môi trường máy khách- cổng vào ra-máy chủ lưu trữ (client-gateway-host), liệu máy khách hay máy chủ lưu trữ sẽ kiểm tra lại tài khoản và mật khẩu người dùng? DB2 9 có khả năng xác định các cơ chế bảo mật khác nhau tùy thuộc vào liệu người dùng có cố kết nối với cơ sở dữ liệu hay trình bày các thể hiện đính kèm và các thể hiện mức thao tác. Thông qua mặc định, thể hiện được thiết lập để dùng một loại xác thực cho tất cả các mức của thể hiện cũng như mức yêu cầu kết nối. Điều này được xác định bằng tham số cấu hình quản lý dữ liệu AUTHENTICATION. Tham số cấu hình quản lý dữ liệu SRVCON_AUTH được giới thiệu trong V9.1. Tham số này giải quyết việc kết nối tới cơ sở dữ liệu. Vì thế, ví dụ là nếu bạn có tập hợp sau trong DBM CFG của bạn: DB2 GET DBM CFG Server Connection Authentication (SRVCON_AUTH) = KERBEROS Database manager authentication (AUTHENTICATION) = SERVER_ENCRYPT Thì các tệp đính kèm vào thể hiện sẽ dùng SERVER_ENCRYPT. Dẫu sao kết nối tới cơ sở dữ liệu có thể dùng xác thực KERBEROS. Nếu KERBEROS ban đầu không phải dành cho máy chủ nhưng một tài khoản người dùng còn hiệu lực kèm mật khẩu được cung cấp thì người dùng sẽ được phép đính kèm vào thể hiện nhưng không được phép truy cập dữ liệu. Bảng sau tổng kết các loại xác thực DB2. Trong một môi trường máy khách-cổng- máy chủ lưu trữ, những lựa chọn xác thực này được lập trong máy khách và cổng vào ra chứ không phải trong máy chủ lưu trữ. Trong phần này chúng ta sẽ thảo luận kỹ hơn về việc lập các lựa chọn này. Xem Máy khách, máy chủ, cổng vào ra, và máy chủ lưu trữ để biết thêm chi tiết. Loại Mô tả Máy chủ (SERVER) Xác thực xảy ra trong máy chủ. SERVER_ENCRYPT Xác thực xảy ra trong máy chủ. Mật khẩu được mã hóa ở máy khách trước khi được gửi tới máy chủ. Máy khách (CLIENT) Xác thực xảy ra trong máy khách (xem Giải quyết các máy khách không chính xác đối với các trường hợp ngoại lệ). *KERBEROS Xác thực được trình bày bởi phần mềm bảo mật Kerberos. *KRB_SERVER_ENCRYPT Xác thực được trình bày bởi phần mềm bảo mật Kerberos nếu máy khách có cài KERBEROS. Nếu không, SERVER_ENCRYPT sẽ được dùng. DATA_ENCRYPT Xác thực xảy ra trong máy chủ. Máy chủ chấp nhận tài khoản và mật khẩu người dùng được mã hóa, và sẽ mã hóa dữ liệu. Điều này cũng xảy ra tương tự như SERVER_ENCRYPT, ngoại trừ dữ liệu cũng được mã hóa. DATA_ENCRYPT_CMP Xác thực tương tự với DATA_ENCRYPT, ngoại trừ việc hệ thống này cho phép các máy khách cũ mà không cung cấp hệ thống DATA_ENCRYPT để [...]... thấy trong các ví dụ này cách mã hoá các chốt bảo mật Phần này sẽ phác thảo cách dùng các chốt trong cấu trúc bảo mật DB2 nhưng không bao quát cách mã hoá hoặc biên soạn chính các chốt Để hiểu thêm chi tiết về vấn đề này hãy xem Bảo mật DB2 phần 2: Hiểu về chốt bảo mật tổng quát DB2 Xác thực Kerberos Xác thực Kerberos cung cấp cho DB2 cách xác thực người dùng mà không cần gửi tài khoản và mật khẩu người... hiện sẽ bị bỏ qua Và xác thực sẽ được cho là xảy FED_NOAUTH ra tại gốc dữ liệu Các thao tác cảnh báo khi "fed_noauth" được cài là YES Xác thực không được thực hiện tại máy khách hay DB2 Bất kỳ người dùng nào biết tên xác thực SYSADM có thể cho rằng quyền hạn SYSADM dành cho các máy chủ liên kết Quyền hạn DB2 Giới thi u về quyền hạn Các quyền hạn DB2 kiểm soát các mặt sau trong một kế hoạch bảo mật cơ sở... LOAD:  db2 quiesce tablespaces for table  db2 list tablespaces  db2 runstats (bảng bất kỳ)  db2 load insert (cần phải chèn các đặc quyền trên bảng)  db2 load restart/terminate after load insert (cần phải chèn các đặc quyền trên bảng)  db2 load replace (cần phải chèn và xóa các đặc quyền trên bảng)  db2 load restart/terminate after load replace (cần phải chèn và xóa các đặc quyền trên bảng) Chỉ... cả các lệnh quản trị và lưu giữ trong thể hiện Tuy nhiên, không giống như người dùng SYSADM họ không thể truy cập bất kỳ dữ liệu nào trong cơ sở dữ liệu trừ khi họ được cho phép các đặc quyền thực hiện điều đó Đây là các ví dụ các lệnh người dùng SYSCTRL có thể trình bày ngược lại bất kỳ cơ sở dữ liệu này trong thể hiện:  db2start/db2stop  db2 create/drop database  db2 create/drop tablespace  db2. .. khách: db2 catalog database sample at node nd1 authentication client Trong ví dụ trước, nếu lệnh db2 connect to sample được phát ra từ bất kỳ máy khách nào, xác thực sẽ xảy ra trên máy khách đó Nếu lệnh db2 connect to sample user test1 using password được phát ra từ bất kỳ máy khách nào, thì xác thực sẽ xẩy ra trên máy chủ Cấu trúc chốt bảo mật của DB2 DB2 V8.2 giới thi u khái niệm cấu trúc chốt bảo mật. .. dùng SYSMAINT có thể trình bày các tác vụ có liên quan đến lưu giữ, như là:  db2start/db2stop  db2 backup/restore/rollforward database  db2 runstats (against any table)  db2 update db cfg for database dbname Lưu ý rằng người dùng SYSMAINT không thể tạo hoặc xóa cơ sở dữ liệu hay bảng biểu Họ không thể truy cập bất kỳ dữ liệu nào trong cơ sở dữ liệu trừ khi họ được cho các đặc quyền để thực hiện điều... với các đối tượng cơ sở dữ liệu và nội dung của nó Vì quyền hạn DBADM là quyền hạn mức cơ sở dữ liệu nên nó có thể được gán cho từng người dùng hoặc nhóm người dùng Lệnh sau minh họa các cách khác nhau mà bạn có thể cho quyền hạn DBADM  db2 create database test Lệnh này cho người dùng có quyền hạn DBADM ngầm trên cơ sở dữ liệu có tên là test để thực thi lệnh  db2 connect to sample db2 grant dbadm on... khái niệm cấu trúc chốt bảo mật cho DB2 Khái niệm này nổi bật nhiều tính năng trong DB2 V9.1 Dùng lệnh gọi chuẩn GSS-AIP, người dùng có thể viết một chốt bảo mật và thông qua việc xác thực tài khoản người dùng tới một chương trình bảo mật rõ ràng Một ví dụ cho việc này chính là xác thực KERBEROS của DB2 Khi bạn cài đặt DB2 ESE hoặc ứng dụng phát triển máy khách trên một phần của máy, mã ứng dụng mẫu... DRDAONLY chỉ đề cập tới các máy khách thuộc máy chủ lưu trữ, mặc dù thực tế là DB2 phiên bản 8 kết nối máy khách cũng sử dụng DRDA Các ví dụ dưới đây minh hoạ các loại cài đặt xác thực và tham số trên máy chủ và máy khách: Cài đặt xác thực trên máy chủ: db2 update dbm cfg using authentication client db2 update dbm cfg using trust_allclnts yes db2 update dbm cfg using trust_clntauth server db2stop db2start... liệu trên một máy chủ (nền tảng phân phối DB2 UDB LUW), và một máy kết nối với cơ sở dữ liệu trên một máy chủ lưu trữ (ví dụ như DB2 cho zSeries)  Máy khách kết nối với một cơ sở dữ liệu máy chủ: Cài đặt xác nhận máy khách trong thư mục cơ sở dữ liệu nhập vì cơ sở dữ liệu đang được kết nối phải phù hợp với cơ sở dữ liệu của cơ sở dữ liệu máy chủ (ngoại lệ là các trường hợp KRB_SERVER_ENCRYPT, DATA_ENCRYPT_CMP, . Chuẩn bị cho kỳ thi cơ bản về DB2 9, Phần 2: Các vấn đề về bảo mật Graham G. Milne, Chuyên gia DB2, IBM Canada Tóm tắt: Bài viết này giới thi u các khái niệm xác thực, quyền xác nhận, và các. đến DB2 9. Đây là bài viết thứ hai trong loạt bảy bài viết giúp bạn chuẩn bị cho bài kiểm tra về các nguyên tắc cơ bản của DB2 9 (730). Bạn cần có các kiến thức cơ bản về các khái niệm cơ sở. chốt. Để hiểu thêm chi tiết về vấn đề này hãy xem Bảo mật DB2 phần 2: Hiểu về chốt bảo mật tổng quát DB2. Xác thực Kerberos Xác thực Kerberos cung cấp cho DB2 cách xác thực người dùng mà

Ngày đăng: 07/08/2014, 09:23

Từ khóa liên quan

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

Tài liệu liên quan