1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Luận văn thạc sĩ) nghiên cứu giải pháp an toàn thông tin cho hệ thống tính toán lưới luận văn ths công nghệ thông tin 60 48 05

74 31 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 2,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau : “Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

- - - - *** - - -

TRIỆU THỊ THU THỦY

NGHIÊN CỨU GIẢI PHÁP AN TOÀN THÔNG TIN CHO HỆ THỐNG TÍNH TOÁN LƯỚI

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60 48 05

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Nguyễn Văn Tam

Trang 2

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5

MỞ ĐẦU 6

Chương 1 - Tổng quan về an toàn thông tin trong hệ thống tính toán lưới 7

1.1 Vai trò của tính toán lưới hiện nay 7

1.1.1 Giới thiệu 7

1.1.2 Vai trò của tính toán lưới trong nghiên cứu khoa học (e-science) 9

1.1.2.1 Chia sẻ tài nguyên bên trong tổ chức ảo (Virtual Organization) 10

1.1.2.2 Giao tiếp với những công việc đang được thực thi trên hệ thống lưới 11

1.1.2.3 Tính toán phân tán 13

1.1.2.4 Quản lý dữ liệu 15

1.2 Các thách thức của an toàn thông tin trong điện toán đám mây 16

1.2.1 Đặc trưng 16

1.2.2 Kiến trúc phân lớp của tính toán lưới 17

1.2.3 Thách thức an toàn thông tin 18

Chương 2 - Giải pháp bảo mật 20

2.1 Middleware 20

2.1.3 Định nghĩa 20

2.1.3 Các công nghệ Middleware trong tính toán lưới 23

2.1.3.1 Globus Toolkit 23

2.1.3.1 Glite 25

2.1.3.1 Unicore 29

2.1.3 Các phương pháp an toàn thông tin thường được áp dụng trong tầng middleware của tính toán lưới 30

2.1.3.1 Xác thực và cấp phép 30

2.1.3.2 Ủy quyền 33

2.1.3.3 Giao tiếp bí mật 35

2.2 Hạ tầng 37

2.2.3 An ninh mức vật lý 37

Trang 3

2.2.4 An ninh hệ điều hành 38

2.2.5 Bức tường lửa 39

2.2.6 Phát hiện truy nhập 41

Chương 3 - Giải pháp bức tường lửa mã nguồn mở iptables 42

3.1 Giới thiệu về IPTables 42

3.2 Nguyên lý hoạt động của IPTables 44

3.3 Cấu trúc IPTables 45

3.3.1 Bảng MANGLE 45

3.3.2 Bảng NAT 46

3.3.3 Bảng FILTER 47

3.4 Các thành phần của IPTables 47

3.4.1 Targets 47

3.4.2 Các tham số chuyển mạch quan trọng của IPTables 49

3.4.3 Sử dụng chuỗi luật do người dụng định nghĩa 52

3.4.4 Những module kernel 53

3.5 Các điều kiện trong chuỗi luật của IPTables 54

3.6 Hành động trong luật 58

3.7 Tường lửa trên Grid 61

3.7.1 Lưu lượng và cổng dịch vụ trong Grid 61

3.7.2 Điều khiển phạm vi cổng trong Grid 64

Chương 4 - Mô hình thử nghiệm 65

TÀI LIỆU THAM KHẢO 72

Trang 4

A watermark is added at the end of each output PDF file.

To remove the watermark, you need to purchase the software from

http://www.anypdftools.com/buy/buy-pdf-splitter.html

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

VOMS Virtual Organization Manager Service Dich vụ quản trị tổ chức ảo ICMP Internet Control Message Protocol Giao thức thong điệp điều khiển

Internet TCP Transmission Control Protocol Giao thức điều khiển giao vân

NAT Network address translation Chuyển đổi địa chỉ mạng

GSI Grid Security Infrastructure Kiến trúc an ninh lưới

FTP File Transfer Protocol Giao thức truyền tập tin

Trang 6

MỞ ĐẦU

Tính toán lưới vẫn giữ vai trò vô cùng quan trọng, đặc biệt trong lĩnh vực nghiên cứu Trên thế giới, các dự án về tính tóan lưới vẫn tiếp tục được triển khai và phát triển Với mong muốn làm chủ vấn đề an toàn thông tin trong tính toán lưới, luận văn này gồm những phần sau như sau:

Chương 1: Tổng quan về an toàn thông tin trong hệ thống

Chương 2: Giải pháp bảo mật

Chương 3: Bức tường lửa Iptables

Chương 4: Demo

Cuối cùng là Tài liệu tham khảo

Trang 7

Chương 1 - Tổng quan về an toàn thông tin trong hệ thống

tính toán lưới 1.1 Vai trò của tính toán lưới hiện nay

Trước sự phát triển mạnh mẽ của điện toán đám mây, phần này trả lời cho câu hỏi ý nghĩa của điện toán lưới ngày nay

1.1.1 Giới thiệu

Khái niệm Tính toán lưới đã bắt đầu xuất hiện vào đầu thập niên 90 với nghĩa ẩn dụ là làm cho việc sử dụng sức mạnh của máy tính dễ dàng như là việc sử dụng điện năng Ngày nay có rất nhiều định nghĩa về tính toán lưới Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau :

“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại Từ

đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán

và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”

Hình 1-1 mô tả các quá trình phát triển của điện toán, từ kiến trúc máy vi tính lớn/thiết bị đầu cuối, đến máy tính cá nhân, mạng điện toán đến điện toán lưới và đám mây

Trong giai đoạn 1, nhiều người dùng tương tác với một máy vi tính lớn qua các thiết bị đầu cuối Trong giai đoạn 2, các máy tính cá nhân có sức mạnh đủ để thỏa mãn đa số người sử dụng Trong giai đoạn 3, các máy tính cá nhân, máy tính xách tay và máy chủ kết nối với nhau thông qua các mạng nội bộ để chia sẻ tài nguyên và tăng hiệu năng Trong giai đoạn 4, các mạng nội bộ được kết nối với các mạng nội bộ khác tạo thành mạng toàn cầu như Internet để tận dụng các tài nguyên và ứng dụng ở xa Trong giai đoạn

5, điện toán lưới cung cấp khả năng chia sẻ sức mạnh điện toán và lưu trữ thông qua một

hệ thống điện toán phân tán Trong giai đoạn 6, điện toán đám mây cung cấp khả năng chia sẻ tài nguyên trên Internet thông qua một cách đơn giản và linh động hơn

Trang 8

Hình 1-1 Các giai đoạn phát triển của điện toán Điện toán lưới là sự kết hợp và chia sẻ tài nguyên cũng như cách thức giải quyết vấn đề trong môi trường các tổ chức ảo động, nhiều thành viên nghiên cứu Việc chia sẻ được giám sát chặt chẽ trong đó những nhà cung cấp tài nguyên và những nhà tiêu thụ định nghĩa rõ ràng và cẩn thận cái gì được chia sẻ, ai được chia sẻ và chia sẻ trong điều kiện nào

Bước phát triển tiếp theo của điện toán lưới là điện toán theo nhu cầu, trong đó các tài nguyên máy tính được đo đạc như các dịch vụ Điện toán theo nhu cầu đã giới thiệu ý tưởng về việc cung cấp động các tài nguyên điện toán

Điện toán đám mây được định nghĩa như là sự cung cấp các ứng dụng như các dịch vụ thông qua Internet, và các phần mềm và cơ sở hạ tầng phần cứng trong các trung tâm dữ liệu cung cấp các dịch vụ đó dùng mô hình kinh doanh giống như điện toán theo nhu cầu Việc đo đạc các dịch vụ để hỗ trợ cho mô hình kinh doanh thanh toán theo nhu cầu là thích hợp với các phần mềm ứng dụng (SaaS), nền tảng (PaaS), và cơ sở hạ tầng (IaaS)

Trang 9

Thêm vào đó, điện toán đám mây tận dụng các công nghệ đang phát triển như Web 2.0 cho các dịch vụ ứng dụng, và ảo hóa cho việc cung cấp các tài nguyên động

So sánh 6 giai đoạn phát triển của điện toán, có vẻ như điện toán đám mây là một sự quay trở lại với mô hình điện toán máy tính lớn ban đầu Tuy nhiên, hai mô hình này có vài điểm khác biệt quan trọng Điện toán máy vi tính lớn chỉ cho phép một sức mạnh tính toán giới hạn, trong khi điện toán đám mây cung cấp một sức mạnh và dung lượng gần như vô hạn Thêm vào đó, trong điện toán máy tính lớn các thiết bị đầu cuối chỉ là những thiết bị truy cập, trong khi với điện toán đám mây các máy tính cá nhân có thể cung cấp khả năng điện toán và bộ đệm

Dẫu cho, ngày nay điện toán đám mây ở mọi nơi được nhắc đến và hưởng ứng thì tính toán lưới vẫn có chỗ đứng trong các phòng nghiên cứu các dự án của các tổ chức cần đến

hỗ trợ tính toán lớn dựa trên nền tảng hạ tầng có sẵn với một cộng đồng tài nguyên tự nguyện

“Grid needs Cloud to prosper; Cloud needs Grid to scale” “Tính toán lưới cần Cloud để phát triển, còn Cloud cần lưới để mở rộng” Ian Foster [4] [5]

Một số dự án lưới vẫn tiếp tục được quan tâm và triển khai

- EGI = European Grid Infrastructure: Các tài nguyên được sử dụng bởi hơn 13.000 nhà khoa học trên khắp châu Âu [6]

- StratusLab: Gia tăng hạ tầng điện toán lưới với công nghệ ảo hóa và đám mây [10]

- Initiative for Globus in Europe (IGE) : Mục tiêu chính là tiếp tục hỗ trợ cơ sở hạ tầng máy tính châu Âu, để phục vụ như một điểm trung tâm liên lạc tại châu Âu cho Globus, vào hướng Globus phát triển phù hợp với các yêu cầu của người dùng châu Âu và tăng cường ảnh hưởng của các nhà phát triển châu Âu trong Liên minh Globus

1.1.2 Vai trò của tính toán lưới trong nghiên cứu khoa học (e-science)

Mục này đề cập đến vai trò của Tính toán lưới và lý giải vì sao Tính toán lưới là mô hình

lý tưởng cho các bài toán thuộc nhiều ngành khoa học khác nhau

Chúng ta sẽ lấy ví dụ là bài toán mô phỏng sự đụng độ của các lỗ đen để nói lên những đặc tính thường có trong những bài toán thuộc nhiều lĩnh vực khác nhau và sự phù hơp khi dùng Tính toán lưới để giải quyết những bài toán này Một số vấn đề có thể còn đang

ở dạng nghiên cứu phát triển nhưng chúng ta tin rằng chúng sẽ được hiện thực trong một tường lai gần 4 vấn đề thường thấy trong các bài toán khoa học mà cụ thể là bài toán trong vật lý thiên thể, mô phỏng sự đụng độ của các lỗ đen

Trang 10

 Giao tiếp với những công việc đang được thực thi trên hệ thống lưới

 Tính toán phân tán

 Quản lý dữ liệu

1.1.2.1 Chia sẻ tài nguyên bên trong tổ chức ảo (Virtual Organization)

Một tổ chức ảo là một tập hợp các tài nguyên được quản lý một cách độc lập, những được hợp tác, tập hợp lại để cộng đồng dùng nó giải quyết một mục tiêu chung Việc tổ chức

và sử dụng tài nguyên một cách hiệu quả rất quan trọng đối với cộng đồng người sử dụng này

Kịch bản sử dụng đơn giản và quan trọng nhất trong tính toán khoa học dựa trên Grid là khám phá tài nguyên (resource discovery) và nhờ hệ thống lưới thực thi một công việc nào đó (job submission) Một nhà khoa học ở Châu Âu đã chuẩn bị một file thực thi và các tham số đầu vào để giả lập việc trộn lẫn vào nhau giữa các lỗ đen,việc giả lập sử dụng nhiều tài nguyên phân tán ở khắp nơi trên thế giới, thông thường việc truy xuất tài nguyên

ở mỗi nơi cần có một tài khoản, mật khẩu, hàng đợi, hệ thống tệp… khác nhau.Điều này gây khó khăn rất lớn cho cho các nhà khoa học có thể tiến hành các thí nghiệm, các mô phỏng với quy mô lớn Ngay cả việc đơn giản là chọn một nơi nào đó để thực thi quá trình mô phỏng cũng đã rất phức tạp

Nhưng với công nghệ Grid, quá trình truy xuất những tài nguyên này sẽ trở nên đơn giản Việc xác nhận dựa trên chứng chỉ (certificate) cho phép người sử dụng truy xuất tất cả hệ thống trong tổ chức ảo với chỉ một lần đăng nhập, định danh và mật khẩu khi đăng nhập vào tổ chức ảo sẽ được ánh xạ vào tài khoản của người sử dụng đó Đồng thời mô hình Grid cũng sẽ loại bỏ đi những đặc tính riêng của từng tài nguyên, tạo ra giao diện chung cho hệ thống tệp, cách nén dữ liệu… và do đó cho phép người sử dụng dùng các câu lệnh truy xuất thống nhất cho tất cả các tài nguyên

Việc xây dựng những cổng thông tin dựa trên web ( web-based portal) cho phép người dùng truy xuất dễ dàng và thân thiện tất cả tài nguyên trong một tổ chức ảo Sau khi đăng nhập vào, người dùng về nguyên tắc có thể nhìn thấy được tất cả các tài nguyên sẵn có và

có thể cho chạy (submit) một công việc trên tài nguyên nào Đôi khi người dùng chỉ quan tâm đưa công việc của mình lên lưới để chạy (submit), còn việc phân tán tài nguyên để cho hệ thống tự động

Trang 11

Hình 1-2 Mối quan hệ chia sẻ bên trong tổ chức ảo

1.1.2.2 Giao tiếp với những công việc đang được thực thi trên hệ thống lưới

Trước đây, một nhà khoa học khi muốn chạy một ứng dụng mô phỏng lớn thì trước tiên phải thông báo và chuyển công việc vào một hệ thống trên một máy ở xa và sau đó cứ một khoảng thời gian lại log in vào máy từ xa đó để kiểm tra trạng thái của công viêc Công việc đó có thể vẫn còn trong hàng đợi hoặc có thể công việc đó đang được thực thi

và cũng thường xuyên xảy ra trường hợp công việc đó đã bị kết thức vì một lý do nào đó

Có những trường hợp công việc nằm trong hàng đợi cả ngày, nhưng khi được thực thi thì thất bại chỉ vì một lỗi đơn giản trong quá trình khởi động hay có những công việc đã chạy

cả 100.000 giờ của CPU nhưng cuối cùng lại trả ra kết quả sai chỉ vì tham số đầu vào sai Những trường hợp như thế đã làm nảy sinh nhu cầu cần phải phát triển cơ chế giao tiếp , quản lý và chuyển hướng những công việc tốt hơn, đòi hỏi độ phức tạp hơn

Cactus là một ứng dụng Grid cho phép người dùng thông qua trình duyệt web có thể giao tiếp với các công việc đang thực thi Cactus Webserver Thorn HTTPD là một máy chủ web cho phép thể hiện tất cả thông tin của một công việc đang thực thi bao gồm chương trình con đang chạy, phiên bản, thời gian ước lượng hoàn tất, file dữ liệu nào được ghi

… Các tham số được khai báo steerable có thể được thay đổi thông qua giao diện web ,

tần suất I/O , variable output, downsampling… cũng có thể được thay đổi nếu cần, cho

Trang 12

thông báo đến một nhóm người cùng hợp tác trong công việc này thông qua email hoặc

tin nhắn SMS cùng với những thông tin để họ có thể truy xuất quá trình mô phỏng từ trình

duyệt Những sự kiện mô phỏng quan trọng, như việc trộn lẫn hai lỗ đen có thể được lập

trình để kích hoạt thông báo đến một người sử dụng nào đó hoặc là một nhóm người cùng

cộng tác trong việc giả lập đó

Cổng thông tin vì vậy trở thành công cụ tổ chức cho khoa học tính toán hợp tác Công

việc có thể được phân loại theo trạng thái, theo chủ đề hoặc theo sự cộng tác Đường liên

kết (hyperlink) đến dữ liệu sinh ra từ quá trình giả lập

Hình 1-3 Giao diện cổng web

Trang 13

Hình 1-4 Cổng thông tin hỗ trợ dich vụ tính toán lưới

Những công nghệ này đang được sử dụng rất nhiều trong các dự án khoa học

Task farming là bước tiếp cận mà trong đó những task độc lập nhau hoặc là kết nối lỏng

lẻo sẽ thực thi trên những tài nguyên rải rác trong tổ chức ảo Những tasks này đòi hỏi rất

ít hoặc thậm chí không có sự giao tiếp dữ liệu giữa các task và thường trả về dữ liệu rất ít Task farming có thể được dùng cho việc nghiên cứu tìm ra các tham số phù hợp cho một bài toán, các tham số này thay đổi với rất nhiều khả năng khác nhau để tìm ra một giải pháp hứa hẹn nhất trước khi đi sâu vào nghiên cứu Ví dụ việc nghiên cứu hiện tượng lực hấp dẫn hình thành nên lỗ đen, việc nghiên cứu này đòi hỏi phải biết một cách chính xác biên độ của sóng lúc ban đầu Một thay đổi nhỏ trên giá trị biên độ này sẽ quyết định sóng

Trang 14

tìm những giá trị có độ chính xác tương đối cao Grid task farming tận dụng công nghệ lưới để khám phá những tài nguyên thích hợp trong một tổ chức ảo, thực thi một tập các task, nhận kết quả trả về, tất cả diễn ra trong một thời gian ngắn

Metacomputing là việc phân tán một hoặc nhiều task kết nối chặt đến một số lượng máy rất lớn Metacomputing có thể được sử dụng để tăng không chỉ khả năng tính toán của hệ thống mà còn tăng tính sẵn có của hệ thống Ví dụ quá trình tính toán cần 1024 bộ xử lý nhưng không có một máy nào có sẵn chừng đó bộ xử lý, thì có thể dùng 4 máy với 256 bộ

xử lý mỗi máy để tính toán Sự khả thi của metacomputing đã được chứng minh với những ứng dụng thực tế Ví dụ năm 2001, mô phỏng sự va chạm giữa các lỗ đen sử dụng nhiều máy từ xa, chạy trên những hệ điều hành khác nhau, sử dụng những kỹ thuật có khả năng thích nghi để có thể tự động điều chỉnh những message gửi thông qua môi trường mạng giữa các máy, làm tăng hiệu suất từ 15% đến trên 70% thời gian thực thi việc mô phỏng Tầng trao đổi message dựa trên Grid cho phép những ứng dụng dựa vào Calcus có thể được chạy mà không cần sự điều chỉnh nào Những thí nghiệm như thế cho thấy rằng metacomputing dựa trên Grid có thể được chạy với độ hiệu quả cao thậm chí cho những giả lập có tính kết nối cao như phương trình Einstein (đòi hỏi nhiều sự giao tiếp) Khi công nghệ Grid được triển khai đến nhiều phía khác nhau, những khả năng này có thể trở thành chế độ hoạt động bình thường của hệ thống

Migration là việc di chuyển quá trình giả lập từ phía này sang phía khác hoặc có thể là di chuyển process mô phỏng từ máy này sang máy khác Ví dụ do sự đụng độ làm chậm quá trình mô phỏng hay quá trình mô phỏng cần nhiều bộ nhớ hơn để giải quyết một bài toán đang phát triển, những nhu cầu đó dẫn đến quá trình mô phỏng cần phải di chuyển đến một một tài nguyên khác thích hợp hơn Việc di chuyển này cần sự hỗ trợ của broker dịch vụ tài nguyên, nếu một tài nguyên mới được tìm thấy phù hợp với yêu cầu, broker dịch vụ sẽ thông báo, để quá trình mô phỏng được chuyển sang môi trường mới

Spawning là một biến dạng của Migration Trong Spawning, chỉ một phần ứng dụng được

di chuyển đến một tài nguyên ở xa Ví dụ khi mô phỏng sự đụng độ của các lỗ đen, nhiệm

vụ phân tích cần xác định vị trí của lỗ đen và tính toán lực hấp dẫn phát ra Những nhiệm

vụ này cần rất nhiều thời gian và có thể không cần phải trả kết quả về cho chương trình giả lập chính hoặc những nhiệm vụ này dễ dàng song song hóa và do đó có thể được di chuyển đến một tài nguyên khác, cho phép tài nguyên chính tập trung trong việc giải quyết vấn đề mô phỏng chính, trong mô phỏng lỗ đen năm 2001, việc mô phỏng được chạy ở Đức nhưng nhiệm vụ phân tích được di chuyển đến tài nguyên ở Châu Âu , Châu

Á và Bắc Mỹ

Trang 15

GridFTP server là một công cụ cho việc thao tác dữ liệu từ xa đã được sử dụng bởi các nhà thiên văn học GridFTP server là sự mở rộng của dự án Đức GriKSL Khi GridFTP server chạy trên hệ thống tệp của máy đang có dữ liệu, nó cho phép file dữ liệu HDF5 được phân tích với hệ thống hiển thị trực quan ở local Bất kỳ hệ thống hiển thị trực quan nào tích hợp GridFTP client cùng với chương trình đọc file HDF5 đều có thể hiển thị dữ liệu từ xa Những chương trình đọc file HDF5 có sẵn trong các phần mềm như OpenDX , Amira Những công cụ này đã giải quyết được vấn đề dữ liệu ở xa, và có thể được sử dụng để tạo cái nhìn trực quan của dữ liệu ở cách xa hàng ngàn km.[2]

Trang 16

Hình 1-5 Sử dụng GridFTP để có cái nhìn trực quan kết quả thu được từ sự mô phỏng 2

lỗ đen đụng độ nhau

Mục này đã cho ta thấy được vai trò của Tính toán lưới trong khoa học Mô hình kiến trúc cũng như các giao thức giao tiếp của Tính toán lưới rất phù hợp để giải quyết những bài toán có những vấn đề đặc thù trong nhiều ngành khoa học khác nhau Điều này cũng có thể dễ dàng giải thích bởi vì Tính toán lưới ra đời từ những yêu cầu cấp thiết trong nghiên cứu khoa học hợp tác

1.2 Các thách thức của an toàn thông tin trong điện toán đám mây

1.2.1 Đặc trưng

Các đặc trưng công nghệ tính toán lưới bao gồm:

- Các tài nguyên hết sức đa dạng, không đồng nhất Tài nguyên ở đây được hiểu theo nghĩa hết sức tổng quát Đó có thể là các tài nguyên phần cứng: tài nguyên tính toán, tài nguyên lưu trữ, các thiết bị đặc biệt khác ; các tài nguyên phần mềm: các CSDL, các phần mềm đặc biệt và đắt giá ; các đường truyền mạng Các tài nguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử lý Việc tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồn tài nguyên này hoàn toàn không

dễ dàng Ban đầu tính toán lưới được đặt ra chủ yếu là để tận dụng các nguồn tài nguyên tính toán nhưng hiện nay mục tiêu của nó đã được mở rộng sang rất nhiều nguồn tài nguyên khác như đã kể trên

- Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức tham gia lưới Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào lưới còn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có quyền tự trị Các tổ chức

Trang 17

khác nhau thường có chính sách sử dụng hay cho thuê tài nguyên của họ khác nhau và do vậy cũng gây khó khăn cho việc quản lý

- Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy phải có các cơ chế quản lý phân tán

- Số lượng các tài nguyên được sử dụng đồng thời có thể lớn nhưng không cố định

- Kết nối các mạng đa cấp và phức hợp

1.2.2 Kiến trúc phân lớp của tính toán lưới

Về khía cạnh người sử dụng thì môi trường lưới có thể được chia làm 3 lớp:

Trang 18

Lớp ứng dụng:

Trong môi trường lưới có rất nhiều loại ứng dụng khác nhau có nhu cầu sử dụng tài nguyên của hệ thống tính toán lưới bên dưới, trong đó có những ứng dụng như việc truy xuất dữ liệu qua điện thoại di động, hay các máy trạm cần tài nguyên cho việc tính toán của nó, hay là các hệ thống mô phỏng cần một lượng rất lớn dữ liệu để trực quan hóa các kết quả thí nghiệm

Lớp giữa (middleware):

Khi đó lớp giữa (grid middleware) chính là lớp đóng vai trò như là 1 bức tường mỏng bao

bọc lấy lớp cơ sở hạ tầng Nó có khả năng che dấu mọi sự phức hợp bên dưới của lớp cơ

sở hạ tầng, nhưng lại cung cấp cho lớp ứng dụng những giao tiếp được chuẩn hóa nhằm làm đơn giản hóa cho các user có khả năng sử dụng dễ dàng hơn

Lớp cơ sở hạ tầng:

Bao gồm các hệ thống siêu máy tính, clusters, các hệ thống lưu trữ dữ liệu, các phòng thí nghiệm, hệ thống mạng internet toàn cầu, … Các hệ thống cơ sở hạ tầng này cung cấp khả năng tính toán rất lớn, có khả năng lưu trữ lượng dữ liệu vô cùng lớn, chẳng hạn như dữ liệu thu được từ việc thu thập dữ liệu khi theo dõi chuyển động của các vì sao,…

1.2.3 Thách thức an toàn thông tin

Một số vấn đề tồn tại trong tính toán lưới:

- Thiếu cơ chế kiểm soát linh hoạt dựa trên những chính sách linh hoạt

- Thiếu chính sách kiểm soát truy cập bên trong từn miền

- Thiếu giao tiếp nhóm an toàn

- Thiếu cơ chế ủy quyền để hỗ trợ khả năng mở rộng số lượng lớn tài nguyên và người dùng

Từ đặc trưng của tính toán lưới, và mô hình phân lớp của lưới ở trên, trong chương tiếp theo, tôi tập trung giải quyết vấn đề an toàn thông tin trong tính toán lưới ở trên bằng cách:

- Tìm hiểu các middleware có sẵn, xây dựng lưới tính toán đảm bảo yêu cầu cung cấp các tính năng bảo mật thực hiện các nhiệm vụ:

o Cấp quyền truy cập cho thuê bao có giấy chứng nhận

o Kiểm tra tính hợp lệ và hạn dùng giấy chứng nhận

Trang 19

o Bảo vệ các nút với những truy cập trái phép

o Xác minh các thuê bao hợp pháp sử dụng một cách chính xác các nguồn tài nguyên cho phép

Trang 20

Chương 2 - Giải pháp bảo mật

2.1 Middleware

2.1.3 Định nghĩa

Grid middleware là phần mềm hệ thống nằm giữa lớp ứng dụng và hệ điều hành

Nó có khả năng:

- Cung cấp các dịch vụ cho các ứng dụng Bao gồm các dịch vụ về khám phá tài

nguyên(discovery), lưu trữ (storage), thực thi (execution), thông tin (information), theo dõi tài nguyên (resource monitoring), kiểm lỗi và phục hồi (failure detector and

recovery),… Đây là các dịch vụ cốt lõi và thiết yếu nhất để làm sao user có thể tham gia

vào môi trường lưới Chẳng hạn, khi 1 user muốn sử dụng 1 tài nguyên tính toán mà đã được mô tả trước, thì dịch vụ khám phá tài nguyên sẽ dò tìm ra những loại tài nguyên thích hợp cho user, sau đó sẽ cấp phát cho user ứng với quyền hạn mà user đó có thông

qua các dịch vụ về bảo mật (security) Sau khi được cấp phát, các dịch vụ theo dõi về thông tin tài nguyên, theo dõi việc thực thi của job, lập lịch job (scheduling) sao cho hợp

lý,… Như vậy, ứng với mỗi quá trình đáp ứng yêu cầu của user, có rất nhiều dịch vụ tham gia vào quá trình này

- Che dấu sự phức hợp (heterogeneous) của môi trường lưới: Bởi vì cơ sở hạ

tầng của môi trường lưới là phức hợp, đó là sự tham gia của nhiều tổ chức, nhiều hệ thống máy tính khác nhau, mỗi hệ thống lại chạy trên nền hệ điều hành khác nhau, như Unix, Linux, Sun Solaris, Mac OS,… Nhưng đối với cái nhìn của người dùng, môi trường lưới

dưới vỏ bọc của Grid middleware, đó là 1 hệ thống tính toán lớn trong suốt (transparent)

Khi user yêu cầu thực thi 1 công việc nào đó, user không cần quan tâm đến việc thực thi công việc của mình nằm trên những tài nguyên nào, ở xa hay gần, nằm ở đâu,… quan trọng là kết quả mà người dùng nhận được, thời gian đáp ứng,…

- Cung cấp các giao tiếp đã được chuẩn hóa cho ứng dụng

Mục đích của Grid middleware:

Có 3 mục đích:

- Xây dựng các giao tiếp, và các giao thức có tính mục đích chung, tính mở và tính chuẩn Bởi vì hệ thống lưới được xây dưng trên những giao tiếp và giao thức với rất

nhiều mục đích khác nhau Những giao tiếp và giao thức này điều chỉ ra được các kết quả

cơ bản, mang tính nền tảng như về việc xác nhận, xác thực, khám phá tài nguyên, truy xuất tài nguyên Do đó, việc xây dựng các giao tiếp, giao thức chuẩn và mở là rất quan trọng, nếu không, chúng ta chỉ xây dựng được những ứng dụng mang tính đặc thù mà thôi

- Định nghĩa các giao thức chuẩn: Nó định nghĩa nội dung và chuỗi các sự kiện

trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa Điều này rất quan trọng và cần

thiết để thực hiện tính interoperability (nghĩa là khả năng mà hai thực thể khác nhau có

Trang 21

thể làm việc với nhau, và được thực hiện bởi các giao thức thông thường) mà hệ thống lưới phụ thuộc vào

- Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn, định

nghĩa các giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành phần của Grid bằng cách cho phép các thành phần mã được sử dụng lại

-

Hình 2-1 Kiến trúc phân tầng của hệ thống lưới

Kiến trúc lưới bao gồm nhiều tầng với những độ rộng khác nhau, được thể hiện thông qua minh họa dạng hình đồng hồ cát như hình 2-1 (hình 2.2 – chương 2 – trong quyển

“F.Berman,G.Fox,T.Hey-Tính toán lưới-Making The Global Infrastructure a Reality (Wiley2003)” Phần hẹp nhất, phần cổ của đồng hồ cát là lớp về các giao thức kết nối và

giao thức tài nguyên (Resource and connectivity protocols) Lớp này chứa 1 tập rất nhỏ

các giao thức chính và giao diện lập trình ứng dụng mà sẽ được hiện thực ở mọi nơi Lớp trên cùng của đồng hồ cát là tập các ứng dụng và công cụ hỗ trợ Và phần nằm dưới cùng của đồng hồ cát là lớp cở sở hạ tầng, nó phụ thuộc nhiều vào công nghệ

Dựa hình 2-1, ta cũng nhận ra rằng, Grid middleware chính là phần nằm trong hình chữ nhật viền đen Nó bao gồm 3 lớp chính:

- Lớp giao thức kết nối – Connectivity layer

- Lớp giao thức tài nguyên – Resource layer

- Lớp giao thức nhóm – Collective layer

Trang 22

Lớp giao thức kết nối – Connectivity layer

Đây là lớp có chức năng giao tiếp một cách dễ dàng và an toàn Lớp kết nối định nghĩa

giao thức giao tiếp (communication) và giao thức xác thực (authentication)

- Giao thức giao tiếp cho phép các thông điệp có thể được trao đổi với nhau giữa

các tài nguyên của lớp Fabric

- Giao thức xác thực xây dựng trên các dịch vụ giao tiếp bằng cách cung cấp cơ chế bảo mật mã hóa cho việc xác định user và tài nguyên Các giải pháp xác thực cho môi

trường tổ chức ảo (VO – Virtual Organization) có thể có 4 đặc tính sau:

o Single sign-on: User có thể được xác thực chỉ 1 lần bằng cách đăng

nhập vào hệ thống và có thể truy xuất vào nhiều tài nguyên lưới

o Việc ủy quyền: User có khả năng ủy quyền cho 1 chương trình khác để thực thi giống như những hành vi của user khi user đã được xác thực Đến lượt chương

trình có thể ủy quyền cho những chương trình khác 1 cách tùy chọn

o Việc tích hợp với nhiều giải pháp bảo mật cục bộ: Đó là việc mỗi tổ chức, mỗi tài nguyên đã có nhưng giải pháp bảo mật riêng cho mình Do đó, các giải pháp bảo mật của hệ thống lưới sẽ tận dụng các giải pháp bảo mật cục bộ có sẵn này mà không cần phải thay thế 1 giải pháp bảo mật mới, và chỉ cần cho phép ánh xạ vào môi trường cục

bộ

o Mối quan hệ đáng tin cậy dựa trên user: Để user có khả năng truy xuất vào tài nguyên từ nhiều nhà cung cấp khác nhau, thì hệ thống bảo mật không cần phải yêu cầu các nhà cung cấp tài nguyên phải liên lạc với nhau để cấu hình cho môi trường mạng Chẳng hạn, nếu user có quyền truy xuất vào tài nguyên của tổ chức A và B, thì user có thể truy xuất vào cả 2 tài nguyên của tổ chức A và B với nhau mà không cần sự liên lạc giữa

những nhà quản trị bảo mật của tổ chức A và B

Lớp giao thức tài nguyên – Resource layer

Đây là lớp có khả năng chia sẻ các tài nguyên đơn lẻ Nó định nghĩa các giao thức về

sự thương lượng an toàn, khởi tạo, theo dõi, điều khiển, tài khoản và sự trả chi phí cho việc chia sẻ các thao tác trên những tài nguyên đơn lẻ Lớp tài nguyên sẽ được hiện thực bởi các giao thức để truy xuất và điều khiển các tài nguyên cục bộ, bao gồm 2 lớp chính:

- Giao thức thông tin (Information protocol) được sử dụng để rút ra thông tin về

cấu trúc và trạng thái của tài nguyên chẳng hạn như cấu hình của tài nguyên, tải hiện thời, hay chính sách sử dụng,…

- Giao thức quản lý (Management protocol) được sử dụng để thỏa thuận việc

truy xuất vào tài nguyên chia sẻ, chẳng hạn về yêu cầu tài nguyên (bao gồm việc đặt chỗ

và chất lượng dịch vụ) và các thao tác thực hiện như khởi tạo, truy xuất tài nguyên,…

Lớp giao thức nhóm – Collective layer

Có khả năng quản lý 1 tập các tài nguyên trong khi lớp tài nguyên chỉ tập trung vào việc tương tác giữa các tài nguyên đơn lẻ Và nó dựa trên lớp kết nối và lớp tài nguyên để

Trang 23

hiện thực rất nhiều hành vi chia sẻ mà không cần phải thay thế những yêu cầu mới ứng với mỗi tài nguyên được chia sẻ Chẳng hạn:

- Directory service cho phép các thành viên tham gia vào tổ chức ảo có thể khám

phá ra tài nguyên hay các thuộc tính của tài nguyên Nó cho phép user truy vấn về tài nguyên bằng tên hoặc các thuộc tính như kiểu, sự sẵn sàng, hay tải

- Coallocation-allocation, scheduling, and brokering services cho phép các

thành viên của tổ chức ảo yêu cầu việc định vị cho một hay nhiều tài nguyên và phân bố

các task cho các tài nguyên thích hợp

- Monitoring and diagnotics services hỗ trợ việc theo dõi các tài nguyên của tổ

chức ảo về lỗi, việc tấn công hay việc quá tải

- Data replication services hỗ trợ quản lý việc lưu trữ tài nguyên để tối đa hiệu

quả truy xuất như thời gian đáp ứng, khả năng tin cậy, chi phí,…

- Grid-enabled programming systems cho phép các mô hình lập trình thân thiện,

chẳng hạn như MPI (Message-passing Interfaces),…

2.1.3 Các công nghệ Middleware trong tính toán lưới

2.1.3.1 Globus Toolkit [1] [3]

Bộ công cụ Globus Toolkit, được phát triển bởi Globus Allicance, là bộ công cụ phổ biến

để phát triển các ứng dụng tính toán lưới, là nền của rất nhiều dự án tính toán lưới (TTL), được xem xét để tạo ra chuẩn công nghiệp Khi kết hợp với các chuẩn Open Grid Services Architecture (OGSA standards) định hướng cho TTL, Globus được giới công nghiệp hỗ trợ rất tích cực phát triển theo kiến trúc hướng dịch vụ (service-oriented architecture), và dịch cụ Web (Web services)

Bộ công cụ Globus Toolkit là bộ công cụ phổ biến để phát triển các ứng dụng tính toán lưới được phát triển bởi Globus Allicance và nhiều tổ chức khác trên thế giới Globus Toolkit gồm nhiều thành phần phần mềm, bao gồm cả các thành phần phát triển dựa trên dịch vụ web và không dựa trên dịch vụ web

Các thành phần của bộ Globus Toolkit được chia ra năm hạng mục sau đây:

 Môi trường chạy chung (Common Runtime): cung cấp các thư viện và các công cụ

để xây dựng các ứng dụng bao gồm cả các ứng dụng dựa trên dịch vụ Web và không dựa trên dịch vụ Web

Trang 24

Bảo mật: xây dựng dựa trên hạ tầng bảo mật lưới (Grid Security Infrastructure –

GSI)

 Quản lý dữ liệu: cho phép quản lý lượng lớn dữ liệu trong tổ chức ảo

 Các dịch vụ thông tin: cung cấp các công cụ để tìm kiếm và quản lý tài nguyên trong tổ chức ảo

 Quản lý thực thi: khởi tạo, giám sát, quản lý, xếp lịch cho các công việc

Mô hình kiến trúc của Globus:

 Cơ chế tạo đại diện dựa trên chứng nhận Proxy X.509

o Hỗ trợ cấp quyền có vài API

Trang 25

 Đầu tiên cung cấp một API xác thực chung cho phép gọi chạy các kiếm soát truy nhập dựa trên chứng thư của client (ví dụ: chuỗi chứng nhận X.509)

 Thứ hai cung cấp một danh sách điều khiển truy cập đơn giản map các quyền thực thể từ xa với tên người dùng trên hệ thống cục bộ (grid-mapfile)

 Cơ chế thứ hai cũng cung cấp các dòng mô tả cho phép các bên thứ ba để ghi đè lên hành vi mặc định và hiện đang được sử dụng trong các máy chủ Gatekeeper và GridFTP

o Các API và công cụ mức thấp hơn quản lý, phát hiện và truy vấn giấy chứng nhận

- GSI-OpenSSH

o GSI-OpenSSH là một phiên bản sửa đổi của OpenSSH có thêm hỗ trợ cho xác thực chứng chỉ X.509 proxy và tạo đại diện, cung cấp đăng nhập từ xa một lần và dịch vụ truyền tập tin

o GSI-OpenSSH có thể được sử dụng để đăng nhập vào hệ thống từ xa và truyền tập tin giữa các hệ thống mà không cần nhập một mật khẩu, chỉ dựa trên chứng thư proxy xác thực hợp lệ

o GSI-OpenSSH chuyển tiếp chứng thư proxy tới các hệ thống đăng nhập từ xa, vì vậy các lệnh yêu cầu chứng thư proxy (bao gồm cả lệnh GSI-OpenSSH) có thể được sử dụng trên hệ thống từ xa mà không cần phải tự tạo ra một chứng thư proxy mới vào hệ thống đó

o Người dùng chạy myproxy-đăng nhập để xác thực và có được các chứng thư, bao gồm cả chứng chỉ CA tin cậy và Danh sách Thu hồi Giấy chứng nhận (CRLs)

2.1.3.1 Glite [9]

a Giới thiệu

gLite là một middleware (phần mềm trung gian) được phát triển bởi dự án EGEE với mục đích hỗ trợ xây dựng các hệ thống tính toán lưới của dự án Hệ thống Grid với gLite gắn liền với những tổ chức ảo – VO (Virtual Organization), là một cách tổ chức hệ thống lưới

mô phỏng theo dạng tổ chức thật, giúp cho nhà quản trị có thể dễ dàng quản trị hệ thống cũng như quản trị người dùng gLite ngay sau đó đã nhanh chóng được nhiều tổ chức

Trang 26

nhiều ứng dụng khác nhau trong rất nhiều lĩnh vực, từ khoa học cho đến các lĩnh vực thuộc về công nghiệp Có thể kể ra như: Khoa học máy tính và Toán học, Khoa học về sự sống, Hóa học, Khoa học về trái đất, Vật lý năng lượng cao, Vật lý hạt nhân, Nghiên cứu

vũ trụ,… và đã thu được nhiều kết quả quan trọng

Ví dụ như dự án LHC – Large Hadon Collider, một dự án rất nổi tiếng về lĩnh vực

vật lý hạt nhân Dự án này sử dụng một máy gia tốc lớn nhất thế giới (cũng có tên

gọi là LHC) để thực hiện các thí nghiệm về vật lý hạt nhân 4 VO chính được xây

dựng để đảm nhiệm việc phân tích dữ liệu từ các thí nghiệm: ALICE, ATLAS,

CMS, LHCb Gần đây nhất, LHC đã được dùng để tái tạo lại khoảnh khắc của vụ

nổ Big Bang

Theo thống kê, hiện đang có 150 VO đang hoạt động với số người sử dụng chính thức lên đến trên 150.000 người ( http://cic.gridops.org ) Riêng tại Châu Á, một dự án hợp tác giữa Châu Âu và Châu Á (EUAsiaGrid) nhằm mang EGEE đến với các nước trong châu lục này, đó cũng là mục tiêu chính của EGEE: xây dựng một hệ thống Grid chung nhằm phục cho tất cả các nghiên cứu viên trong các viện nghiên cứu và các trường đại học trên thế giới

Tại Việt Nam, trong một vài năm gần đây, gLite đã trở nên phổ biến trong giới khoa học

và công nghệ thông tin Những dự án hợp tác nghiên cứu giữa Viện khoa công nghệ Việt nam và CNRS nhằm xây dựng một hệ thống tính toán lưới dựa trên gLite đang hoạt động

và thu được một số kết quả ban đầu Một số lớp huấn luyện gLite đã được tổ chức cùng nhiều buổi hội thảo trong những năm qua nhằm giúp cho mọi người tiếp cận với gLite và

dự án EGEE: lớp học ACGRID Đồ Sơn tại Viện Công nghệ thông tin 5-6/11/ 2007, The first forum “Tính toán lưới for research” tại Phân viện Công nghệ thông tin đầu năm

2008, APAN tại Hawaii 01/2008, Southeast Asia 08 and the 4th PRAGMA institution tại Taichung cuối năm 2008 , và tại PRAGMA 17, 28-31/10/2009 tại Hà nội

Phân Viện Công nghệ thông tin Việt Nam tại TP Hồ Chí Minh (nay thuộc viện Cơ học và Tin học Ứng Dụng) cũng đã có một số đề tài nghiên cứu về các ứng dụng trên hệ thống tính toán lưới từ năm 2004 Viện đã thực hiện triển khai một số ứng dụng về Tin-Sinh học (Bioinformatics), Access Grid, e-Health trên hệ thống lưới Globus và gLite

Trong năm 2006, viện đã tiến hành kết nối hệ thống lưới của mình với tổ chức Pragma và tháng 11/2007, cũng đã kết nối với TWgrid - một hệ thống tính toán lưới của Đài Loan

và quản trị một VO là VNGrid trong hệ thống tính toán lưới Châu Á Thái Bình Dương Hiện nay, viện đang tham gia vào lưới EUAsiaGrid trong dự án FP7 (

http://www.euasiagrid.org/wiki )

Các ưu điểm của lưới với gLite :

− gLite kế thừa từ các dự án Grid trước đó nên tận dụng nhiều ưu điểm của các

thành phần vốn đã hoạt động rất ổn định và hiệu quả như bộ lập lịch và điều phối

Trang 27

công việc Condor, cơ chế bảo mật lưới GSI, Globus Gatekeeper, …

− Xây dựng thêm nhiều dịch vụ nhằm tăng cường khả năng quản lý người dùng và

các tài nguyên, đồng thời hỗ trợ cho người dùng khả năng sử dụng lưới một cách

hiệu quả nhất

− Được xây dựng theo hướng dịch vụ, các thành phần được phân phối theo kiểu mô đun nên dễ dàng chọn lựa những thành phần cần thiết khi xây dựng một hệ thống

lưới theo nhu cầu riêng

− Được hỗ trợ mạnh mẽ từ dự án EGEE và nhiều tổ chức cũng như chính phủ các

nước trên thế giới

cứ ứng dụng nào trên đó

Middleware gLite cung cấp các thành phần sau:

− Thành phần giao tiếp với người dùng (User Interface)

− Thành phần quản trị chung (VOMS server)

− Các thành phần tài nguyên của lưới (Computing Element, Storage Element,

Worker Node)

− Thành phần quản lý thực thi công việc (Workload Management Service)

− Các thành phần cung cấp thông tin cho lưới (Information Service)

Ngoài ra gLite còn mang đến một số dịch vụ : FTS ,FTM ,LFC, LSF, VOBOX, MON,

Trang 28

− Workload Management Service và Logging & Book keeping

− Computing Element

− Worker Node

− Storage Element

Bảy thành phần trên được cài đặt trên 7 máy tính riêng rẽ hoặc có thể cài đặt kết hợp một

số thành phần trên cùng một máy Tuy nhiên việc kết hợp này phải tính toán đến hiệu suất sử dụng các dịch vụ trên cùng một máy nhằm tránh quá tải cho hệ thống lưới

Ví dụ, Worker Node có thể được cài cùng các dịch vụ như Information Service,

Computing Element, User Interface Hệ thống minh họa chọn User Interface cài đặt cùng Worker Node vì User Interface đa số thực hiện các tác vụ truy vấn nên không chiếm giữ nhiều tài nguyên hệ thống

Các máy tính trên được nối mạng LAN với nhau nếu hệ thống triển khai là cục bộ, hoặc nối mạng internet trong trường hợp hệ thống là phân tán Cấu hình phần cứng của mỗi máy tùy theo qui mô của lưới sau này Về bản chất, hệ thống lưới với gLite tận dụng các tài nguyên nhàn rỗi và dư thừa nên có thể cài đặt trên bất kì máy tính nào, tuy nhiên để đáp ứng tốt nhu cầu của người sử dụng, các máy này nên được trang bị cấu hình mạnh Mỗi máy có thể truy cập được internet ít nhất là trong quá trình cài đặt vì quá trình này download các gói phần mềm từ internet Hệ điều hành cài đặt trên mỗi máy là Scientific Linux 4.x (được gLite 3.1 hỗ trợ)

Sơ đồ tổng quát của hệ thống sẽ xây dựng có thể được đề nghị như sau:

Hình 2-3 Sơ đồ tham khảo cho một hệ thống Grid với middleware gLite

Trang 29

Domain: Grid

PC1.grid: VOMS server

PC2.grid: User Interface + Worker Node + Batch client (Torque)

PC3.grid: Workload Management + Logging & Bookkeeping

PC4.grid: Computing Element + BDII_site + Batch server (Torque)

cluster systems và dữ liệu lưu trên một loạt các Cơ sở dữ liệu lớn UNICORE được châu

Âu tham gia và tạo ra các trung tâm siêu máy tính và sử dụng hàng ngày UNICORE còn

có sự tham gia của các tổ chức nghiên cứu toàn cầu Hệ thống phần mềm lưới trung gian tiên tiến và được thử nghiệm rất chặt chẻ Đây cũng là dạng mã nguồn mở dưới bản quyền của BSD, đăng tải thường kì trên SourceForge Dưới đây là một số các dự án với UNICORE:

Trang 30

2.1.3 Các phương pháp an toàn thông tin thường được áp dụng trong tầng middleware của tính toán lưới

2.1.3.1 Xác thực và cấp phép

a CA

Để xây dựng một môi trường lưới sử dụng các thành phần GSI, bạn phải tạo một tập các khóa dành cho mã hóa khóa công khai và yêu cầu chứng chỉ của bạn từ CA, và sao chép khóa công khai của CA

Hình 2-4 Các thủ tục GSI

Hình vẽ trên cùng các thủ tục dưới đây sẽ mô tả các bước thiết lập giao tiếp GSI:

1 Sao chép khóa công khai của CA vào trạm lưới mà bạn sẽ thiết lập GSI

2 Tạo khóa riêng tư và một yêu cầu chứng chỉ

3 Gửi yêu cầu chứng chỉ của bạn tới CA bằng e-mail hoặc một cách an toàn khác trong trường hợp bạn đang chạy một ứng dụng mà cần xác định rõ người gửi

4 CA ký nhận lên yêu cầu của bạn để tạo chứng chỉ, sau đó gửi chứng chỉ đã ký cho bạn

Khi các thủ tục này hoàn thành và bạn đã nhận được chứng chỉ số của bạn, bạn sẽ có ba tệp quan trọng trên trạm lưới của bạn, đó là:

 Khóa công khai của CA

 Khóa riêng tư của trạm lưới

 Chứng chỉ số của trạm lưới

Trang 31

Để cung cấp xác thực và truyền thông an toàn cho các máy tính lưới, bạn không nên để ai khác có thể truy cập vào khóa riêng tư của bạn Một tầng mở rộng về an ninh đã được thêm vào khóa riêng tư, nó gồm một từ khóa bí mật mà phải được sử dùng khi sử dụng khóa riêng tư của bạn cùng với chứng chỉ số Điều này nhằm ngăn ai đó khỏi việc đánh cắp chứng chỉ số và khóa riêng tư của bạn, và có thể tự tiện sử dụng chúng để truy cập vào các tài nguyên lưới Khóa của trạm được bảo vệ bằng các quyền trên hệ điều hành cục

bộ bên trong server lưới

b Xác thực và cấp phép

Thử hình dung một kịch bản ở đó bạn cần giao tiếp với một ứng dụng của máy tính thuộc một lưới khác và bạn muốn chắc chắn rằng dữ liệu đến từ máy tính đó thực sự thuộc về chính máy tính đó Bên cạnh việc làm bạn tin tưởng máy đó, bạn cũng muốn máy tính đó tin tưởng bạn Trong những trường hợp đó, bạn có thể sử dụng chức năng xác thực của GSI (được mô tả trong hình vẽ bên dưới)

Trong những bước được mô tả bên dưới, bạn (grid host A) được xác thực và được cấp phép bởi grid host B Hầu hết các bước đều nhằm xác thực, trừ bước cuối là bước cấp phép

1 Gửi chứng chỉ của bạn đến một host khác (host B) mà bạn muốn được xác thực

2 Host B sẽ lấy khóa công khai của bạn cũng như tiêu đề của bạn từ chứng chỉ đó bằng cách sử dụng khóa công khai của CA

3 Host B tạo một số ngẫu nhiên và gửi nó cho bạn (host A)

4 Nếu bạn có số này, mã hóa nó bằng khóa riêng tư của bạn (bạn có thể sẽ được yêu cầu nhập mật khẩu để mở khóa riêng của bạn) và gửi số đã được mã hóa đến host B

5 Host B sẽ giải mã số và kiểm tra xem số đã được giải mã có thực sự là số đã được gửi trước đó không Sau đó host B xác thực rằng chứng chỉ thực sự là của bạn, bởi vì chỉ bạn mới có thể mã hóa số đó bằng khóa riêng tư của bạn

6 Chứng chỉ của bạn được xác thực bởi host B, sau đó tiêu đề của bạn trong chứng chỉ sẽ được ánh xạ tới một tên người dùng cục bộ Tiêu đề này ở dạng DN kiểu

“O=Grid/O=Globus/OU=itso.grid.com/CN=your name” và đây là tên được sử dụng bởi LDAP để phân biệt các truy nhập vào dịch vụ thư mục Tiêu đề được dùng để xác định định danh người dùng của bạn trong một môi trường lưới Ở đây bạn, người sở hữu DN, được xác thực bởi host B và đóng vai trò như một người dùng cục bộ trên host B

Trang 32

Hình 2-5 Thủ tục xác thực

Trong các môi trường lưới, host của bạn sẽ trở thành một client trong vài trường hợp, và trong những trường hợp khác, lại trở thành một server Do đó, host của bạn có thể sẽ được yêu cầu xác thực một host khác và được xác thực bởi host đó cùng thời điểm Trong trường hợp này, bạn có thể dùng chức năng xác thực tương hỗ của GSI Chức năng này cũng giống như những gì đã được mô tả ở phần trên tài liệu, và nó cứ tiếp tục với các bước xác thực, và thay đổi hướng của các host rồi lặp lại thủ tục xác thực

Nói ngắn gọn, xác thực là quá trình chia sẻ các khóa công khai một cách an toàn, và cấp phép là quá trình ánh xạ DN của bạn tới một người dùng cục bộ hoặc nhóm cục bộ trên một host từ xa

Trang 33

2.1.3.2 Ủy quyền

Thử tưởng tượng tình huống ở đó bạn phân phối công việc cho các máy tính trong lưới từ

xa và điều khiển chung phân phối các công việc con của chúng đến các máy tính khác dưới chính sách an ninh do bạn quy định Trong tình huống này, bạn có thể sử dụng chức năng ủy quyền của GSI, được thể hiện như hình vẽ bên dưới

Hình 2-6 Thủ tục ủy quyền bởi proxy của server

Nếu bạn ở phía host A, bạn có thể tạo proxy của bạn tại host B để ủy quyền giấy phép của bạn Proxy này đóng vai trò của bạn, và nhân danh bạn đệ trình một yêu cầu đến host C

Trang 34

Bước tiếp theo (xem phần “Tạo proxy” bên dưới) mô tả thủ tục để tạo proxy của bạn tại một máy từ xa, và thủ tục nhân danh bạn đệ trình một yêu cầu (xem phần “Thao tác proxy” bên dưới) đến một máy ở xa khác

Tạo proxy

Để tạo proxy cần:

1 Một giao tiếp được tin cậy được tạo giữa host A và host B

2 Bạn yêu cầu host B tạo một proxy mà sẽ ủy quyền giấy phép của bạn

3 Host B tạo yêu cầu cho chứng chỉ proxy của bạn, và gửi nó trở lại host A

4 Host A ký lên yêu cầu để tạo chứng chỉ proxy của bạn bằng cách sử dụng khóa riêng tư của bạn rồi gửi nó lại cho host B

5 Host A gửi chứng chỉ của bạn đến host B

Thao tác proxy

Các thao tác của proxy:

1 Proxy của bạn gửi chứng chỉ của bạn và chứng chỉ của proxy của bạn đến host C

2 Host C nhận khóa công khai của proxy của bạn thông qua thủ tục phê chuẩn đường dẫn:

a Host C nhận tiêu đề của bạn và khóa công khai của bạn từ chứng chỉ của bạn bằng cách sử dụng khóa công khai của CA

b Host C nhận tiêu đề của proxy và khóa công khai của proxy của bạn từ chứng chỉ của proxy của bạn bằng cách sử dụng khóa công khai của bạn

Trang 35

Thủ tục ở hình vẽ thể hiện sự ủy quyền từ xa, ở đó một người dùng tạo ra một proxy tại một máy ở xa Cũng có thể gọi là ủy quyền cục bộ nếu một người dùng tạo một chứng chỉ proxy tại máy cục bộ; với các tác vụ này, Globus Toolkit sử dụng lệnh grid-proxy-init và

sử dụng tiến trình gatekeeper

Khi bạn tạo một proxy tới máy ở xa (trường hợp ủy quyền từ xa), khóa riêng tư của proxy

sẽ ở trên proxy từ xa, do đó siêu-người-dùng của máy này có thể truy cập khóa riêng tư của proxy của bạn và thực hiện các nghiệp vụ dưới tên của bạn Điều này có thể là lỗ hổng dễ bị tấn công Để phòng tránh sự mạo nhận đó, proxy nên có các chính sách giới hạn, ví dụ sử dụng GRAM Tiêu chuẩn này được mô tả dạng dự thảo tại địa chỉ:

http://www.ietf.org/internet-drafts/draft-ietf-pkix-proxy-03.txt

2.1.3.3 Giao tiếp bí mật

Ở chế độ mặc định, mọi giao tiếp cơ bản trên lưới đều dựa trên việc xác thực tương hỗ của các chứng chỉ số và SSL/TLS Chứng chỉ số đã được cài đặt trên các máy tính lưới cung cấp xác thực tương hỗ giữa hai tổ chức Các chức năng SSL/TLS mà OpenSSL cung cấp sẽ mã hóa toàn bộ thông tin giữa các host trong lưới Hai chức năng này cùng cung cấp các dịch vụ an ninh cơ bản nhằm xác thực và bảo mật

Xác thực tương hỗ

Để cho phép giao tiếp an toàn trong lưới, gói OpenSSL được cài đặt như một thành phần của Globus Toolkit Bên trong Globus Toolkit, OpenSSL là một gói phần mềm được dùng để tạo ra một đường hầm được mã hóa bằng cách sử dụng SSL/TSL giữa các client

và server trong lưới

Quá trình xác thực tương hỗ bắt đầu khi hai tài nguyên lưới muốn chia sẻ tài nguyên Thay vì sử dụng một kho khóa, mỗi tài nguyên lưới xác thực với một tài nguyên khác dựa trên chứng chỉ số của họ Ví dụ, một tài nguyên lưới sẽ thử thiết lập giao tiếp an toàn với một tài nguyên lưới khác Trước khi người nhận sẽ cho phép client truy cập vào các tài nguyên của họ, họ cần xác thực một người khác Quá trình này được mô tả dưới đây với một bắt tay SSL

Trang 36

Bắt tay SSL

Để thiết lập giao tiếp an toàn giữa các client và server của lưới, phải thiết lập một bắt tay Bắt tay này có trách nhiệm xác định các thiết lập SSL, trao đổi khóa công khai và làm nền tảng cho quá trình xác thực tương hỗ Quá trình bắt tay diễn ra như sau:

1 Một client trong lưới liên hệ với một server ở xa để bắt đầu một phiên an toàn bằng cách sử dụng một chứng chỉ số X.509

2 Client tự động gửi đến server số phiên bản SSL của client đó, các thiết lập mã hóa,

dữ liệu được sinh ngẫu nhiên, và các thông tin khác mà server cần để giao tiếp với client

sử dụng SSL

3 Server sẽ phản hồi, tự động gửi đến client chứng chỉ số của site, cùng với phiên bản SSL của server, các thiết lập mã hóa

4 Client phân tích thông tin chứa trong chứng chỉ của server, và kiểm chứng rằng:

a Chứng chỉ của server là hợp lệ và có một thời gian phù hợp

b CA mà phát hành chứng chỉ của server phải được ký bởi một CA tin cậy, nơi mà chứng chỉ của họ được xây dựng cho client

c Khóa công khai của CA đã phát hành, được xây dựng trong client, phê chuẩn chữ ký số của nơi phát hành

d Tên miền được đặc tả bởi chứng chỉ của server phải khớp với tên miền thực

sự của server

5 Nếu server có thể được xác thực thành công, client sinh một “khóa phiên” duy nhất

để mã hóa toàn bộ giao tiếp với server sử dụng khóa bất đối xứng

6 Client của người dùng mã hóa khóa phiên của nó với khóa công khai của server do

đó chỉ có site có thể đọc khóa phiên, và gửi nó cho server

7 Server giải mã khóa phiên bằng cách sử dụng khóa riêng tư của nó

8 Client gửi một thông điệp đến server để cho biết rằng các thông điệp tiếp theo từ client sẽ được mã hóa với khóa phiên Server sau đó cũng gửi một thông điệp đến client

để cho biết rằng các thông điệp tiếp theo từ server sẽ được mã hóa với khóa phiên

9 Bây giờ, một phiên SSL-an-toàn đã được thiết lập SSL sau đó dùng mã hóa đối xứng (nhanh hơn mã hóa PKI công khai) để mã hóa và giải mã các thông điệp bên trong

“đường ống” SSL-an-toàn

10 Bây giờ các tài nguyên lưới đầu tiên đã được xác thực, tài nguyên lưới thứ hai sẽ được xác thực bằng cách sử dụng quá trình tương tự

11 Chỉ khi phiên làm việc hoàn thành, khóa phiên mới bị hủy bỏ

Miễn là cả hai tài nguyên lưới đều có một chứng chỉ số hợp lệ, quá trình xác thực tương

hỗ sẽ thành công Đây là một ví dụ rõ ràng về cách an ninh lưới sử dụng cả mã hóa đối xứng và mã hóa bất đối xứng để xác thực và truyền dữ liệu an toàn giữa các tài nguyên lưới Một client dùng mã hóa bất đối xứng để xác thực và chỉ khi nó được xác thực, nó dùng mã hóa đối xứng với một khóa riêng tư được chia sẻ để mã hóa và giải mã toàn bộ

dữ liệu giữa chúng

Trang 37

2.2 Hạ tầng

Áp dụng nguyênt tắc phòng thủ theo chiều sâu (Defense in Depth), ngoài những thành

phần và công nghệ GSI, có nhiều thành phần hạ tầng an ninh lưới khác nhau có thể cần đến để đảm bảo an ninh cho mạng lưới Được xem như một thành phần của thiết kế mạng lưới, hạ tầng an ninh lưới được xây dựng dựa trên các nguyên lý an ninh khác nhau Trong khi các thành phần an ninh này là tùy chọn, chúng được xem như là chuẩn bên trong nhiều mạng hiện nay Chúng ta sẽ khảo sát vài khái niệm an ninh cơ bản và xem xét chúng phù hợp thế nào với một hạ tầng lưới

2.2.3 An ninh mức vật lý

Cần nhắc lại là an ninh của hạ tầng lưới được dựa trên các khái niệm an ninh cơ bản, thông dụng Trong đó, an ninh mức vật lý được xem là nền tảng cho toàn bộ các máy tính trong lưới Nếu các máy chủ được để trong một căn phòng mở cửa, chưa cần xem xét các ứng dụng được thiết kế an toàn như thế nào hoặc các thuật toán mã hóa phức tạp ra sao thì các dịch vụ của máy chủ có thể dễ dàng bị ngắt, ví dụ tắt nguồn điện Do đó, truy cập vật

lý phải được kiểm soát như là một phần trong các chính sách an ninh mà cần được định nghĩa

Máy chủ CA nên được để trong một tủ lớn, được dành riêng, và được khóa Mọi vào ra đều phải được ghi lại và kiểm soát sao cho chỉ có những cá nhân liên quan đến CA mới có thể vào Nguồn điện cho các server phải không bao giờ bị ngắt, tức là phải có bộ lưu điện Tuy nhiên, một bộ lưu điện cũng có lúc cạn điện sau một khoảng thời gian nhất định Trong trường hợp như vậy, các máy chủ nên được tự động sao lưu dữ liệu và có thể được tắt an toàn Cửa ra vào của phòng cũng có thể được giám sát để kiểm tra xem những ai đã vào phòng

Đối với an ninh mức cao nhất, phân đoạn mạng mà trên đó các máy chủ PKI-nhạy-cảm được cài đặt nên được phân cách cả logic lẫn vật lý khỏi phần còn lại của mạng Lý tưởng nhất là phân đoạn này được lọc qua một bức tường lửa sao cho trong suốt với những lưu lượng liên quan đến PKI Thông thường, lưu lượng PKI sẽ được giảm để chỉ sử dụng rất ít các cổng TCP/IP

Ngày đăng: 05/12/2020, 11:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w