Sau khi đã cài đặt xong gói phần mềm VOMS, ta tiến hành tạo ra tổ chức ảo.
Có 2 cách để tạo mới 1 tổ chức ảo là sử dụng các câu lệnh tạo trực tiếp trong gói cài
đặt gLite VOMS MYSQL; hoặc điền trực tiếp thông tincác tệp cấu hình trong glite
trong tiện tích đi kèm của gói gLite.
111 trang |
Chia sẻ: lylyngoc | Lượt xem: 2579 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu việc đảm bảo an toàn thông tin trong hệ thống tính toán lưới, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ứng trên
VO.
Cụ thể, để xác định người dùng trong VO được phép làm gì, VOMS-Admin
tổ chức danh sách điều khiển truy cập ACL (Access Control List). ACL bao gồm
nhiều mục, mỗi mục là một cặp: chủ thể VO và quyền được phép. Chủ thể VO có
thể là quản trị của VO, thành viên của VO, VOMS FQAN hoặc bất cứ người dùng
có chứng thực nào.
65
Các quyền cơ bản của các chủ thể VO trong VOMS là:
Quyền cơ bản Ý nghĩa
CONTAINER_READ
CONTAINER_WRITE
Thao tác duyệt, thêm xóa nhóm và vai trò.
Thêm, xóa người dùng.
MEMBERSHIP_READ
MEMBERSHIP_WRITE
Quản lý thành viên trong nhóm, vai trò.
ATTRIBUTES_READ
ATTRIBUTES_WRITE
Quản lý các thuộc tính của người dùng, nhóm,
vai trò.
ACL_READ
ACL_WRITE
ACL_DEFAULT
Quản lý ACL và ACL mặc định của VO.
REQUESTS_READ
REQUESTS_WRITE
Quản lý đăng ký, gia nhập nhóm, gán vai trò.
Bảng 3-1: Các quyền cơ bản trong VOMS.
Bên cạnh các ACL, trong mỗi nhóm còn có các ACL mặc định. Nó liên quan
đến ACL của nhóm con và nhóm cha. Mặc định, khi các nhóm con được tạo ra, nó
sẽ kế thừa ACL của nhóm cha.
Khi người quản trị cần ACL của nhóm con khác với ACL của nhóm cha,
Default ACL được thiết lập. Nhóm con sẽ kế thừa Default ACL của nhóm cha, thay
vì ACL của nhóm cha.
3.2.3.2 Quyền thực hiện các tác vụ quản lý VO trong VOMS.
Mọi thao tác trong quản lý VO đều căn cứ vào các quyền hạt nhân trên để
tiến hành phân quyền. Khi một tác vụ được triệu gọi, các quyền của người triệu gọi
sẽ được đưa ra, so sánh với các quyền cơ bản cần thiết để được phép thực hiện tác
vụ. Nếu người dùng đủ quyền, tác vụ mới được thực hiện. Nếu không, tác vụ sẽ bị
dừng.
66
Sau đây, ta sẽ đưa ra các tác vụ quản lý trong VOMS và các quyền cơ bản
cần phải có để có thể thực hiện các tác vụ này. Để đơn giản, ta quy định một số ký
hiệu:
Tên Chú thích
/vo Nhóm gốc trong VO
(g,R) Chủ thể trong VO có vai trò R trong tổ chức g
(g→ g’) Tất cả các nhóm từ nhóm g đến nhóm g’ trong VO
parent(g) Nhóm cha của nhóm g
R Quyền đọc
W Quyền ghi
D Quyền mặc định (dùng cho ACL)
C: Quyền với nhóm, vai trò.
M: Quyền với thành viên
Atts: Quyền với thuộc tính
Acl: Quyền với Acl
Req: Quyền với quản lý đăng ký
Bảng 3-2: Bảng ký hiệu các khái niệm trong VO.
67
Các tác vụ quản lý VO và các quyền cần thiết để thực hiện nó là:
Tác vụ Quyền cần thiết
Tạo/ Xóa người dùng (/vo,C:rw M:rw)
Tạo/ Xóa nhóm (/vo, C:rw)
(/vo → parent(parent(g)), C:r)
(parent(g), C:rw)
Liệt kê nhóm con (/vo → g, C:r)
Tạo/ Xóa vai trò (/vo, C:rw)
Liệt kê vai trò (/vo, C:r)
Thêm/ Bớt thành viên trong nhóm g (/vo → parent(g) , C:r)
(g, M:rw)
Liệt kê các thành viên của nhóm g (/vo → parent(g) , C:r)
(g, M:rw)
Gán/ Bỏ vai trò R trong nhóm g (/vo → parent(g) , C:r)
((g,R), M:rw)
Liệt kê các thành viên có vai trò R
trong nhóm g
(/vo → parent(g) , C:r)
((g,R), M:r)
Tạo/ Xóa thuộc tính người dùng (/vo, Attrs:rw)
Liệt kê các thuộc tính của người dùng (/vo, Attrs:r)
Tạo/ Xóa thuộc tính của nhóm (/vo → parent(g) , C:r)
(/vo, Attrs: rw)
(g, Attrs:rw)
Liệt kê các thuộc tính của nhóm (/vo → parent(g) , C:r)
(/vo, Attrs: r)
(g, Attrs:r)
68
Tạo/ Xóa các thuộc tính của vai trò. (/vo → parent
(g) , C:r)
(/vo, Attrs: rw)
((g,R), Attrs:rw)
Liệt kê các thuộc tính của vai trò (/vo → parent(g) , C:r)
(/vo, Attrs: r)
((g,R), Attrs:r)
Sửa ACL của nhóm g (/vo → parent(g) , C:r)
(g, Acl:rw)
Xem ACL của nhóm g (/vo → parent(g) , C:r)
(g, Acl:r)
Sửa ACL của vai trò R trong nhóm g (/vo → parent(g) , C:r)
((g,R), Acl:rw)
Xem ACL của vai trò R trong nhóm g (/vo → parent(g) , C:r)
((g,R), Acl:r)
Sửa ACL mặc định của nhóm g (/vo → parent(g) , C:r)
(g, Acl:rwd)
Xem ACL mặc định của nhóm g (/vo → parent(g) , C:r)
(g, Acl:rd)
Sửa ACL mặc định của vai trò R trong
nhóm g
(/vo → parent(g) , C:r)
((g,R), Acl:rwd)
Xem ACL mặc định của vai trò R trong
nhóm g
(/vo → parent(g) , C:r)
((g,R), Acl:rd)
Bảng 3-3: Các tác vụ trong quản trị VO và các quyền yêu cầu.
69
3.3. DỊCH VỤ TẠO DANH SÁCH TRUY CẬP EDG-MKGRIDMAP.
Đối với người dùng mới trên lưới tính toán, sau khi hoàn thành bước đăng ký
và được chấp nhận là thành viên của lưới, họ có quyền yêu cầu tài nguyên để thực
hiện các bài toán trên lưới. Trên các máy thực thi, làm thế nào để có thể nhận biết
người dùng lưới này có quyền sử dụng tài nguyên hay không, nếu có thì quyền hạn
của họ đến đâu. Dịch vụ EDG-MKGRIDMAP là một công cụ cho phép kết nối VO
với RP hay là người dùng với tài nguyên.
EDG-MKGRIDMAP là một perl script, được phát triển bởi European
Datagrid. Nhiệm vụ của EDG-MKGRIDMAP (EDG Make Gridmap) là tương tác
với các dịch vụ quản lý người dùng ở mức trên như VOMS, LDAP và sinh ra các
tệp gridmap theo yêu cầu. Cụ thể, EDG-MKGRIDMAP thiết lập kênh thông tin an
toàn với VOMS server, sau đó nó lấy các thông tin về người dùng trong VO. Trên
các máy thực thi, người quản trị tác động vào EDG-MKGRIDMAP chính sách tài
nguyên cục bộ của mình. Chính sách này dựa trên các thỏa thuận với VO về tài
nguyên đóng góp, sẽ quy định các quyền hạn định của người dùng lưới trên tài
nguyên của họ.
Quy định này được thực thi qua 2 bước. Bước thứ nhất là tạo ra các tài khoản
cục bộ cần dùng và quy định quyền sử dụng tài nguyên đóng góp cho các tài khoản
cục bộ đó. Bước tiếp theo là quy định các người dùng trên VO sẽ được gắn vào tài
khoản nào. Các chính sách sử dụng cục bộ này, kết hợp với danh sách các người
dùng trong VO được truy xuất lúc hoạt động sẽ là đầu vào của quá trình tạo ra các
tệp ánh xạ gridmap. Đầu ra của quá trình được các dịch vụ lưới sử dụng để kiểm tra
quyền.
Có rất nhiều công cụ giống như EDG-MKGRIDMAP, ví dụ GUMS, nhưng
EDG-MKGRIDMAP vẫn được sử dụng rộng rãi và phổ biến. Tuy quá trình ánh xạ
còn cứng nhắc, không hỗ trợ cơ chế ánh xạ động, nhưng nhờ tính đơn giản, gọn
nhẹ, dễ sử dụng; EDG-MKGRDIMAP hiện tại là một dịch vụ không thể tách rời
trong cộng đồng lưới LCG/EGEE…
70
Chương 4. KẾT QUẢ THỬ NGHIỆM
4.1. HỆ THỐNG QUẢN LÝ NGƯỜI DÙNG LƯỚI TÍNH TOÁN
Tác giả đã tham gia cùng nhóm nghiên cứu lưới AGP, thuộc trung tâm tính
toán hiệu năng cao HPCC (Đại Học Bách Khoa Hà Nội) để thiết kế và xây dựng
thành phần bảo vệ cho hệ thống lưới tìm kiếm và so khớp tài liệu điện tử GOODAS
(Grid Oriented Online Document Analysing System). GOODAS là một hệ thống
lưới phục vụ chia sẻ, tra cứu trong công tác nghiên cứu và giảng dạy và so khớp tài
liệu liên trường nhằm phòng chống gian lận.
Hệ thống được triển khai thử nghiệm trên hệ thống lưới dữ liệu cục bộ của
Trung tâm tính toán hiệu năng cao (Trường Đại học Bách Khoa Hà Nội). Lưới cục
bộ bao gồm 10 máy desktop để bàn có cấu hình Pentium D 2.8GHz, bộ nhớ RAM
1,5GB, ổ cứng 80GB. Middleware để kết nối các máy trên với nhau là Globus
Toolkit 4, version 4.2.1. Hệ điều hành sử dụng Fedora 11. Máy chủ thông tin triển
khai VOMS là máy chủ bkluster.
An toàn bảo mật cho hệ thống gồm 2 thành phần: quản lý đăng lý lưới và
phân quyền trên VO; quản lý người dùng và giấy uỷ nhiệm trên cổng điện tử lưới.
Vì vậy, hệ thống thử nghiệm sẽ thiết đặt 1 VOMS Server để quản lý VO và quản trị
tham gia lưới. Một máy chủ khác sẽ phục vụ cho cổng điện tử lưới, quản lý người
dùng và giấy uỷ nhiệm lưới, đồng thời thiết lập kiểm soát truy nhập tài nguyên lưới
qua cổng điện tử. 10 máy desktop trong lưới dữ liệu sẽ đóng vai trò là các RP, sẽ
triển khai dịch vụ ánh xạ.
Hướng dẫn chi tiết triển khai dịch vụ quản lý thông tin người dùng VOMS
trên cấp độ VO ở máy chủ thông tin Information Server BKLUSTER và dịch vụ
ánh xạ EDG-MKGRIDMAP trên 10 máy desktop trong lưới, xem trong phần PHỤ
LỤC: CÀI ĐẶT VOMS VÀ EDG-MKGRIDMAP. Phần triển khai cổng điện tử và
dịch vụ quản lý giấy uỷ nhiệm được trình bày ở các phần sau.
71
4.1.1. Giới thiệu hệ thống GOODAS.
Vấn đề quản lý các tài liệu điện tử phân tán trên mạng đặt ra nhiều thách
thức như quản lý tài nguyên động, các yêu cầu an toàn bảo mật và chia sẻ. Hệ thống
GOODAS ra đời, dựa trên việc kết hợp của công nghệ tính toán lưới và mô hình tổ
chức ảo, nhằm tạo ra một lưới dữ liệu về chia sẻ và quản lý các tài liệu điện tử phân
tán giữa các trường đại học và trên phạm vi quốc gia.
Hệ thống GOODAS được xây dựng theo kiến trúc phân tầng, các thành phần
đều hướng dịch vụ và phục vụ các yêu cầu cụ thể. Các điểm mạnh của hệ thống là
tính khả mở, tính thân thiện và duy trì hạ tầng an toàn bảo mật lưới trong suốt với
người dùng.
Hình 4- 1: Kiến trúc hệ thống GOODAS
- Tầng tài nguyên: là các hệ thống lưu trữ, hệ thống máy tính và hạ tầng mạng có
hiệu năng tính toán cao.
- Tầng trung gian: bao gồm hạ tầng an toàn bảo mật lưới GSI, các dịch vụ truyền
file, sao lưu dữ liệu, khám phá tài nguyên và dịch vụ quản lý giấy uỷ nhiệm.
72
- Tầng dịch vụ ứng dụng: tầng dịch vụ ứng dụng cung cấp các dịch vụ lưới
hướng ứng dụng & hướng người dùng, nhằm tận dụng sức mạnh mà hạ tầng lưới
mang lại. Trong phạm vi hệ thống quản lý tài liệu điện tử, tầng ứng dụng triển
khai các dịch vụ tiện ích như quản lý tài liệu, tìm kiếm, đánh chỉ mục, so khớp
văn bản.
- Tầng trình diễn: chính là cổng điện tử lưới (Cổng điện tử lưới), cung cấp các
khả năng truy cập để sử dụng dịch vụ và tài nguyên lưới. Cổng điện tử lưới làm
trong suốt sự phức tạp của lưới tới người dùng, và là sự lựa chọn cho hầu hết các
lưới dữ liệu lớn trên thế giới hiện nay.
Hình 4-2 minh hoạ mô hình triển khai của hệ thống:
Hình 4- 2: Mô hình triển khai hệ thống GOODAS
73
Người dùng truy cập hệ thống thông qua portal của các trường và thực hiện
các yêu cầu như tìm kiếm, so khớp văn bản…Với mỗi yêu cầu của người dùng, site
cục bộ sẽ liên hệ với Dịch vụ Giám sát & quản lý thông tin để lấy về thông tin các
site khác trên hệ thống & đồng thời gửi các yêu cầu xử lý (như tìm kiếm hay so
khớp một văn bản) tới các site đó. Sau khi nhận được kết quả từ các site khác, site
cục bộ phải tổng hợp kết quả và trả về cho người dùng qua portal. Việc tổng hợp kết
quả cần phải có các thông tin về dữ liệu mô tả từ các site, được cung cấp bởi Dịch
vụ siêu dữ liệu mô tả từ Information Server.
4.1.2. Mô hình bảo mật cho GOODAS.
Thiết kế mô hình bảo mật cho hệ thống GOODAS phải duy trì an toàn bảo
mật cho hạ tầng lưới, nhưng phải bảo đảm tính trong suốt và thân thiện với người
dùng. Giải pháp được lựa chọn là việc kết hợp giữa quản lý người dùng lưới với
quản lý người dùng portal và ứng dụng tổ chức ảo VO.
Hình 4- 3: Mô hình bảo mật cho GOODAS
74
Mô hình bảo vệ thông tin bao gồm các thành phần sau đây:
Nhà cung cấp chứng chỉ số (Online CA): cấp phát và kiểm tra các chứng chỉ
số theo chuẩn X509 cho người dùng lưới. Có rất nhiều nhà cung cấp chứng chỉ số
khác nhau, tuỳ theo mục đích sử dụng và thiết lập hạ tầng an toàn bảo mật của các
hệ thống tính toán lưới. Nhà cung cấp chứng chỉ My Proxy CA và Simple CA
thường được dùng phổ biến trong các lưới nghiên cứu.
Dịch vụ quản lý giấy uỷ nhiệm (Credential Management): giải pháp quản
lý giấy uỷ nhiệm được sử dụng rộng rãi trong các hệ thống tính toán lưới hiện đại
ngày nay. Dịch vụ bao gồm kho lưu trữ giấy uỷ nhiệm (Credential Repository) và
một nhà chứng thực thẩm quyền trực tuyến (MyProxy CA) để cho phép người
dùng lấy lại các giấy uỷ nhiệm lưới khi cần.
Hệ thống quản lý tổ chức ảo (VO Management): cung cấp các giấy uỷ
nhiệm mở rộng, có thêm các thuộc tính phân quyền của VO cho cổng điện tử lưới.
Ngoài ra hệ thống cung cấp một giao diện quản trị riêng cho phép VO đăng ký gia
nhập lưới và quản lý các VO qua giao diện web.
Cổng điện tử lưới (VO Portal): có khả năng truy suất các giấy uỷ nhiệm của
VOMS hay My Proxy CA từ kho lưu trữ MyProxy. Các giấy giấy uỷ nhiệm này
được sử dụng cho các dịch vụ lưới có yêu cầu hạ tầng an toàn bảo mật lưới GSI
4.2. THÀNH PHẦN QUẢN LÝ TỔ CHỨC ẢO
Thành phần này cho phép phân nhóm người dùng, gán vai trò, xác định
quyền truy nhập đến các dịch vụ của hệ thống. Ngoài ra mođun còn có chức năng
quản lý các tổ chức ảo cho cho phép người dùng đăng ký gia nhập VO.
4.2.1. Sử dụng VOMS.
2 loại người dùng chính tương tác với dịch vụ quản lý tổ chức ảo VOMS là
người dùng lưới và người quản trị của VO. Người dùng lưới thông qua VOMS để
đăng ký gia nhập VO và xin các chứng nhận sử dụng lưới. Người quản trị VO thực
hiện các công việc quản lý người dùng, nhóm, vai trò, đăng ký thành viên cho VO.
75
4.2.1.1 Người dùng lưới và VOMS.
Người dùng lưới thông qua VOMS để đăng ký gia nhập VO và xin các
chứng nhận sử dụng lưới. Quy trình đăng ký được thực hiện trên giao diện Website
VOMS-Admin. Quy trình xin chứng nhận được thực hiện với VOMS client.
a) Quy trình đăng ký lưới.
Để có thể đăng ký dùng lưới, người dùng phải có chứng chỉ số được cấp bởi
nhà cung cấp chứng chỉ số CA (được VOMS GOODAS tin tưởng). Hiện tại,
GOODAS tin tưởng bởi các nhà cung cấp AGP Globus Simple CA và HaNoi CA.
Các bước cần thực hiện để gia nhập VO là:
1/. Người dùng sở hữu chứng chỉ số của các CA được VOMS Server tín nhận.
Người dùng truy cập web admin của VOMS Server, cung cấp 1 số thông tin cá
nhân, đồng ý với các điều khoản sử dụng lưới của VO và nộp đơn xin gia nhập.
- Chuẩn bị các chứng chỉ số: cần phải thiết lập hạ tầng an toàn thông tin GSI của
Globus Toolkit với các chứng chỉ lưới hợp lệ.
Hình 4- 4: Các giấy chứng nhận lưới
- Các chứng nhận định dạng PEM không được trình duyệt hỗ trợ. Vì vậy, chuyển
chúng sang định dạng được chấp nhận pkcs12.
$openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out usercert.p12
Enter Export Password:
Verifying - Enter Export Password:
- Người dùng nhập các chứng nhận định dạng pkcs12 vào trình duyệt.
- Truy cập VOMS-Admin GOODAS tại địa chỉ:
https://bkluster.hut.edu.vn:9443/voms/GOODAS, cung cấp các thông tin cần
thiết.
76
Đầu tiên, người dùng xác thực chứng nhận của GOODAS VOMS Server.
GOODAS VOMS server xác thực lại chứng nhận của người dùng.
Sau khi quá trình xác thực lẫn nhau thành công, người dùng đến trang
đăng ký và điền đầy đủ các thông tin.
2/. Một email được gửi tới hòm thư của người dùng. Người dùng nhận được email,
lựa chọn đồng ý tiếp tục quá trình đăng ký.
- Thông báo đã gửi email xác nhận tới cho người dùng.
Hình 4- 5: Chờ đơn xét duyệt của người quản trị VO
3/. Người dùng chờ quyết định từ VO-Admin xem xét đơn gia nhập VO. Một email
thông báo sẽ được gửi tới người dùng khi có kết quả xét duyệt của người quản
trị VO.
- Người quản trị nhận được thông báo có đơn gia nhập VO mới.
Hình 4- 6: Email thông báo có người đăng ký lưới mới cho VO Admin.
77
- Người quản trị tiến hành xét duyệt đơn đăng ký.
Hình 4- 7: Người quản trị duyệt đơn đăng ký
- Dù được người quản trị VO đồng ý hay chấp nhận, một email sẽ được thông báo
cho người dùng.
b) Quy trình xin chứng nhận sử dụng lưới.
Sau khi hoàn tất quá trình đăng ký, người dùng lưới cài đặt VOMS client cho
các máy trong lưới của mình. Sau khi cài đặt thành công, người dùng tiến hành xin
giấy chứng nhận sử dụng lưới. Quy trình xin giấy chứng nhận sử dụng lưới như sau:
1/. Người dùng gửi yêu cầu xin chứng thực đến VOMS server.
2/. VOMS server xác nhận thành viên & vai trò của người dùng trong VO và kiểm
tra lại yêu cầu; sau đó cấp và trả lại cho người dùng các thông tin được yêu cầu.
Người dùng kiểm tra các thông tin nhận được.
78
4.2.1.2 Người quản trị và VOMS.
Có 2 cấp độ người quản trị trong VO. Đó là cấp quản lý nhóm và cấp quản
trị toàn VO. Người quản trị nhóm phụ trách quản lý người dùng (thêm, xóa, tìm
kiếm), quản lý nhóm (thêm, xóa, tìm kiếm, quản lý ACL cho nhóm), quản lý vai trò
(thêm, xóa, tìm kiếm), quản lý thành viên (thêm, bớt; gán, gỡ bỏ vai trò của các
thành viên). Người quản trị VO thừa kế các quyền quản lý của quản trị nhóm. Ngoài
ra, họ có thêm quyền xét duyệt đăng ký cho người dùng vào VO.
a) Quản lý người dùng.
- Liệt kê người dùng.
Hình 5: Liệt kê các người dùng trong VO.
- Tạo người dùng.
- Tìm kiếm người dùng.
- Xóa người dùng.
- Quản lý vai trò và nhóm của người dùng.
79
Hình 4- 8: Quản lý email cá nhân và thông tin thành viên của người dùng
b) Quản lý nhóm.
- Liệt kê nhóm.
Hình 4- 9: Liệt kê các nhóm trong VO.
80
- Chi tiết nhóm: Quản lý danh sách điều khiển truy nhập (ACL) và các thành viên
trong nhóm.
Hình 4- 10: Chi tiết nhóm
- Tạo nhóm.
Hình 4- 11: Tạo nhóm mới.
81
- Thêm mới ACL cho nhóm.
Hình 4- 12: Thêm ACL cho nhóm.
- Xóa nhóm.
82
- Tìm kiếm nhóm.
Hình 4- 13: Tìm kiếm nhóm
c) Quản lý chức năng của hệ thống.
- Liệt kê các chức năng.
Hệ thống lưới phân tích tài liệu trực tuyến GOODAS có các chức năng: quản trị,
giảng viên và các thành viên
Hình 4- 14: Liệt kê các chức năng
83
- Tạo mới chức năng.
Hình 4- 15: Tạo mới chức năng
- Tìm kiếm chức năng.
Hình 4- 16: Tìm kiếm chức năng.
- Xóa chức năng.
84
d) Quản lý đăng ký.
- Duyệt các đơn đăng ký chưa được xử lý.
Hình 4- 17: Người quản trị duyệt các đơn đăng ký chưa xử lý.
- Chi tiết người dùng đăng ký.
Hình 4- 18: Chi tiết người dùng đăng ký.
85
- Các đơn đăng ký đã duyệt.
Hình 4- 19: Các đơn đăng ký đã duyệt
e) Quản lý cấu hình.
- Thông tin cấu hình của VO.
- Thông tin người dùng.
Hình 4- 20: Thông tin cấu hình của VO.
86
4.2.2 Sử dụng EDG-MKGRIDMAP.
- Thực thi edg-mkgridmap lần đầu tiên:
/opt/edg/sbin/edg-mkgridmap --output=/etc/grid-security/grid-mapfile
- Các lần tiếp theo, thêm edg-mkgridmap vào danh sách các công việc chạy tự
động. Dưới tài khoản root của máy thực thi, sử dụng crontab -e và thêm các
tham số thiết lập “cron job” vào crontab:
41 3,9,15,21 * * * /opt/edg/sbin/edg-mkgridmap --output=/etc/grid-security/grid-
mapfile >> /opt/edg/log/edg-mkgridmap.log 2>&1
4.3. THÀNH PHẦN QUẢN LÝ GIẤY UỶ NHIỆM
Thành phần này thiết lập các kiểm soát truy nhập dịch vụ và tài nguyên lưới
thông qua giấy uỷ nhiệm lưới theo chuẩn X509. Người dùng qua cổng điện lưới chỉ
có thể truy nhập tài nguyên khi có giấy uỷ nhiệm hợp lệ. Thành phần còn có chức
năng quản lý các giấy uỷ nhiệm lưới như thêm mới, gia hạn, gỡ bỏ cho từng người
dùng trên cổng điện tử lưới.
4.3.1. Cổng điện tử lưới.
Cổng điện tử lưới được hiểu là cổng kết nối giữa người dùng với các dịch vụ
lưới ở tầng dưới. So với các ứng dụng dựa trên Web thông thường, cổng điện tử
lưới ưu việt hơn nhờ khả năng tùy biến môi trường người sử dụng, cho phép tách
biệt các thành phần nghiệp vụ từ máy chủ ứng dụng và tái sử dụng các thành phần
của Web. Chính nhờ khả năng này, Cổng điện tử lưới đã trở thành sử lựa chọn phổ
biến cho các nhà phát triển ứng dụng lưới.
87
Grid
Services
Hình 4-21: Cổng điện tử lưới
Trên đây là mô hình truy nhập dịch vụ lưới từ cổng điện tử lưới. Người dùng
sẽ đăng nhập vào cổng điện tử lưới với tài khoản của mình, đưa ra các đặc tả công
việc, các yêu cầu sẽ được chuyển xuống các dịch vụ lưới, phân bổ xuống các tài
nguyên lưới để thực hiện, và cuối cùng trả về kết quả cho người dùng trên giao diện
Web. Tuy nhiên, khi xây dựng các cổng giao diện lưới, nảy sinh một số yêu cầu bảo
mật sau:
Người sử dụng phải có một trình duyệt Web chuẩn để tiếp cận các Cổng điện tử
lưới.
Người sử dụng vẫn có thể truy nhập từ những nơi mà những nơi mà giấy ủy
nhiệm Grid là không có sẵn đối với họ.
Người sử dụng có thể làm bất cứ điều gì thông qua Cổng điện tử lưới mà giấy ủy
nhiệm có thể cho phép họ làm.
88
4.3.1. Mô hình uỷ quyền truy nhập trên cổng điện tử lưới.
Việc truy xuất giấy uỷ nhiệm lưới và uỷ quyền truy nhập lưới cho các cổng
điện tử được thể hiện như hình vẽ:
Hình 4-22: Mô hình uỷ quyền truy nhập trên cổng điện tử lưới.
(1) Người dùng có thể kết nối với cổng điện tử lưới sử dụng trình duyệt Web và
cung cấp các thông tin chứng thực đã đưa ra trước đây tới kho lưu trữ thông qua các
form trên web hay các giao diện đơn giản. Người sử dụng có thể xác định một kho
lưu trữ MyProxy cho cổng điện tử để sử dụng, nếu có nhiều hơn một kho.
(2) Cổng điện tử sử dụng các thông tin đăng nhập (định danh và mật khẩu) của
người dùng yêu cầu lấy giấy ủy nhiệm từ kho lưu trữ.
(3) Khi thông tin đăng nhập là hợp lệ, MyProxy sẽ gửi lại cho cổng điện tử lưới
một giấy ủy nhiệm của người dùng. Khi ấy cổng điện tử có thể thay mặt người dùng
tiếp cận an toàn tới các dịch vụ lưới.
Hành động logout ra khỏi cổng điện tử sẽ xóa giấy ủy quyền của người dùng
trên portal. Khi người dùng quên logout, giấy chứng nhận sẽ mãn hạn tại một thời
điểm nhất định khi yêu cầu từ dịch vụ MyProxy.Thời gian sống thường là khoảng
vài giờ. Quá trình này có thể lặp lại nhiều lần, khi người dùng đòi hỏi, cho tới khi
giấy ủy quyền giữ bởi MyProxy mãn hạn. Tại thời điểm này, người sử dụng cần
chạy chương trình myproxy-init từ vị trí nơi các giấy chứng nhận có sẵn và ủy
nhiệm tập mới các giấy ủy quyền tới kho lưu trữ. Thời gian lớn nhất của giấy ủy
nhiệm được kho lưu trữ xác định bởi máy chủ lưu trữ. nhưng mặc định là một
tuần/lần.
89
4.3.3. Dịch vụ quản lý giấy uỷ nhiệm.
Dịch vụ này giúp cho người dùng có thể truy nhập các dịch vụ lưới hỗ trợ
bảo mật GSI một cách dễ dàng, có thể đăng nhập một lần hay ủy quyền cho cổng
điện tử lưới thực hiện các công việc trên lưới.
Một số chức năng của dịch vụ như sau:
- Xác thực người dùng lưới: Dịch vụ có cơ chế kiểm tra tính hợp lệ của người
dùng, bảo đảm người dùng phải có một giấy ủy nhiệm X509 còn thời hạn khi sử
dụng các dịch vụ cài đặt bảo mật GSI. Nếu không hợp lệ, người dùng phải quay
lại màn hình đăng nhập xin cấp giấy ủy nhiệm từ dịch vụ.
- Quản lý vòng đời: Dịch vụ có khả năng cập nhật động thời gian sống của giấy
ủy nhiệm, một khoảng thời gian nhất định, giấy ủy nhiệm sẽ tự hủy nếu người
dùng quên (bỏ) kích hoạt nó.
- Cấp lại giấy ủy nhiệm: Do giấy ủy nhiệm cho người dùng có thời gian sống là
hạn chế, khi người dùng sử dụng một dịch vụ tính toán nào đó với bộ dữ liệu
lớn, thời gian xử lý lâu thì dịch vụ bảo mật phải có cơ chế làm tươi lại giấy ủy
nhiệm, không làm ảnh hưởng tới công việc của người trên lưới.
- Quản lý kho lưu trữ: Rõ ràng hệ thống lưu trữ rất nhiều giấy ủy nhiệm người
dùng để ủy quyền lên portal, nên việc quản lý kho lưu trữ là rất quan trọng. Các
giấy ủy nhiệm người dùng được mã hóa trong kho lưu trữ, để cho dù kho lưu trữ
có bị tổn thương, kẻ địch vẫn phải mất một thời gian để giải mã, và khi đó giấy
ủy nhiệm người dùng có thể sẽ hết hạn. Dịch vụ cung cấp khả năng cho phép
người dùng lựa chọn các hệ thống kho lưu trữ trên các miền phân tán khác nhau
về mặt địa lý qua công nghệ phân tán của dịch vụ lưới.
- Quản lý giấy ủy nhiệm đa người dùng: người dùng có thể có nhiều giấy chứng
nhận khác nhau, từ các nhà thẩm quyền CA khác nhau. Dịch vụ cung cấp khả
năng lưu trữ tất cả các giấy chứng nhận của người dùng, đưa thông tin về công
việc người dùng muốn thực hiện, lựa chọn giấy ủy nhiệm đúng đắn cho mỗi
phần việc, sau đó trả lại giấy ủy nhiệm cho người dùng.
90
Dịch vụ được xây dựng dựa trên các nền tảng:
- Globus Toolkit: đây là bộ công cụ nền tảng để phát triển lưới, với chuẩn mở xây
dựng các dịch vụ lưới OGSA và hạ tầng bảo mật GSI
- SimpleCA: nhà thẩm quyền cung cấp các giấy ủy nhiệm lưới, là nền tảng trong
cấu hình bảo mật GSI
- Gridsphere Portal: cổng điện tử chuẩn mở, kết hợp giữa hai công nghệ Web và
Grid, tạo nên một nền tảng cho cả người sử dụng và các nhà phát triển lưới. Đã
có rất nhiều dự án đã và đang phát triển trên nền tảng Gridsphere như HPC
Europa, D-Grid, P-Grade, BIRN, Telescience, Australian Virtual Observatory,
UK Science.
- MyProxy: máy chủ để lưu trữ các giấy ủy nhiệm trực tuyến.
- Java Cog Kit: là bộ cung cụ phát triển lưới, ánh xạ giữa công nghệ Java và
Globus Toolkit, cho phép các nhà phát triển xây dựng các ứng dụng lưới bằng
ngôn ngữ Java
Dưới đây là mô tả các thể hiện của dịch vụ trên nền tảng Gridsphere:
- Quản lý người dùng lưới
- Quản lý giấy uỷ nhiệm lưới:
91
- Các quyền cho các giao dịch truyền file có hỗ trợ GSI:
- Đệ trình các công việc trên lưới:
92
4.4 MỘT SỐ HẠN CHẾ CỦA VOMS.
Hai dịch vụ chính của hệ thống quản lý tổ chức ảo là dịch vụ VOMS và dịch
vụ EDG-MKGRIDMAP. Hai dịch vụ ăn khớp, phối hợp tốt với nhau trong hệ thống
quản lý người dùng lưới nói chung nên rất phù hợp khi vận dụng vào môi trường
lưới của hệ thống liên thư viện GOODAS. Trong đó, dịch vụ VOMS là một dịch vụ
mã nguồn mở. Từ đó, luận văn đóng góp thêm phần thiết kế đa ngôn ngữ cho giao
diện quản trị của VOMS-Admin, giúp cho quy trình quản lý thân thiện hơn nhiều
người dùng.
Tuy nhiên, hệ thống quản lý tổ chức ảo vẫn còn nhiều vấn đề. Dịch vụ phụ
trách quản lý thông tin người dùng trên cấp độ VO và dịch vụ ánh xạ người dùng
trên cấp độ RP vẫn còn có các hạn chế cơ bản của nó.
4.4.1 Hạn chế của VOMS.
Hiện tại, quy trình đăng ký của VOMS không hỗ trợ quản lý chính sách sử
dụng lưới AUP (Grid Acceptable Use Policy ) và thời gian hiệu lực của quyền thành
viên trong VO. Nó không thích hợp trong các VO có quy mô lớn trên khu vực hoặc
toàn cầu. Để giải quyết những giới hạn này, Fermilab và WLCG (Worldwide LHC
Computing Service) đã phát triển VOMRS, một công cụ mới, cho phép quản lý
đăng ký mạnh mẽ và mềm dẻo hơn với các tính năng sau đây:
1/. Hỗ trợ nhiều cấp độ quản trị (Ví dụ: Quản lý VO, quản lý nhóm...). Mỗi cấp độ
sẽ có các quyền khác nhau trong quản lý VO.
2/. Muốn tham gia vào VO, người dùng phải đồng ý với chính sách sử dụng lưới và
VO-AUP (VO & Grid Acceptable Use Policy).
3/. Cho phép người quản trị theo dõi phiên bản và sự thay đổi của AUP.
4/. Quản lý thời gian hiệu lực của quyền thành viên trong VO.
93
4.4.2 Hạn chế của EDG-MKGRIDMAP.
Dịch vụ ánh xạ người dùng EDG-MKGRIDMAP là một giải pháp phổ biến
cho quy trình ánh xạ người dùng lưới vào tài khoản cục bộ. Và thực tế, đang được
dùng rộng rãi trong các cộng đồng lưới Globus và Glite. Tuy nhiên, cơ chế ánh xạ
của EDG-MKGRIDMAP là cứng. Trong một số trường hợp, cơ chế ánh xạ cứng là
không đủ để giải quyết một số yêu cầu ánh xạ đặc biệt.
Ví dụ, người dùng A là thành viên của VO GOODAS. Trong VO GOODAS
có 2 nhóm con là nhóm Math và nhóm Literature. Người dùng A muốn sử dụng các
tài liệu của cả 2 nhóm này. Như vậy, họ phải là thành viên của cả 2 nhóm Math và
Literature. Trên máy cục bộ, tài khoản hệ thống thao tác với các tài nguyên nhóm
Math là “laMath” (local account Math), với tài nguyên nhóm Literature là
“laLiterature”. Để thực thi quyền, EDG-MKGRIDMAP phải ánh xạ người dùng A
vào 2 tài khoản cục bộ “laMath” và “laLiterature”. Trong tệp Gripmap, xuất hiện 2
mục ánh xạ, sẽ dẫn tới nhập nhằng hệ thống không biết phải lựa chọn mục nào khi
thực hiện. Như vậy, trong trường hợp này, cơ chế ánh xạ cứng không đáp ứng được.
Để giải quyết, cần có cơ chế khác mềm dẻo, mang tính “động” hơn. Cơ chế này cho
phép lựa chọn ánh xạ căn cứ vào thời điểm thực thi. Đó là GUMS.
94
4.5. HƯỚNG PHÁT TRIỂN CỦA VOMS
Sử dụng tổ chức ảo trong quản lý người dùng lưới là giải pháp tiên tiến và
phổ biến đang được dùng trong các hệ thống lưới lớn. Những hạn chế trong phân
tích trên về hệ thống quản lý người dùng trong GOODAS là do các dịch vụ sử dụng
trong mỗi cấp độ quản lý còn hạn chế. Hướng phát triển của hệ thống trong tương
lai là kết hợp dịch vụ VOMRS với VOMS trong khâu quản lý thông tin người dùng
ở mức VO và thay thế dịch vụ ánh xạ EDG-MKGRIDMAP bởi 2 dịch vụ GUMS và
PRIMA ở mức RP.
4.5.1 VOMRS kết hợp cùng VOMS.
Như đã nêu trên, nhận thấy những hạn chế của VOMS trong quản lý đăng ký
các VO có quy mô lớn như LHC, EGEE. Đầu năm 2003, WLCG và Fermilab đã
tiến hành nghiên cứu một hệ thống mới gọi là VOMS eXtension (gọi tắt VOX).
VOX với hạt nhân là dịch vụ đăng ký VOM - VOMRS, cung cấp giao diện Web
thuận tiện cho người dùng đăng ký, lưu chúng vào cơ sở dữ liệu của riêng nó và
thường xuyên đồng bộ với cơ sở dữ liệu của VOMS thông qua gói quản trị VOMS-
Admin. VOMRS ra đời, đã giải quyết được nhiều hạn chế của VOMS.
4.5.1.1 Tổng quan về VOMRS.
Cụ thể, về phía người dùng, VOMRS thu thập được nhiều thông tin cá nhân
trong quá trình đăng ký từ họ hơn, cũng như tăng cường tính pháp lý khi bắt buộc
người dùng phải đồng ý vào cam kết sử dụng lưới trước khi gia nhập VO. Tuân theo
chuẩn của JSPG, VOMRS yêu cầu các thành viên phải ký vào thỏa thuận sử dụng
lưới AUP trong quá trình đăng ký. Định kỳ hàng năm hoặc mỗi khi AUP thay đổi,
VOMRS cũng yêu cầu người dùng ký lại các thỏa thuận trên. Đồng thời, VOMRS
cũng lưu lại thời gian ký và phiên bản của các AUP.
Quá trình đăng ký của người dùng được chia thành 2 pha:
• Pha 1: Người dùng điền thông tin theo mẫu trong VOMRS, lựa chọn tổ chức
muốn tham gia và người đại diện của tổ chức đó. Các thông tin về giấy phép
cá nhân của người dùng được thu thập tự động quá trình duyệt.
95
• Pha 2: Người dùng nhận được email thông báo bước đầu tiên trong quá trình
đăng ký thành công. Nếu được đồng ý, người dùng trở thành thành viên. Khi
đó, họ có thể yêu cầu được thêm các chứng nhận bổ sung, được gia nhập
nhóm, được gán vai trò trong nhóm... Các yêu cầu này sẽ được gửi đến người
phụ trách nhóm để giải quyết.
Người dùng khi đăng ký nhóm sẽ ở vào 1 trong 4 trạng thái sau:
• Chấp thuận: Người dùng là thành viên của nhóm.
• Từ chối: Người phụ trách nhóm từ chối cho người dùng tham gia nhóm.
• Treo: Người dùng tạm thời bị tước quyền thành viên.
• Hết hạn: Quyền thành viên hết hạn theo lịch hoặc do AUP hết hạn.VOMRS
cũng cho phép người dùng được chủ động gửi yêu cầu tham gia nhóm, gửi
yêu cầu cấp quyền lên người quản trị ...
Về phía người quản lý, VOMRS bổ sung thêm tính năng tạm treo quyền
thành viên, định kỳ kiểm tra thời gian quyền thành viên còn hiệu lực. Qua đó, kịp
thời gửi các thông báo hết hạn tới cho người dùng và yêu cầu họ đăng ký mới quyền
thành viên . VOMRS cũng hỗ trợ nhiều cấp bậc quản trị VO hơn. Mỗi cấp bậc có
vai trò và trách nhiệm riêng. Cụ thể, người đại diện VO (Representative) xử lý các
yêu cầu tham gia VO của người dùng. Sau đó, yêu cầu gia nhập nhóm của người
dùng lại do quản lý nhóm (Group Manager) phụ trách. Quản trị VO (VO Admin) có
quyền cao nhất trong toàn bộ VO.
Nhóm trong VOMRS được mở rộng tính năng quản lý trạng thái nhóm.
Nhóm có thể ở trạng thái mở hoặc hạn chế tùy theo quyết định của quản lý nhóm.
Nếu nhóm trong trạng thái mở, người dùng tham gia vào nhóm tự do. Ngược lại,
nếu nhóm đang trong tình trạng hạn chế, người dùng phải được phép của quản lý
nhóm thì mới có thể gia nhập nhóm.
Mọi hành động của người dùng cũng như người quản trị luôn được ghi lại
trong VOMRS database gọi là sự kiện VOMRS. VOMRS sẽ gửi thông báo có sự
kiện mới xảy ra nếu nhận được yêu cầu. Ví dụ: Các thành viên nhận thông báo trạng
thái thành viên. Người quản trị nhận thông báo khi có yêu cầu tham gia nhóm của
người dùng, khi có nhóm, vai trò mới được tạo.
96
Hình 4- 23: Đồng bộ VOMS và VOMRS
4.5.1.2 Đồng bộ VOMRS và VOMS.
Một đặc điểm quan trọng của VOMRS là nó có khả năng trao đổi thông tin
thành viên với các hệ thống khác thông qua cơ chế thông báo sự kiện. Nhờ vậy
VOMRS có thể đồng bộ với VOMS để cùng quản lý người dùng trong VO. Chính
xác, mọi thông tin về thành viên trong VOMRS sẽ được chuyển qua VOMS thông
qua các API của VOMS-Admin.
Cụ thể, khi VOMRS được kích hoạt, chức năng đăng ký của VOMS tạm thời
bị tắt. Người dùng và người quản trị khi làm việc với các thông tin về nhóm, vai trò
sẽ thực hiện trực tiếp trên giao diện của VOMRS. Sau đó, định kỳ, VOMRS sẽ
đồng bộ các thông tin này với cơ sở dữ liệu của VOMS. Việc cấp các chứng thực sử
dụng tài nguyên lưới vẫn do VOMS đảm nhiệm.
97
4.5.2 GUMS & PRIMA thay thế EDG-MKGRIDMAP.
Tương lai phát triển của hệ thống sẽ là kết hợp VOMRS và VOMS để bổ
sung lẫn nhau trong quản lý thông tin người dùng lưới cấp độ VO. Còn trên cấp độ
RP, dịch vụ EDG-MKGRIDMAP với cơ chế ánh xạ cứng còn hạn chế sẽ được thay
thế bởi hai dịch vụ mới GUMS và PRIMA mềm dẻo hơn.
Hình 4- 24: Kiến trúc GUMS
Cụ thể, trong hệ thống có PRIMA và GUMS, khi người dùng lưới muốn sử
dụng tài nguyên, đầu tiên, họ gửi yêu cầu cấp chứng thực tạm thời tới
VOMS/VOMRS. VOMS/VOMRS trả lại người dùng chứng chỉ số sử dụng lưới,
bên trong có gắn thêm các thông tin về nhóm và vai trò của người dùng. Khi chứng
nhận này được gửi tới bên cung cấp tài nguyên RP để xin sử dụng, GateKeeper sẽ
trích các thông tin này ra. Để kiểm tra các thông tin này, PRIMA được sử dụng để
hỗ trợ cho GateKeeper. PRIMA sau đó tiếp tục liên hệ với GUMS (Grid User
Management System) để kiểm tra quyền sử dụng tài nguyên của người dùng.
GUMS tiếp tục liên hệ với VOMS để lấy về thông tin người dùng. Sau khi lấy được
thông tin, GUMS kết hợp với chính sách tài nguyên của site cục bộ để tiến hành ánh
xạ. GUMS cung cấp cả cơ chế ánh xạ tĩnh thông qua GridMap và ánh xạ động khi
liên kết với PRIMA. GUMS giống EDG-MKGRIDMAP ở khả năng ánh xạ tĩnh
nhưng hơn EDG-MKGRIDMAP khi nó có thể trực tiếp trả về tài khoản ánh xạ cho
người dùng (cung cấp ánh xạ động) về PRIMA.
98
Hình 4- 25: Dự án VO Services
GUMS và PRIMA là 2 trong 4 thành phần của dự án “VO Services” bao
gồm VOMS/VOMRS, Globus Toolkit/Glite, GUMS, PRIMA. VO Services là giải
pháp toàn diện cho quản trị người dùng lưới trên cấp độ VO và RP. Hiện tại, VO
Services đang được ứng dụng rộng rãi trong EGEE, PRAGMA, US ATLAS, US
CMS, cũng như FermiGrid. Hướng phát triển tương lai của hệ thống quản lý người
dùng lưới trong GOODAS sẽ là triển khai VO Services.
99
KẾT LUẬN
Luận văn đã tập trung nghiên cứu tìm hiểu các vấn đề an toàn thông tin cho
lưới một cách toàn diện và có hệ thống. Dựa trên nền tảng đó, luận văn đưa ra mô
hình an toàn bảo mật cho hệ thống quản lý tổ chức ảo và quản lý giấy uỷ nhiệm
trong môi trường lưới nói chung và tích hợp với hệ thống tìm kiếm và chia sẻ tài
liệu trực tuyến GOODAS nói riêng.
Các kết quả chính của luận văn là:
1/. Tìm hiểu và nghiên cứu tài liệu để hệ thống lại các vấn đề sau:
+ Tổng quan tính toán lưới: các định nghĩa về tính toán lưới, các lợi tích và
kiến trúc của một lưới,
+ Vấn đề an toàn thông tin trong tính toán lưới: các thách thức về an toàn bảo
mật và kiến trúc an ninh cho một hệ thống tính toán lưới
+ Cơ sở hạ tầng an toàn thông tin lưới GSI: bao gồm giấy chứng nhận và giấy
uỷ nhiệm lưới và các khả năng uỷ quyền, chứng thực đa phương và toàn vẹn.
+ Hệ thống quản lý tổ chức ảo: các khái niệm tổ chức ảo, mô hình quản lý và
ứng dụng trong dịch vụ VOMS và EDG-MKGRIDMAP
+ Cổng điện tử lưới: các khái niệm về cổng điện tử lưới và vấn đề quản lý giấy
uỷ nhiệm trên cổng điện tử lưới
2/. Thử nghiệm chương trình:
Luận văn đã xây dựng Hệ thống quản lý người dùng lưới và các tổ chức ảo cho
một lưới tính toán. Hệ thống này được cài đặt thử nghiệm trên lưới tìm kiếm và chia
sẻ tài liệu điện tử GOODAS. Các thành phần chính của Hệ thống bao gồm:
+ Thành phần quản lý tổ ảo: cho phép quản lý các tổ chức ảo VO, các hoạt
động đăng ký lưới, xác định quyền truy nhập đến các dịch vụ của hệ thống.
+ Thành phần quản lý giấy uỷ nhiệm: thiết lập các kiểm soát truy nhập dịch
vụ và tài nguyên lưới và quản lý giấy uỷ nhiệm thông qua Cổng điện tử lưới.
Một phần kết quả của luận văn đã được trình bày trong báo cáo tại hội nghị
khoa học ICT.rda’08, Chương trình KC.01/06-10.
Kết quả ứng dụng của luận văn đã được xác nhận của Trung tâm tính toán hiệu
năng cao (Trường Đại học Bách khoa Hàn Nội.)
Các minh chứng trên trong phần phụ lục.
100
TÀI LIỆU THAM KHẢO
[1]. Ian Foster, Carl Kesselman - The Grid: Blueprint for a New Computing
Infrastructure, 1st edition, Morgan Kaufmann Publishers, San Francisco, USA (1
November 1998), ISBN: 1558604758.
[2]. IBM Red Book - Introduction to Grid Computing.
[3]. IBM Red Books - Introduction to Grid Computing with Globus.
[4]. Mark Baker, Rajkumar Buyya, Domenico Laforenza - Grids and Grid
technologies for wide-area distributed computing.
[5]. Trịnh Nhật Tiến – Giáo trình AN TOÀN DỮ LIỆU. 2008
[6]. MyProxy – Credential Management Service
[7]. Chadwick, D.W. and A. Otenko. The PERMIS X.509 Role Based Privilege
Management Infrastructure. in 7th ACM Symposium on Access Control Models and
Technologies. 2002
[8]. R. Alfieri, R. Cecchini, V. Ciaschini - VOMS, an Authorization System for
Virtual Organizations.
[9]. Akos Frohner, and Karoly Lorentey - VO Management with VOMS.
[10]. Ian Foster, Carl Kesselman, Steven Tuecke, 2001 - Enabling Scalable Virtual
organizations.
[11]. Markus Lorch, 2004 - The PRIMA System for Privilege Management,
Authorization and Enforcement in Grid Environments.
101
PHỤ LỤC: CÀI ĐẶT VOMS VÀ EDG-MKGRIDMAP.
1. Cài đặt VOMS.
Hiện tại, có nhiều cách để cài đặt VOMS như thông qua trình cài đặt
PACMAN của bộ công cụ VDT (Virtual Data Toolkit), trực thuộc Đại học
Winconsin-Madison. Đây là cách mà lưới PRAGMA đang thực hiện. Tuy nhiên,
trình cài đặt PACMAN chỉ chạy được trên một số nền tảng hạn chế như AIX;
CentOS 5; Debian 3, 4; Mac OS X; Red Hat Enterprise Linux 3, 4, 5; ROCKS
Linux 3.3 x86; Scientific Linux Fermi 3, 4 x86; và SUSE Linux 9. Nên quá trình cài
đặt PACMAN trên các hệ điều hành phổ biến khác như Fedora hay Ubuntun sẽ gặp
nhiều các lỗi về thư viện phát triển hoặc thậm chí là thất bại.
Cách thứ hai để cài đặt VOMS là sử dụng các repository của DAG, gLite,
jpackage17 …cho công cụ quản lý phần mềm yum và tiến hành cài đặt thông qua
“yum install voms”. Đây chính là hướng dẫn chính thức của gLite. Nhưng, với 1
nhà quản trị hệ thống, để hệ thống âm thầm thực hiện cài đặt một hệ thống lớn, dù
rất tiện lợi trước mắt, nhưng để quản trị hệ thống lâu dài và vận hành trơn tru thì đó
là một trở ngại lớn. Phần sau sẽ trình bày cách triển khai hệ thống từng phần.
1.1. Chuẩn bị hệ thống
Yêu cầu tối thiểu cho hệ thống là Java 5, MySQL 5, Apache-Tomcat 5 trở
lên. Phiên bản được lựa chọn để thử nghiệm là Java SE 1.6, MySQL 5.1.35 và
Apache-Tomcat 5.5.28. Các gói cấu hình hệ thống VOMS phải chuẩn bị bao gồm:
Gói cấu hình chung glite:
1. glite-config-3.1.3-3.slc4.i386.rpm
2. glite-info-generic-2.0.2-3.noarch.rpm
3. glite-info-templates-1.0.0-11.noarch.rpm
4. glite-security-trustmanager-1.8.16-3.noarch.rpm
5. glite-security-util-java-1.4.0-1.noarch.rpm
6. glite-security-utils-config-3.1.0-1.slc4.i386.rpm
7. glite-version-3.1.0-1.slc4.i386.rpm
102
Gói cấu hình VOMS:
1. glite-security-voms-admin-client-2.0.11-1.noarch.rpm
2. glite-security-voms-admin-interface-2.0.2-2.noarch.rpm
3. glite-security-voms-admin-server-2.0.18-1.noarch.rpm
4. glite-security-voms-api-cpp-1.8.12-1.slc4.i386.rpm
5. glite-security-voms-api-noglobus-1.8.8-2.slc4.i386.rpm
6. glite-security-voms-clients-1.8.12-1.slc4.i386.rpm
7. glite-security-voms-config-1.8.12-1.slc4.i386.rpm
8. glite-security-voms-mysql-3.1.0-1.slc4.i386.rpm
9. glite-scurity-voms-server-1.8.12-1.slc4.i386.rpm
10. glite-VOMS_mysql-3.1.3-0.noarch.rpm
11. glite-voms-server-config-3.1.7-4.slc4.i386.rpm
Và rất nhiều gói phần mềm phụ thuộc đi kèm khác, tùy thuộc vào thư viện
phát triển đi kèm hệ điều hành.
1.2. Cài đặt VOMS
Để tiến hành cài đ.ặt ta sử dụng lệnh “rpm -ivh TenGoiCaiDat.rpm”. Quá
trình cài đặt các gói chính cũng như các gói phụ thuộc được tiến hành cho đến khi
gói glite-VOMS_mysql-3.1.3-0.noarch.rpm được thông báo là cài đặt thành công.
Các gói thư viện phụ thuộc được cài đặt khó hơn. Có thể thông qua việc download
các gói và cài đặt trực tiếp hoặc thông qua trình hỗ trợ cài đặt Yum Extender.
103
Trình hỗ trợ quản lý phần mềm Yum Extender
Một số chú ý trong quá trình cài đặt là:
• Cài đặt các gói phần mềm phụ thuộc trước, thứ tự cài đặt các gói đảm bảo
để tránh lỗi “Fail Dependencies”.
• Cài đặt gói VOMS sau cùng, nếu gặp trường hợp thiếu các gói thư viện
giằng nhau (gói A yêu cầu phải có gói B, gói B yêu cầu phải có gói A) thì
giải quyết bằng Yum Extender.
Nếu các gói phần mềm bị trùng lặp thư viện, dùng tham số –replacefiles hoặc –
force.
104
2. Cài đặt EDG-MKGRIDMAP.
2.1. Chuẩn bị hệ thống
Yêu cầu tối thiểu cho hệ thống là Java 5, Perl 5.8 trở lên. Phiên bản được lựa
chọn để thử nghiệm là Java SE 1.6, Perl 5.10. Một số gói cấu hình phụ thuộc đi
kèm:
1. openldap-clients-2.4.15-6.fc11.i586.rpm
2. openldap-servers-2.4.15-6.fc11.i586.rpm
3. perl-Crypt-SSLeay-0.57-2.el4.rf.i386.rpm
4. perl-Date-Manip-5.54-2.el4.rf.noarch.rpm
5. perl-LDAP-0.34-5.fc11.noarch.rpm
6. perl-libwww-perl-5.805-1.1.1.noarch.rpm
Gói cấu hình chính:
1. edg-mkgridmap-3.0.0-1.noarch.rpm
2. edg-mkgridmap-conf-3.0.0-1.noarch.rpm
2.2. Cài đặt EDG-MKGRIDMAP
- Cách thức cài đặt EDG-MKGRIDMAP giống với phương pháp cài đặt VOMS.
Cài đặt các gói thư viện phụ thuộc:
yum --enablerepo=addons --enablerepo=extras install perl-IO-Socket-SSL perl-Net-
SSLeay
- Cài đặt edg-mkgridmap
rpm -Uvh edg-mkgridmap-3.0.0-1.noarch.rpm edg-mkgridmap-conf-3.0.0-
1.noarch.rpm
105
3. Cấu hình hệ thống
3.1. Cấu hình VOMS
- Thiết lập các biến môi trường của VOMS:
cp $GLITE_LOCATION/etc/profile.d/glite-env.sh /etc/profile
- Sửa tiếp /etc/profile:
#Cau hinh VOMS GLITE
export GLITE_LOCATION=/opt/glite
PATH=$PATH:$GLITE_LOCATION/bin:$GLITE_LOCATION/sbin/
export GLITE_LOCATION_VAR=/var/glite
export GLITE_LOCATION_LOG=/var/log/glite
- Copy các gói thư viện cần thiết từ $GLITE_LOCATION/share/voms-
admin/endorsed sang $CATALINA_HOME/common/endorsed.
cp $GLITE_LOCATION/share/voms-admin/endorsed/* $CATALINA_HOME/co
mmon/endorsed
- Tạo chứng thực dạng java keystore cho localhost: Đây là chứng nhận chứng
thực cho VOMS server được ký bởi các CA được người dùng tin tưởng. Chứng
nhận này được sử dụng trong quá trình xác thực lẫn nhau sau này. Mặc định, khi
đã gia nhập lưới, ta đã xin sẵn chứng thực cho host. Ta sẽ tận dụng chứng thực
cho host này để làm chứng thực cho VOMS server.
- Chuyển chứng thực của host từ định dạng pem sang định dạng pkcs12:
openssl pkcs12 -export -in /etc/grid-security/hostcert.pem -inkey /etc/grid-
security/hostkey.pem -certfile /etc/grid-security/certificates/ca1d96a0.0 -name "host
keystore" -out hoststore.p12
trong đó tham số certfile trỏ đến public key chuẩn X509 định dạng pem.
- Chuyển tiếp sang định dạng của java keystore:
keytool -importkeystore -srckeystore hoststore.p12 -destkeystore hoststore.ks -
srcstoretype pkcs12 -deststoretype jks
106
- Thêm chứng nhận của nhà cung cấp chứng thực CA đã ký cho chứng thực của
server vào keystore:
keytool -import -keystore hoststore.ks -alias ca1d96a0 -file /etc/grid-
security/certificates/ca1d96a0.0
- Vì quá trình người dùng đăng nhập vào giao diện quản trị đòi hỏi quá trình xác
thực lẫn nhau giữa cả VOMS server và người dùng. Để kiểm tra các giấy chứng
nhận của người dùng, ta cần phải có giấy chứng nhận của các CA đã cấp chứng
nhận cho họ. Tương tự như quá trình tạo java keystore cho host, ta tạo ra một
java keystore chứa tất cả các chứng nhận của các CA mà ta tin tưởng.
keytool -import -keystore ca.ks -alias ca1d96a0 -file /etc/grid-
security/certificates/ca1d96a0.0
- Cuối cùng, ta cấu hình tomcat hoạt động trên cổng 8443, giao thức https:
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minsSpareThreads=”25” maxSpareThreads=”75”
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="webapps/GOODASserver.jks"
keystorePass="123456"
truststoreFile="webapps/ca.jks"
truststorePass="123456"
truststoreType="JKS"/>
Trong đó, tham số clientAuth yêu cầu người dùng phải xuất chứng thực được
localhost tin cậy, kiểm tra qua truststoreFile của CA. Tham số keystoreFile trỏ tới
chứng thực dạng keystore của localhost. Ta trỏ tới https://localhost:8443 để kiểm tra
kết quả triển khai Tomcat và SSL.
107
3.2. Cấu hình VO.
Sau khi đã cài đặt xong gói phần mềm VOMS, ta tiến hành tạo ra tổ chức ảo.
Có 2 cách để tạo mới 1 tổ chức ảo là sử dụng các câu lệnh tạo trực tiếp trong gói cài
đặt gLite VOMS MYSQL; hoặc điền trực tiếp thông tin các tệp cấu hình trong glite
trong tiện tích đi kèm của gói gLite.
a. Sử dụng lệnh tạo VO trực tiếp voms-admin-configure.
- Sử dụng $GLITE_LOCATION/sbin/voms-admin-configure, cú pháp như sau:
voms-admin-configure install --dbtype mysql
--vo
--createdb
–deploy-database
--dbauser
--dbapwd
--dbusername
--dbpassword
--port
--smtp-host
--mail-from
- Khi tạo xong, các thông tin về cấu hình VO được lưu tại:
$GLITE_LOCATION/etc/voms/VOName/voms.conf
- Trong hệ thống GOODAS, ta tạo ra VO GOODAS:
$GLITE_LOCATION/sbin/voms-admin-configure install \
--dbtype mysql \
--vo GOODAS \
--createdb \
--deploy-database \
--dbauser root \
--dbapwd SQLRootPassword \
--dbusername trungnv\
--dbpassword SQLUserPassword \
108
--port 15000 \
--mail-from ndh7891@gmail.com \
--smtp-host bkluster.hut.edu.vn
- Sau khi tạo xong VO GOODAS, khởi động VOMS core và VOMS-Admin:
$GLITE_LOCATION/etc/init.d/voms start GOODAS
$GLITE_LOCATION/etc/init.d/voms-admin start GOODAS
- Kiểm tra VOMS core và VOMS-Admin đã được khởi động:
$GLITE_LOCATION/libexec/voms/voms-ping GOODAS
Nếu kết quả OK là VOMS-Core khởi động thành công.
$GLITE_LOCATION/sbin/voms-admin-ping GOODAS
Nếu kết quả OK là VOMS-Admin khởi động thành công.
- Khi muốn gỡ bỏ VO:
$GLITE_LOCATION/sbin/voms-admin-configure remove --vo GOODAS
- Mặc định, lệnh trên sẽ chỉ gỡ bỏ VO mà vẫn giữ lại cơ sở dữ liệu người dùng
của nó. Nếu muốn gỡ bỏ cả VO và cơ sở dữ liệu đi cùng:
$GLITE_LOCATION/sbin/voms-admin-configure remove --vo GOODAS --
undeploy-database
Khi hệ thống báo lỗi, có thể xem chi tiết lỗi tại các log của nó. Các log của
VOMS-Core được lưu tại: /var/log/voms; của VOMS-Admin lưu tại
$CATALINA_HOME/logs/voms-admin-VOName.log
b. Tạo trực tiếp VO sử dụng tệp cấu hình của Glite.
Ngoài cách dùng các câu lệnh trực tiếp tạo VO của gói gLite VOMS. gLite
cũng cung cấp các tệp cấu hình VO chuẩn. Mẫu các tệp cấu hình VO được lưu ở
/opt/glite/etc/config/templates. Người quản trị VO điền các thông tin này vào mẫu
chuẩn rồi gọi script thực thi. VO sẽ được tạo.
Ta lưu các tệp cấu hình chuẩn sang thư mục /opt/glite/etc/config, sau đó thay
đổi trực tiếp các giá trị “changme” để tiến hành cấu hình
cp /opt/glite/etc/config/templates/* /opt/glite/etc/config
109
Các file cấu hình VO bao gồm:
1. glite-global.cfg.xml: Thiết lập các biến môi trường EDG_LOCATION,
GPT_LOCATION, GLOBUS_LOCATION, EDG_LOCATION, JAVA_HOME,
CATALINA_HOME, ..., tomcat.user.name, tomcat.user.group...
2. glite-security-utils.cfg.xml: Thay đổi email sẽ nhận các thông báo cron.
3. glite-voms-server.cfg.xml:
Tham số Giá trị Ý nghĩa
voms.db.type mysql Loại cơ sở dữ liệu, MySQL hoặc Oracle
voms.db.host localhost Hostname của server database
voms.admin.smtp.host localhost Tên máy chủ SMTP gửi email
voms.mysql.admin.name root Tên người quản trị database MySQL
Các tham số trong glite-voms-server.cfg.xml.
4. vo-list.cfg.xml:
Tham số Giá trị Ý nghĩa
vo.name VO-Name Tên của VO sẽ cài
voms.hostname Localhost Hostname của server voms
voms.port.number 15000 Cổng giao tiếp với VOMS-Core
voms.db.name voms_VO-Name Tên database MySQL của VO
voms.db.user.name vo_VO-Name Tên người dùng MySQL sẽ thao
tác với database voms_VO-
Name
voms.db.user.password 123456 Password cho vo_VO-Name
voms.admin.notification
.e-mail
ndh7891@gmail.co
m
Email của người quản trị VO
voms.admin.certificate admincert.pem Certificate của người quản trị
VO
Các tham số trong vo-list.cfg.xml.
110
- Sau khi thiết lập các tham số, kiểm tra các tệp cấu hình đã được thiết lập đúng:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py –c
- Thiết lập tất cả các VO trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py –configure
- Nếu quá trình thiết lập thành công sẽ trả về:
The gLite VOMS server was successfully configured.
- Nếu thiết lập từng VO đơn lẻ:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py --configure --
vo=VO-Name
- Khởi động tất cả các VO trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py –start
- Khởi động từng VO trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py --start --
vo=VO-Name
- Tắt tất cả các VO trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py –stop
- Tắt từng VO trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py --stop --
vo=VO-Name
- Kiểm tra trạng thái hoạt động của toàn bộ các VO trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py –status
- Gỡ bỏ một VO nào đó trên VOMS server:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py --remove --
vo=VO-Name
- Gỡ bỏ VO và cơ sở dữ liệu của nó:
$GLITE_LOCATION/etc/config/scripts/glite-voms-server-config.py --remove --
vo=VO-Name --remove-db
111
3.3. Cấu hình EDG-MKGRIDMAP.
- Tệp cấu hình của EDG-MKGRIDMAP được lưu trong /opt/edg/etc. Tệp này đại
diện cho chính sách tài nguyên cục bộ của máy thực thi. Nếu chưa có, ta tạo ra
edg-mkgridmap và cài đặt các chính sách ánh xạ vào trong nó:
group vomss://vomrs-pragma.sdsc.edu:8443/voms/GOODAS?/GOODAS/AGP
agp-user
group vomss://vomrs-pragma.sdsc.edu:8443/voms/GOODAS?/GOODAS/CUDA
cuda-user
gmf_local /opt/edg/etc/grid-mapfile-local
- Tạo ra tệp gridmap rỗng /opt/edg/etc/grid-mapfile-local để chuẩn bị ghi các
thông tin ánh xạ vào hoặc sử dụng luôn tệp ánh xạ có sẵn /etc/grid-security/grid-
mapfile
touch /opt/edg/etc/grid-mapfile-local
- Tạo ra các file nhật ký edg-mkgridmap logfile:
mkdir /opt/edg/log
touch /opt/edg/log/edg-mkgridmap.log
Các file đính kèm theo tài liệu này:
- Luận văn- Nghiên cứu việc đảm bảo an toàn thông tin trong hệ thống tính toán lưới.pdf