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 - Pdf 20

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


 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

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.


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

Xác thực được cài trên cơ sở dữ liệu máy chủ trong tệp cấu hình quản lý cơ sở dữ
liệu (DBM CFG) dùng tham số AUTHENTICATION. Lưu ý, tệp DBM CFG là
một tệp cấu hình mức thể hiện. Do đó, tham số AUTHENTICATION ảnh hưởng
tới tất cả các cơ sở dữ liệu trong thể hiện. Lệnh sau đây minh họa cách mà tham số
được thay đổi.
Để xem tham số xác thực trong tệp cấu hình:
db2 get dbm cfg

Để thay đổi tham số xác thực cho server_encrypt:
C:\PROGRA~1\SQLLIB\BIN> db2 update dbm cfg using authentication
server_encrypt
C:\PROGRA~1\SQLLIB\BIN> db2stop
C:\PROGRA~1\SQLLIB\BIN> db2start Các loại xác thực như là GSSPLUGIN, KERBEROS, và CLIENT cần cài các
tham số cấu hình quản lý dữ liệu như TRUST_ALLCLNTS,
SRV_PLUGIN_MODE, và SRVCON_PW_PLUGIN. Xem thêm chi tiết trong các
cài đặt dưới đây. Cài đặt xác thực cho cổng vào ra
Xác thực được cài đặt vào cổng vào ra bằng cách dùng lệnh danh mục cơ sở dữ
liệu. Trong các ví dụ dưới đây, chúng ta sẽ dùng một cơ sở dữ liệu máy chủ lưu trữ
được đặt tên là myhostdb.
Để cài đặt loại xác thực của cổng vào ra gửi tới SERVER, bạn có thể phát ra lệnh
sau trên cổng vào ra:
db2 catalog database myhostdb at node nd1 authentication SERVER
db2 terminate



db2 catalog database myhostdb at node nd1 authentication SERVER

Bây giờ, giả định rằng xác thực được cài trên SERVER_ENCRYPT ở cổng
vào ra. Lại một lần nữa xác thực xảy ra trên máy chủ lưu trữ cơ sở dữ liệu.
Mật khẩu và tài khoản người dùng được mã hóa trên máy khách trước khi
được gửi tới cổng vào ra và mã hóa trên cổng vào ra trước khi được gửi tới
máy chủ lưu trữ dữ liệu. Đây là một hành động mặc định. Đối phó với máy khách không đủ độ tin cậy
Nếu máy chủ hoặc cổng vào ra có tổ hợp xác thực trong CLIENT thì có nghĩa là
máy khách đó sẽ xác thực tài khoản và mật khẩu người dùng. Tuy nhiên một vài
máy khách có thể không có hệ điều hành có các đặc điểm bảo mật cục bộ. Những
máy khách không đủ độ tin cậy này bao gồm máy khách DB2 chạy trên Window
98 và Window ME. DB2 V9.1 không hỗ trợ Window 98 và Window ME nhưng
nó hỗ trợ các máy khách bậc thấp và cũng phải đối phó với các máy khách không
đủ độ tin cậy V8.
Có hai loại tham số thêm vào trong tệp DBM CFG thường chỉ định khi nào thì xác
thực nên xảy ra và khi phương pháp xác thực máy chủ và máy chủ lưu trữ được
cài vào CLIENT và các máy khách không đủ độ tin cậy đang cố kết nối tới cơ sở
dữ liệu hoặc được đính kèm vào thể hiện DB2. Đây chính là các tham số
TRUST_ALLCLNTS và TRUST_CLNTAUTH.
Khi loại xác thực máy chủ hoặc cổng vào ra là CLIENT thì sẽ có hai yếu tố khác
thêm vào các tham số TRUST_ALLCLNTS và TRUST_CLNTAUTH. Yếu tố đầu
tiên là liệu tài khoản và mật khẩu người dùng có được cung cấp cụ thể rõ ràng hay
không, và yếu tố thứ hai là loại kết nối của máy khách. Có ba loại khách hàng
DB2 là:
 Máy khách không đủ độ tin cậy: như mô tả trên.
 Các máy khách hoạt động trên máy chủ lưu trữ: Máy khách chạy trên

T
CLIEN
T
No Yes SERVER CLIENT

CLIEN
T
CLIEN
T
No No CLIENT
SERVE
R
CLIEN
T
CLIEN
T
No No SERVER
SERVE
R
CLIEN
T
CLIEN
T
No DRDAONLY CLIENT
SERVE
R
SERVE
R
CLIEN
T

SERVE
R
SERVE
R
Yes DRDAONLY CLIENT
SERVE
R
SERVE
R
CLIEN
T
Yes DRDAONLY SERVER
SERVE
R
SERVE
R
SERVE
R
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
bày xác thực như một dịch vụ xác thực thứ ba bằng việc sử dụng mật mã quy ước
để tạo ra khóa bí mật chia sẻ. Chìa khóa này sẽ trở thành chứng thư người dùng và
được dùng để kiểm tra lại nhận dạng của người dùng trong tất cả các trường hợp
mà dịch vụ cục bộ hoặc diện rộng được yêu cầu. Sử dụng giao thức xác thực
Kerberos cho phép người dùng đăng nhập vào một máy chủ cơ sở dữ liệu DB2 từ
xa.
Đầu tiên, hãy xem lại quá trình cài đặt DB2 để sử dụng xác thực Kerberos. Như đề
cập ở trên, xác thực Kerberos được cài đặt trên DB2, dùng cấu trúc chốt. Mã
nguồn cho chốt Kerberos mặc định được cung cấp trong thư mục
samples/security/plugins, gọi là IBMkrb5.c. Trước khi Kerberos làm việc cho
DB2, Kerberos phải được cho phép và hỗ trợ trên cả máy khách lẫn máy chủ. Để
thực hiện điều này, chúng ta phải có những điều kiện sau:
1. Máy khách và máy chủ phải thuộc về một phạm vi chung (tên miền tin cậy
trong thuật ngữ Windows).
2. Các nguyên tắc phù hợp phải được cài đặt (tài khoản người dùng trên
Kerberos).
3. Tệp keytab của máy chủ phải được tạo và đọc được bởi chính các thể hiện.
4. Tất cả các máy phải được đồng bộ hóa về thời gian.
Bạn có thể tìm thêm thông tin về cài đặt Kerberos trong tài liệu đi kèm với sản
phẩm cài đặt Kerberos.
Để cho phép DB2 sử dụng xác thực KERBEROS, trước tiên bạn phải chỉ cho máy
khách vị trí của chốt Kerberos mà bạn đang dùng. Trên máy khách bạn chạy lệnh
sau:
DB2 UPDATE DBM CFG USING CLNT_KRB_PLUGIN IBMkrb5
DB2 TERMINATE Trong ví dụ này, chốt Kerberos mặc định được sử dụng. Chốt Kerberos cũng có
thể được DBA thay đổi để trình bày các hàm đặc biệt nếu nó nhận được yêu cầu từ
Kerberos đang được sử dụng.

hay
DB2 UPDATE DBM CFG USING SVRCON_AUTH
KRB_SERVER_ENCRYPT Phụ thuộc vào độ rộng của bit (32 hoặc 64 bit) của thể hiện, DB2 sẽ tự động tải
IBMkrb5 khi thể hiện được bắt đầu. Các cài đặt xác thực khác
Nếu bạn nhìn vào thể hiện của DBM CFG phiên bản 9.1, bạn sẽ nhìn thấy các cài
đặt khác nhau ảnh hưởng đến cách DB2 xác thực tài khoản người dùng. Như đã đề
cập ở trên có rất nhiều cài đặt cho xác thực tài khoản người dùng OS chuẩn
(CLIENT, SERVER, SERVER_ENCRYPT, DATA_ENCRYPT,
DATA_ENCRYPT_CMP), và các chốt để đưa xác thực tới chương trình mở rộng
(KERBEROS, KRB_SERVER_ENCRYPT, GSSPLUGIN,
GSS_SERVER_ENCRYPT). Phần này đặc biệt giải quyết một số biến cấu hình
mà có ảnh hưởng tới cách một người dùng được xác thực.
Client Userid-Password Plugin (CLNT_PW_PLUGIN) =
Group Plugin (GROUP_PLUGIN) =
GSS Plugin for Local Authorization (LOCAL_GSSPLUGIN) =
Server Plugin Mode (SRV_PLUGIN_MODE) = UNFENCED
Server List of GSS Plugins (SRVCON_GSSPLUGIN_LIST) =
Server Userid-Password Plugin (SRVCON_PW_PLUGIN) =
Cataloging allowed without authority (CATALOG_NOAUTH) = NO
Bypass federated authentication (FED_NOAUTH) = NO

Trong bản danh sách trên, các tham số được đề cập tới đã được loại bỏ.
CLNT_PW_PLUGIN
Tham số này được xác định trên máy khách DBM


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status