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

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.

pdf111 trang | Chia sẻ: lylyngoc | Ngày: 26/10/2013 | Lượt xem: 1659 | Lượt tải: 0download
Bạn đang xem nội dung 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, để tải tài liệu về máy 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:

  • pdfLuậ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