Tải bản đầy đủ (.docx) (60 trang)

Điện toán đám mây OpenStack

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.26 MB, 60 trang )

BÁO CÁO
THỰC TẬP CƠ SỞ CHUYÊN NGÀNH

ĐỀ TÀI: NGHIÊN CỨU TRIỂN KHAI DỊCH VỤ
BẢO MẬT DỮ LIỆU CHO MÁY ẢO TRONG
ĐÁM MÂY OPENSTACK

Hà Nội, năm 2019

NHẬN XÉT CỦA GIẢNG VIÊN
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................


....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................


....................................................................................................................................


MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN......................................................................................1
MỤC LỤC......................................................................................................................... 1
DANH MỤC HÌNH ẢNH.................................................................................................3
LỜI MỞ ĐẦU................................................................................................................... 4
CHƯƠNG 1: TỔNG QUAN LƯU TRỮ VÀ BẢO MẬT DỮ LIỆU LƯU TRỮ TRÊN
ĐÁM MÂY....................................................................................................................... 5
1.1. Khái quát về điện toán đám mây................................................................................5
1.1.1. khái niệm................................................................................................................. 5
1.1.2. Đặc điểm của điện toán đám mây............................................................................6
1.1.3. Kiến trúc của điện toán đám mây............................................................................6
1.1.4. Về Openstack.........................................................................................................12
1.2. Vấn đề bảo mật lưu trữ dữ liệu trên đám mây...........................................................14
1.2.1. Vấn đề lưu trữ dữ liệu trên đám mây.....................................................................14
1.2.2. Nguy cơ mất an toàn..............................................................................................15
1.3. Một số kỹ thuật an toàn............................................................................................15
1.3.1. Mã hoá dữ liệu.......................................................................................................15
1.3.2. Mô hình bảo mật dữ liệu trên đám mây.................................................................17
1.3.3. Một số cách để người dùng tự bảo mật dữ liệu trên đám mây...............................19
CHƯƠNG 2: DỊCH VỤ MÃ HOÁ DỮ LIỆU TRÊN ĐÁM MÂY.................................21
2.1. Swift OpenStack.......................................................................................................21
2.1.1. Swift là gì?............................................................................................................. 21
2.1.2. Kiến trúc và mô hình dữ liệu của swift..................................................................24
2.1.3. Swift API...............................................................................................................30
2.2. Cinder OpenStack.....................................................................................................31
2.2.1. Cinder là gì?..........................................................................................................31
2.2.2. Một số hình thức lưu trữ trên OpenStack...............................................................31

2.2.3. Kiến trúc Cinder....................................................................................................32
2.3. Vấn đề mã hoá trên OpenStack.................................................................................33
2.3.1. Mã hoá dữ liệu.......................................................................................................33
2.3.2. Mã hoá phân vùng.................................................................................................33
2.3.3. Mã hóa đĩa tạm thời...............................................................................................34
2.3.4. Object Storage objects...........................................................................................34
1


2.4. Thuật toán mã hoá sử dụng trong điện toán đám mây..............................................35
2.4.1. Data Encryption Standard (Tiêu chuẩn mã hóa dữ liệu - DES)..............................35
2.4.2. Advanced Encryption Standard (Tiêu chuẩn mã hóa tiên tiến - AES)....................36
2.4.3. Rivest-Shamir-Adleman (RSA).............................................................................39
2.4.4. Homomorphic encryption......................................................................................40
2.5. Quản lý khoá............................................................................................................40
2.5.1. Barbican Project....................................................................................................40
2.5.2. Mô hình bảo mật....................................................................................................41
2.5.3. Quản lý khoá trong OpenStack..............................................................................42
CHƯƠNG 3: TRIỂN KHAI VÀ THỰC NGHIỆM.........................................................45
3.1. Triển khai đám mây..................................................................................................45
3.1.1. Mô hình hệ thống...................................................................................................45
3.1.2. Các bước thực hiện................................................................................................46
3.2. Triển khai quản trị mã hoá dữ liệu............................................................................49
3.2.1. Cài đặt dịch vụ quản lý khoá barbican service.......................................................49
3.2.2. Mã hoá phân vùng.................................................................................................51
KẾT LUẬN..................................................................................................................... 54
TÀI LIỆU THAM KHẢO...............................................................................................55

2



DANH MỤC HÌNH ẢNH
Hình 1.1 Tổng quan điện toán đám mây............................................................................5
Hình 1.2 Đám mây riêng (Private Cloud)..........................................................................7
Hình 1.3 Đám mây công cộng (Public Cloud)...................................................................8
Hình 1.4 Đám mây lai (Hybrid Cloud)...............................................................................9
Hình 1.5 Mô hình triển khai điện toán đám mây................................................................9
Hình 1.6 Dịch vụ hạ tầng IaaS.........................................................................................10
Hình 1.7 Dịch vụ nền tảng PaaS.......................................................................................11
Hình 1.8 Dịch vụ phần mềm SaaS...................................................................................12
Hình 1.9 Cấu trúc cơ bản của OpenStack.........................................................................12
Hình 1.10 Mô hình 3 lớp bảo vệ dữ liệu đám mây...........................................................17
Hình 1.11 Mô hình bảo mật dựa trên Encryption Proxy...................................................18
Hình 1.12 Mô hình bảo vệ dữ liệu dùng VPN Cloud.......................................................19
Hình 2.1 Dịch vụ lưu trữ Object.......................................................................................21
Hình 2.2 Mô hình dữ liệu Swift.......................................................................................24
Hình 2.3 Kiến trúc Swift..................................................................................................26
Hình 2.4 Hàm băm rings..................................................................................................28
Hình 2.5 Hàm băm rings mở rộng....................................................................................28
Hình 2.6 Device list.........................................................................................................29
Hình 2.7 Bảng tra cứu thiết bị..........................................................................................29
Hình 2.8 Kiến trúc swift...................................................................................................32
Hình 2.9 Mã hoá DES......................................................................................................36
Hình 2.10 Quản lý khoá trong OpenStack........................................................................42
Hình 2.11 Tạo và lưu trữ khoá.........................................................................................43
Hình 2.12 Luồng mã hoá..................................................................................................44
Hình 2.13 Luồng giải mã.................................................................................................44
Hình 3.1 Mô hình cài đặt tối thiểu....................................................................................45
Hình 3.2 Mô hình cài đặt đầy đủ......................................................................................45
Hình 3.3 IP Planning........................................................................................................46

Hình 3.4 Giao diện horizon..............................................................................................48

3


LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển không ngừng của internet, các dịch vụ lưu trữ
đám mây như Google Drive, Dropbox, SugarSync, Amazon Cloud Drive, Box, Mimedia
(m) Drive, Skydrive, SpidekOak… cũng đang được sử dụng ngày càng rộng rãi bởi
những tính năng sao lưu, lưu trữ dữ liệu trực tuyến với khả năng đồng bộ theo thời gian
thực và tự động thực hiện sao lưu chia sẻ toàn bộ thư mục mà mình muốn, nó còn cho
phép người sử dụng quay trở lại quá khứ để khôi phục những dữ liệu bị xóa hoặc bị thay
đổi… Thêm vào đó, nhà cung cấp thường cho người dùng một số gói miễn phí hoặc với
chi phí giá rất rẻ, thuận tiện trong việc cài đặt và sử dụng đối với các cá nhân và đơn vị
nhỏ. Vì vậy số lượng sử dụng dịch vụ ngày càng tăng. Điều này đòi hỏi các dịch vụ trên
phải tạo lập được uy tín, đảm bảo độ bảo mật và an toàn cho dữ liệu sử lưu trữ trên đó.
Tuy nhiên, đây là chương trình lưu trữ tự động trên một máy chủ, tính bảo mật dữ liệu
chưa thể khẳng định được, không thể chắc chắn thông tin có bị đánh cắp hoặc lộ bí mật
hay không.
Chính vì vậy đề tài Nghiên cứu, triển khai dịch vụ bảo mật dữ liệu cho máy ảo
trong đám mây OpenStack được lựa chọn với mong muốn có thể là một tài liệu bổ ích để
có thể giúp người phát triển hiểu kỹ hơn về khái niệm, lợi ích, những vấn đề liên quan
đến lưu trữ đám mây và cung cấp mô hình triển khai đơn giản của một đám mây
OpenStack. Ngoài ra, đề tài cũng sẽ nghiên cứu và xây dựng một giải pháp nhằm nâng
cao tính an toàn bảo mật cho dữ liệu lưu trữ đám mây.
Tài liệu bao gồm 3 chương với nội dung chính của mỗi chương như sau:
Chương 1 – Tổng quan lưu trữ và bảo mật dữ liệu lưu trữ trên đám mây
Chương này trình bày cơ sở lý thuyết về điện toán đám mây. Giới thiệu một số
dịch vụ lưu trữ đám mây. Lập luận dẫn chứng về những vấn đề mất mát dữ liệu, an toàn
dữ liệu trong lưu trữ trên dịch vụ đám mây.

Trình bày và phân tích giải pháp đặc trưng mã hóa dữ liệu trong lưu trữ dữ liệu
đám mây, ưu nhược điểm, những nhược điểm cần phải khắc phục để đảm bảo độ an toàn
bảo mật cho dữ liệu đám mây.
Chương 2 – Dịch vụ mã hoá dữ liệu trên đám mây
Nêu các vấn đề mã hoá trên đám mây OpenStack, cách quản lý các khoá trong
đám mây OpenStack. Và tổng quan về một số thuật toán mã hoá được sử dụng trên điện
toán đám mây.
Chương 3 – Triển khai và thực nghiệm

4


Trình bày mô hình triển khai một đám mây OpenStack đơn giản với 2 nút:
controller và compute. Triển khai và quản trị mã hoá dữ liệu trên đám mây OpenStack.

5


CHƯƠNG 1: TỔNG QUAN LƯU TRỮ VÀ BẢO MẬT DỮ
LIỆU LƯU TRỮ TRÊN ĐÁM MÂY
1.1. Khái quát về điện toán đám mây
1.1.1. khái niệm

Hình 1.1 Tổng quan điện toán đám mây
Thuật ngữ cloud computing ra đời giữa năm 2007 không phải đề nói về một trào
lưu mới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang
diễn ra từ rất lâu. Có rất nhiều định nghĩa về điện toán đám mây, ta có thể tham khảo định
nghĩa của một số tổ chức sau:
Theo NIST: “Điện toán đám mây là một mô hình mạng cho phép truy cập dễ dàng
vào một hệ thống mạng đồng nhất, theo nhu cầu đến một kho tài nguyên điện toán dùng

chung (ví dụ: mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ), các tài nguyên này có thể
được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hay sự
can thiệp từ phía nhà cung cấp dịch vụ”.
Theo ENISA: “Điện toán đám mây là mô hình cung cấp dịch vụ theo yêu cầu,
thường được triển khai trên công nghệ ảo hóa và các công nghệ điện toán phân tán”.
Theo hãng Gartner: “Điện toán đám mây là một kiểu tính toán trong đó các năng
lực CNTT có khả năng mở rộng rất lớn được cung cấp dưới dạng dịch vụ qua mạng
Internet đến nhiều khách hàng bên ngoài”.
Theo hãng Forrester Research: “Một kho tài nguyên cơ sở hạ tầng ảo hóa, có khả
năng mở rộng cao và được quản lý, có thể hỗ trợ các ứng dụng của khách hàng cuối và
dược tính tiền theo mức độ sử dụng”.

6


Tóm lại, ta có thể hiểu điện toán đám mây là một giải pháp cho phép cung cấp các
tài nguyên công nghệ thông tin như một dịch vụ và có khả năng thay đổi linh hoạt theo
nhu cầu của người sử dụng. Thuật ngữ “Đám mây” ở đây là lỗi nói ẩn dụ, có thể hiểu là
các tài nguyên tồn tại trên Internet, người dùng có thể truy cập tới các tài nguyên này mà
không cần hiểu rõ về công nghệ, kỹ thuật và hạ tầng bên trong của đám mây.
Các nhà cung cấp dịch vụ điện toán đám mây phổ biến như: EC2 của Amazon,
Azure của Microsoft, IBM cung cấp Smart Cloud Enterprise, Google cung cấp App
Engine, Redhat cung cấp Redhat’s Openshift, Vmware có Cloud Foundry, Viện Công
nghiệp Phần mềm và Nội dung số Việt Nam có iDragon Clouds... Trong đó Google
Cloud, Redhat’s Openshift, Vmware Cloud Foundry và NISCI iDragon Clouds là những
PaaS mã nguồn mở, cho phép thực thi trên một nền hạ tầng với chi phí thấp và dễ dàng
thay thế.

1.1.2. Đặc điểm của điện toán đám mây
Về cơ bản thì cloud computing có 5 đặc điểm sau đây:

Khả năng có dãn (Rapid elasticity): Tài nguyên có thể được cung cấp một cách
nhanh chóng và mềm dẻo, có khả năng thay đổi tăng lên hay giảm đi tùy thuộc vào nhu
cầu sử dụng của khách hàng. Đối với khách hàng tài nguyên trên điện toán đám mây luôn
luôn sẵn sàng và có thể coi là không giới hạn, có thể truy cập vào bất kỳ thời điểm nào.
Dịch vụ theo nhu cầu (On-demand self-service): Khách hàng có thể được cung
cấp tài nguyên dưới dạng máy chủ hay dung lượng lưu trữ,…một cách tự động theo yêu
cầu mà không cần phải có sự can thiệp từ phía nhà cung cấp dịch vụ.
Không phụ thuộc vị trí (Location independent resource pooling): Khách hàng
không biết và cũng không điều khiển vị trí của tài nguyên được cung cấp, tuy nhiên họ
vẫn có thể làm điều này thông qua các dịch vụ nâng cao của nhà cung cấp. Tài nguyên có
thể bao gồm: Lưu trữ, xử lý, bộ nhớ và băng thông mạng.
Truy cập dễ dàng (Broad network access): Chỉ cần 1 ứng dụng kết nối internet
từ bất cứ thiết bị nào như máy tính để bàn, laptop, thiết bị di động,…người dùng có thể
truy cập tới tài nguyên đám mây.
Điều tiết dịch vụ (Measured service): Các hệ thống điện toán đám mây có khả
năng tự điều khiển và tinh chỉnh tài nguyên sử dụng bằng cách áp dụng các biện pháp đo
lường ở các cấp độ khác nhau cho từng loại dịch vụ. Tài nguyên sử dụng có thể được
giám sát, đo lường và khách hàng thường sẽ chỉ trả phí cho lượng tài nguyên họ sử dụng.
1.1.3. Kiến trúc của điện toán đám mây
4 mô hình dịch vụ của điện toán đám mây:
Private cloud (đám mây riêng): Private cloud là các dịch vụ điện toán đám mây
được cung cấp trong các doanh nghiệp. Những “đám mây” này tồn tại bên trong tường
7


lửa của công ty và được các doanh nghiệp trực tiếp quản lý. Đây là xu hướng tất yếu cho
các doanh nghiệp nhằm tối ưu hóa hạ tầng công nghệ thông tin.
 Đối tượng sử dụng: Nội bộ doanh nghiệp sử dụng và quản lý.
 Ưu điểm: Chủ động sử dụng, nâng cấp, quản lý, giảm chi phí, bảo mật tốt,..
 Nhược điểm: Khó khăn về công nghệ khi triển khai và chi phí xây dựng, duy trì hệ

thống. Hạn chế sử dụng trong nội bộ doanh nghiệp, người dùng ở ngoài không thể
sử dụng.

Hình 1.2 Đám mây riêng (Private Cloud)
Public cloud (đám mây công cộng): Là các dịch vụ được bên thứ 3 (người bán) cung
cấp. Chúng tồn tại ngoài tường lửa của công ty và được nhà cung cấp đám mây quản lý.
Nó được xây dựng nhằm phục vụ cho mục đích sử dụng công cộng, người dùng sẽ đăng
ký với nhà cung cấp và trả phí sử dụng dựa theo chính sách giá của nhà cung cấp. Public
cloud là mô hình triển khai được sử dụng phổ biến nhất hiện nay của cloud computing.
 Đối tượng sử dụng: bao gồm người dùng bên ngoài internet. Đối tượng quản lý là
nhà cung cấp dịch vụ.
 Ưu điểm: Phục vụ được nhiều người dùng hơn, không bị giới hạn bởi không gian
và thời gian. Tiết kiệm hệ thống máy chủ, điện năng và nhân công cho doanh
nghiệp.
 Nhược điểm: Các doanh nghiệp phụ thuộc vào nhà cung cấp, không có toàn quyền
quản lý. Gặp khó khăn trong việc lưu trữ các văn bản.

8


Hình 1.3 Đám mây công cộng (Public Cloud)
Community cloud (đám mây cộng đồng): Là một mô hình triển khai điện toán đám
mây mới, bao gồm nhiều doanh nghiêp liên kết với nhau. Các doanh nghiệp sẽ sử dụng
các ứng dụng lẫn nhau phục vụ công việc. Các doanh nghiệp tham gia mô hình này buộc
phải tin tưởng lẫn nhau.
 Đối tượng sử dụng: các doanh nghiệp tham gia mô hình đều có quyền sử dụng các
dịch vụ được cung cấp từ doanh nghiệp khác.
 Ưu điểm: tốc độ nhanh, tiết kiêm chi phí, được sử dụng những ứng dụng tốt nhất
từ các doanh nghiệp hợp tác.
 Nhược điểm: Rất nguy hiểm về vấn đề bảo mật giữa các doanh nghiệp.

Hybrid cloud (đám mây lai): là sự kết hợp của private cloud và public cloud. Cho
phép ta khai thác điểm mạnh của từng mô hình cũng như đưa ra phương thức sử dụng tối
ưu cho người sử dụng. Những “đám mây” này thường do doanh nghiệp tạo ra và việc
quản lý sẽ được phân chia giữa doanh nghiệp và nhà cung cấp điện toán đám mây công
cộng.
 Đối tượng sử dụng: Doanh nghiệp và nhà cung cấp quản lý theo sự thoả thuận.
Người sử dụng có thể sử dụng các dịch vụ của nhà cung cấp và dịch vụ riêng của
doanh nghiệp.
 Ưu điểm: Doanh nghiệp 1 lúc có thể sử dụng được nhiều dịch vụ mà không bị giới
hạn.
 Nhược điểm: Khó khăn trong việc triển khai và quản lý. Tốn nhiều chi phí.
9


Hình 1.4 Đám mây lai (Hybrid Cloud)
3 mô hình triển khai của điện toán đám mây:

Hình 1.5 Mô hình triển khai điện toán đám mây
Dịch vụ hạ tầng (IaaS – Infrastructure as a Service): cung cấp cho người dùng
hạ tầng thô (thường dưới hình thức các máy ảo) như một dịch vụ. Người dùng có thể
triển khai và chạy phần mềm trên các máy ảo như trên một máy chủ thực hay có thể đưa
dữ liệu cá nhân lên “đám mây” và lưu trữ. Người dùng không có quyền kiểm soát hạ tầng

10


thực bên trong “đám mây” tuy nhiên họ có toàn quyền quản lý và sử dụng tài nguyên mà
họ được cung cấp, cũng như yêu cầu mở rộng lượng tài nguyên họ được phép sử dụng.
 Các đặc trưng tiêu biểu:
 Cung cấp tài nguyên như là dịch vụ: bao gồm cả máy chủ, thiết bị mạng, bộ

nhớ,CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu.
 Khả năng mở rộng linh hoạt.
 Chi phí thay đổi tùy theo thực tế.
 Nhiều người thuê có thể cùng dùng chung trên một tài nguyên.
 Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tài nguyên
tích toán tổng hợp.
 Ví dụ: Amazon EC2/S3, Elastra (Beta 2.0 2/2009), Nirvanix, AppNexus.

Hình 1.6 Dịch vụ hạ tầng IaaS
Dịch vụ nền tảng (PaaS – Platform as a Service): Mô hình PaaS cung cấp cách
thức cho phát triển ứng dụng trên một nền tảng trừu tượng. Nó hỗ trợ việc triển khai ứng
dụng mà không quan tâm đến chi phí hay sự phức tạp của việc trang bị và quản lý các lớp
phần cứng và phần mềm bên dưới, cung cấp tất cả các tính năng cần thiết để hỗ trợ việc
xây dựng và cung cấp một ứng dụng và dịch vụ web sẵn sàng trên Internet mà không cần
bất kì thao tác tải hay cài đặt phần mềm cho những người phát triển, quản lý tin học, hay
người dùng cuối. PaaS cho phép các nhà phát triển ứng dụng có thể tạo ra các ứng dụng
một cách nhanh chóng, khi nhiều rắc rối trong việc thiết lập máy chủ, cơ sở dữ liệu đã
được nhà cung cấp PaaS giải quyết.
 Các đặc trưng tiêu biểu:

11


 Phục vụ cho việc phát triển, kiểm thử, triển khai và vận hành ứng dụng
giống như là môi trường phát triển tích hợp.
 Cung cấp các công cụ khởi tạo với giao diện trên nền web.
 Kiến trúc đồng nhất.
 Tích hợp dịch vụ web và cơ sở dữ liệu.
 Hỗ trợ cộng tác nhóm phát triển.
 Cung cấp các công cụ hỗ trợ tiện tích khác.

 Ví dụ: Google App Engine, Openshilt, Salesforce, Microsoft Azure,…

Hình 1.7 Dịch vụ nền tảng PaaS
Dịch vụ phần mềm (SaaS – Software as a Service): là một mô hình triển khai
ứng dụng mà ở đó người cung cấp cho phép người dụng sử dụng dịch vụ theo yêu cầu.
Những nhà cung cấp SaaS có thể lưu trữ ứng dụng trên máy chủ của họ hoặc tải ứng
dụng xuống thiết bị khách hàng, vô hiệu hóa nó sau khi kết thúc thời hạn. Các chức năng
theo yêu cầu có thể được kiểm soát bên trong để chia sẻ bản quyền của một nhà cung cấp
ứng dụng thứ ba.
 Các đặc trưng tiêu biểu:
 Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng.
 Quản lý các hoạt dộng từ một vị trí tập trung hơn là tại mỗi nơi của khách
hàng, cho phép khác hàng truy xuất từ xa thông qua web.
 Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đến
nhiều hơn là mô hình 1:1 bao gồm cả các đặc trưng kiến trúc, giá cả và
quản lý.
12


 Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tải
các bản vá lỗi và cập nhật.
 Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng.
 Ví dụ: Dịch vụ email hay các ứng dụng Google Docs, Google Calendar của
Google,…

Hình 1.8 Dịch vụ phần mềm SaaS
1.1.4. Về Openstack
OpenStack là một phần mềm mã nguồn mở, dùng để triển khai Cloud Computing,
bao gồm private cloud và public cloud (Open source software for building private and
public clouds).

OpenStack được giới thiệu trên trang chủ như sau:
“OpenStack is a cloud operating system that controls large pools of compute, storage,
and networking resources throughout a datacenter, all managed through a dashboard
that gives administrators control while empowering their users to provision resources
through a web interface”.

13


Hình 1.9 Cấu trúc cơ bản của OpenStack
 Phía dưới là phần cứng của openstack, đã được ảo hóa để chia sẻ cho ứng dụng,
người dùng.
 Trên cùng là các ứng dụng của bạn, tức là các phần mềm mà bạn sử dụng.
 Và OpenStack là phần ở giữa 2 phần trên, trong OpenStack có các thành phần,
module khác nhau nhưng trong hình minh họa các thành phần cơ bản: Dashboard,
Compute, Networking, API, Storage …
Một vài thông tin vắn tắt về OpenStack :
 OpenStack là một dự án mã nguồn mở dùng để triển khai private cloud và public
cloud, nó bao gồm nhiều thành phần (tài liệu tiếng anh gọi là project con) do các
công ty, tổ chức ,lập trình viên tự nguyện xây dựng và phát triển. Có 3 nhóm chính
tham gia: Nhóm điều hành, nhóm phát triển và nhóm người dùng.
 OpenStack hoạt động theo hướng mở: (Open) Công khai lộ trình phát triển,
(Open) công khai mã nguồn …
 Tháng 10/2010 Racksapce và NASA công bố phiên bản đầu tiên của OpenStack,
có tên là OpenStack Austin, với 2 thành phần chính ( project con) : Compute (tên
mã là Nova) và Object Storage (tên mã là Swift).
 Các phiên bản OpenStack có chu kỳ 6 tháng. Tức là 6 tháng một lần sẽ công bố
phiên bản mới với các tính năng bổ sung.
 Tên các phiên bản được bắt đầu theo thứ tự A, B, C, D …trong bảng chữ cái.
 Tính đến nay có các phiên bản của OpenStack bao gồm: Austin, Bexar, Cactus,

Diablo, Essex, Folsom, Grizzly, Havana, Icehouse, Juno, Kilo, Liberty, Mitaka,
Newton, Ocata, Pike, Queens, Rocky, Stein, Train.
 Dự kiến phiên bản tiếp theo có tên là Ussuri, sẽ công bố vào tháng 05/2020.
 Tính đến thời điểm viết bài này phiên bản hiện tại là OpenStack Train (công bố
tháng 10/2019). Tham khảo thêm tại đây về các phiên bản.
14


Các thành phần (project con) chính của Openstack:
 Compute (code-name Nova):
 Thành phần quản lý máy ảo (Virtual Compute Instance).
 Tương thích EC2 Amazone.
 Gọi bằng OpenStack API hoặc EC2 API.
 Hỗ trợ nhiều công nghệ ảo hóa: Xen, KVM, QEMU, vSphere, Hyper-V.
 Networking (code-name Neutron):
 Cung cấp dịch vụ mạng (Network as a service) cho các thành phần
OpenStack.
 Sử dụng kiến trúc "plug-in": Các plug-in được thực thi trên nhiều kiến trúc
khác nhau (NVP, Open vSwitch, Linux bridge, Cisco).
 Cho phép tùy biến, mở rộng.
 Cho phép tạo private network.
 Có các tính năng tạo vSwitch, Firewall, DHCP, VPN, Load balancing.
 Object Storage (code-name Swift):
 Cung cấp dịch vụ lưu trữ giống S3 Amazon.
 Có khả năng mở rộng, lưu trữ phân tán, có backup.
 Tương thích S3 API.
 Block Storage (code-name Cinder):
 Cung cấp Thiết bị lưu trữ ảo cho VM OpenStack.
 Tương tự dịch vụ EBS Amazon.
 Có khả năng mở rộng phân tán.

 Identity (code-name Keystone):
 Dịch vụ xác thực người dùng.
 Hỗ trợ nhiều kiểu xác thực.
 Phần quyền dựa trên tính năng role-base access control (RBAC).
 Image Service (code-name Glance):
 Dịch vụ lưu trữ trên ổ đĩa ảo (Virtual Disk Image - VDI).
 Hỗ trợ nhiều định dạng.
15


 Quản trị template có sẵn, cho phép tạo image nhanh chóng.
 Tạo VM từ VDI có sẵn.
 Lưu VM nhanh = tính năng snapshots.
 Dashboard (code-name Horizon):
 Ứng dụng web chạy nên apache.
 Cung cấp giao diên cho Administrator quản trị dịch vụ OpenStack.
 Tương thích với EC2 API của amazon.
 Telemetry (code-name Ceilometer):
 Dịch vụ giám sát thông kê.
 Thu thập thông tin về quá trình sử dụng để tính toán hóa đơn, xác định mức
độ sử dụng hệ thống.
 Orchestration (code-name Heat):
 Cung cấp các template cho ứng dụng phổ biến.
 Template cung cấp các thành phần compute, storage, networking đáp ứng
các ứng dụng.
 Kết hợp với Ceilometer để tính toán tài nguyên sử dụng hợp lý.
 Tương thích AWS CloudFormation APIs.

1.2. Vấn đề bảo mật lưu trữ dữ liệu trên đám mây
1.2.1. Vấn đề lưu trữ dữ liệu trên đám mây

Từ khi ra đời cho đến nay, Cloud hay còn gọi là lưu trữ đám mây được sử dụng
khá phổ biến bởi rất nhiều công dụng hữu ích mà nó mang lại cho người dùng. Tuy
nhiên, có nhiều câu hỏi đặt ra xoay quanh vấn đề về mức độ an toàn của thông tin, dữ liệu
khi lưu trữ trên nền tảng này. Liệu có rủi ro nào đối với dữ liệu của Doanh nghiệp khi
được lưu trữ trên Cloud hay không? Có nên lưu trữ dữ liệu trên đám mây?
Lưu trữ đám mây được hiểu đơn giản là một hình thức sử dụng dịch vụ từ một nhà
cung cấp mà trong đó, người dùng được phép lưu trữ và chia sẻ dữ liệu với nhiều người ở
mọi lúc, mọi nơi với kết nối mạng Internet. Theo đó, thông qua lưu trữ đám mây người
dùng có thể truy cập cũng như chia sẻ dữ liệu từ xa với nhiều tiện ích.
Khi công nghệ ngày càng phát triển, đặc biệt là trong thời đại công nghệ 4.0 như
hiện nay, lưu trữ đám mây đã trở thành một hình thức lưu trữ dữ liệu phổ biến bởi nhiều
tính năng vượt trội đang liên tục được cập nhật. Cùng với đó là rất nhiều dịch vụ lưu trữ
với vô vàn các tiện ích khác nhau mà người sử dụng có thể dễ dàng chọn lựa.

16


1.2.2. Nguy cơ mất an toàn
Bên cạnh những lợi tính năng ưu việt và lợi ích to lớn, còn có những nhược điểm
của các hình thức lưu trữ đám mây mà người dùng cần lưu tâm để đảm bảo sự an toàn và
bảo mật dữ liệu trên Internet.
Công nghệ điện toán đám mây nói chung hay lưu trữ đám mây nói riêng là một
cuộc cách mạng trong lĩnh vực Công nghệ thông tin. Hiện nay người dùng đã quá quen
thuộc với các dịch vụ lưu trữ đám mây nổi tiếng như Dropbox, Google Drive, SkyDrive,
Box...Bên cạnh những lợi tính năng ưu việt và lợi ích to lớn, còn có những nhược điểm
của các hình thức lưu trữ đám mây mà người dùng cần lưu tâm để đảm bảo sự an toàn và
bảo mật dữ liệu trên Internet.
Trên thực tế lập luận và dẫn chứng, những giải pháp đã được đưa vào sử dụng
chưa đảm bảo được tuyệt đối tính an toàn, toàn vẹn dữ liệu lưu trữ trên đám 6 mây. Dựa
trên các nghiên cứu, Cloud Security Alliance (CSA) đã đưa ra những vấn đề có mức độ

nguy hại cao nhất trong điện toán đám mây gồm:
 Sử dụng bất hợp pháp dịch vụ.
 API (Application Programming Interfaces) không bảo mật
 Các lỗ hổng trong chia sẻ dữ liệu.
 Mất dữ liệu.
 Tấn công luồng dữ liệu.
 Những nguy hại từ bên trong: Các mối đe dọa này bao gồm gian lận, phá hỏng dữ
liệu, đánh cắp hoặc mất thông tin bí mật do chính người trong cuộc được tin tưởng
gây ra.

1.3. Một số kỹ thuật an toàn
1.3.1. Mã hoá dữ liệu
Kể từ thuở sơ khai của việc bảo vệ dữ liệu, khi Julius Caesar sử dụng một mật mã
thay thế để bảo vệ thư tín riêng của mình, mã hóa đã đóng một vai trò quan trọng trong
việc giữ cho nội dung dữ liệu trở nên khó hiểu với tất cả mọi người, trừ những người hiểu
cách làm thế nào để giải mã nó. Ngày nay, mã hóa là một thành phần thiết yếu của bất kỳ
chiến lược bảo mật dữ liệu và quản lý nào. May mắn thay, việc tìm kiếm một dịch vụ lưu
trữ dữ liệu mà sử dụng mã hóa lại rất dễ dàng; ngay cả những sản phẩm phục vụ công
cộng - như Dropbox và Google Drive - cũng sử dụng mã hóa.
Mã hóa dữ liệu là công nghệ chuyển hóa dữ liệu này thành 1 dạng dữ liệu mới mà
người dùng không thể đọc được hoặc hiểu được nó. Bằng cách sử dụng các thuật toán
lồng vào nhau, thường dựa trên 1 khóa (key) để mã hóa dữ liệu.

17


Hầu hết các hình thức mã hóa đều yêu cầu bạn thiết lập mật khẩu, cho phép bạn mã hóa
tập tin và sau đó giải mã nó khi bạn muốn xem lại. Nếu bạn sử dụng mật khẩu yếu, tin tặc
có thể phá mã hóa và truy cập tập tin, làm thất bại mục đích của mã hóa.
Mã hóa nhằm đảm bảo các yêu cầu sau:

 Tính bí mật (Confidentiality): Dữ liệu không bị xem bởi bên thứ ba.
 Tính toàn vẹn (Integrity): Dữ liệu không bị thay đổi trong quá trình truyền.
 Tính không khước từ (Non-repudiation): Là cơ chế người thực hiện hành động
không thể chối bỏ việc mình đã làm. Có thể kiểm chứng được nguồn gốc hoặc
người đưa tin
Dựa vào thực tế lập luận dẫn chứng, có thể đưa ra những điểm ưu và nhược của
phương pháp này như sau:
Ưu điểm: Với bài toán bảo vệ an toàn dữ liệu lưu trữ trên đám mây đặt ra, giải pháp
mã hóa dữ liệu có những mặt tích cực, giải quyết được những vấn đề sau:
 Các hệ mã hóa che dấu được nội dung của văn bản rõ để đảm bảo cho chỉ người
chủ hợp pháp của thông tin mới có quyền truy cập thông tin, hay nói cách khác là
chống truy cập không đúng quyền hạn. Khi tệp tin bị tin tặc đánh cắp, tin tặc
không thể đọc được dữ liệu trong tệp tin đó, điều đó hạn chế được việc tin tặc sử
dụng trái phép gây ra những hậu quả không đáng có.
 Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trên hệ thống đến
người nhận hợp pháp xác thực.
 Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo để gửi
thông tin trên mạng.
Nhược điểm: Không thể phủ nhận những điểm tốt điểm mạnh của việc mã hóa dữ
liệu trên đám mây. Tuy nhiên, mã hóa không thể giải quyết hết được vấn đề bảo mật, bởi
nguyên nhân của rò rỉ thông tin bao gồm cả việc tồn tại các lỗ hổng như XSS hay SQL
injection, cũng như là việc sử dụng mật khẩu khẩu quá ngắn hoặc dễ đoán... Bản thân
việc mã hóa không ngăn chặn được việc thông tin bị đánh cắp, việc mất mật khẩu sẽ dẫn
tới mất gói dữ liệu, việc này dẫn đến việc không đảm bảo được tính an toàn, toàn vẹn về
mặt dự phòng dữ liệu. Bên cạnh đó cũng phải nhấn mạnh rằng, đa phần các công nghệ
quản lý khóa mã được sử dụng rộng rãi hiện nay đều tiềm ẩn những rủi ro. Chưa có câu
trả lời hoàn hảo cho các câu hỏi như “lưu trữ khóa ở đâu”, “phải bảo vệ khóa ra sao”,
“nhập khóa như thế nào”. Nếu số lượng máy ảo trong hệ thống là lớn thì bản thân hệ
thống mật mã có thể là nguồn căn của vấn đề. Đó là vì cần có sự phân quyền xem ai được
truy cập tới đối tượng nào và tương ứng với nó là việc phân phối khóa.

Để đánh giá một hệ mã hóa ta cần xét đến độ an toàn của thuật toán, tốc độ mã hóa,
giải mã và việc phân phối khóa. Có thể thấy “thuật toán nào cũng có thể bị phá vỡ”. Các
thuật toán khác nhau cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để
18


phá vỡ chúng. Ở đây tôi muốn nhắc đến mức độ phức tạp của hệ mã hóa được sử dụng
thấp thì rủi ro gói tin bị phá sẽ cao. Bên cạnh đó, tốc độ xử lý mã hóa, giải mã gói dữ liệu
nhanh hay chậm cũng phụ thuộc vào hệ mã hóa có tốt không. Việc bảo mật truy cập,
dùng mật khẩu chia quyền cho người sở hữu và người được quyền sử dụng. Ở đây tùy
theo người sở hữu có cách chia quyền khác nhau (ví dụ chia quyền cho người sử dụng
này chỉ được đọc dữ liệu mà không được chỉnh sửa...), người dùng hoàn toàn tin 8 tưởng
vào nhà cung cấp. Đồng nghĩa với việc không thể đảm bảo tính an toàn bảo mật dữ liệu
do những nguyên nhân chủ quan hoặc khách quan xuất phát từ nhà cung cấp dịch vụ mà
bạn đang tin tưởng.
Vậy vấn đề cấp thiết đặt ra là tìm ra giải pháp tối ưu làm thế nào giải quyết được vấn đề
an toàn bảo mật dữ liệu lưu trữ trên đám mây, khắc phục những hạn chế của giải pháp mã
hóa dữ liệu đã áp dụng trước đó mà vẫn đảm bảo được hiệu quả sử dụng cho người dùng.
1.3.2. Mô hình bảo mật dữ liệu trên đám mây
Mô hình ba lớp bảo vệ dữ liệu trên điện toán đám mây:
Đảm bảo an toàn là vấn đề sống còn đối với sự phát triển của điện toán đám mây
trong thực tế. Hiện nay, rất nhiều tổ chức và doanh nghiệp đã nghiên cứu và đưa ra nhiều
giải pháp an toàn cho điện toán đám mây. Dưới đây giới thiệu sơ lược về một số mô hình
an toàn và thuật toán mã hóa cơ bản đã được xuất bản gần đây.

Hình 1.10 Mô hình 3 lớp bảo vệ dữ liệu đám mây
 Lớp 1 (Layer 1): Lớp xác thực người dùng truy cập điện toán đám mây, với giải
pháp thường được áp dụng là dùng mật khẩu một lần (One Time Password - OTP).
Các hệ thống đòi hỏi tính an toàn cao sẽ yêu cầu xác thực từ hai phía là người
dùng và nhà cung cấp, nhưng với các nhà cung cấp điện toán đám mây miễn phí,

thì chỉ xác thực một chiều.

19


 Lớp 2 (Layer 2): Lớp này bảo đảm mã hóa dữ liệu (Data Encryption), toàn vẹn dữ
liệu (Data Integrity) và bảo vệ tính riêng tư người dùng (Private User Protection)
thông qua một thuật toán mã hóa đối xứng.
 Lớp 3 (Layer 3): Lớp dữ liệu người dùng phục vụ cho việc phục hồi nhanh dữ liệu
theo tốc độ giải mã.
Mô hình bảo mật dựa trên Encryption Proxy:
Hệ thống trên được thiết kế để mã hóa toàn bộ dữ liệu của người dùng trước khi đưa
lên đám mây.

Hình 1.11 Mô hình bảo mật dựa trên Encryption Proxy
Quá trình mã hóa/giải mã và xác thực được thông qua Encryption Proxy. Mô hình này
đảm bảo dữ liệu an toàn và bí mật trong quá trình truyền (transmission) và lưu trữ
(storage) giữa người dùng và đám mây. Để các bản mã vẫn được xử lý và quản lý lưu trữ
mà không cần giải mã thì thuật toán mã hóa dữ liệu đồng phôi (homomorphic encryption
algorithm) và đồng phôi đầy đủ (fully hommomorphic) đang được quan tâm nghiên cứu
ứng dụng trong mô hình này. Thông tin bí mật của người dùng phục vụ quá trình mã
hóa/giải mã được lưu tại Secure Storage.

20


Mô hình bảo vệ dữ liệu sử dụng VPN Cloud:

Hình 1.12 Mô hình bảo vệ dữ liệu dùng VPN Cloud
Công nghệ VPN trong các hệ thống mạng truyền thống đã phát huy nhiều ưu việt

và được dùng khá phổ biến. Tuy nhiên, với công nghệ điện toán đám mây luôn đòi hỏi
tính linh động (dynamic) và mềm dẻo (elastic) trong tổ chức cũng như quản lý hệ thống,
thì các kỹ thuật dynamic VPN hay elastic VPN sẽ phù hợp. Khi số lượng kết nối VPN
trong hệ thống điện toán đám mây lớn sẽ đòi hỏi mô hình thiết lập VPN phù hợp tương
ứng. Có hai mô hình VPN thường được quan tâm là Hub - and - Spoke và Full- Mesh.
1.3.3. Một số cách để người dùng tự bảo mật dữ liệu trên đám mây
Khi dịch chuyển dữ liệu và ứng dụng sang đám mây, bạn sẽ luôn phải đối mặt với
các nguy cơ bị vi phạm, thiếu an toàn và bị tấn công bởi các phần mềm độc hại. Gần một
nửa số dữ liệu kinh doanh được lưu trữ trên đám mây giúp doanh nghiệp đạt được những
lợi ích về chi phí và năng suất. Tuy nhiên, nếu không tập trung vào bảo mật đám mây, dữ
liệu của bạn có thể bị xâm phạm bất cứ lúc nào.
Mật khẩu: mật khẩu bị bẻ khóa là mối đe dọa nguy hiểm cho dữ liệu của bạn. Có
rất nhiều cảnh báo liên quan đến độ mạnh của mật khẩu mà bạn không chú ý tới, các cuộc
tấn công thành công vào cloud server chính là kết quả trực tiếp của sự bất cẩn khi tạo mật
khẩu. Mật khẩu càng dài, càng phức tạp thì dữ liệu càng an toàn. Không nên chia sẻ mật
khẩu của bạn cho ai cả, càng nhiều người biết, mật khẩu càng có nguy cơ rơi vào tay kẻ
xấu.
21


Truy cập từ xa: Ngày nay, nhân viên không cần phải ở văn phòng mà họ có thể
làm việc từ xa và có thể truy cập dữ liệu từ hầu hết mọi nơi. Khi truy cập dữ liệu trên
đám, bắt buộc truy cập phải được bảo mật. Sử virtual private network (VPN) sẽ đảm bảo
dữ liệu của bạn được truyền đến thiết bị di động thông qua kênh bảo mật. Tất cả máy tính
xách tay, thiết bị di động và PC cá nhân phải có cùng mức độ bảo mật như tại văn phòng.
Dữ liệu được mã hoá: Dữ liệu được mã hóa là cách tốt nhất bạn có thể bảo vệ và
duy trì bảo mật. Đảm bảo trình duyệt hoặc ứng dụng sử dụng kết nối được mã hóa trước
khi bạn tải lên hoặc tải xuống bất kỳ dữ liệu nào từ đám mây. Tất cả dữ liệu nhạy cảm
phải được mã hóa trong quá trình, cũng như khi được lưu trữ trên PC hoặc thiết bị di
động. Các chương trình mã hóa nguồn mở cung cấp mức độ tin cậy cao hơn. Nếu dữ liệu

của bạn không được mã hóa, bất kỳ người nào có quyền truy cập đủ cao vào máy chủ đó
đều có thể đọc các tệp của bạn.
An ninh mạng: Đảm bảo network được bảo vệ với các biện pháp bảo mật bổ
sung. Thiết lập tường lửa trên trang web và hệ thống của công ty. Tăng cường bảo mật
mạng có nghĩa là thiết lập hệ thống và máy tính với tính năng phát hiện và ngăn chặn
xâm nhập, phần mềm chống vi-rút và phát hiện phần mềm độc hại. Cài đặt các bản cập
nhật ngay khi chúng có sẵn để giảm thiểu khả năng vi phạm trong hệ thống.
Dữ liệu sao lưu: Việc sao lưu dữ liệu đám mây giúp bảo vệ nhiều hơn cho các tệp
của bạn. Trong đám mây sẽ có chức năng đồng bộ hóa và chia sẻ tệp, nhưng bạn vẫn nên
duy trì việc sao lưu ổ cứng ảo và vật lý. Sao lưu dữ liệu sẽ giúp bạn không gặp thiệt hại
lớn trong trường hợp xảy ra sự cố hoặc tấn công hệ thống.

22


CHƯƠNG 2: DỊCH VỤ MÃ HOÁ DỮ LIỆU TRÊN ĐÁM
MÂY
2.1. Swift OpenStack
2.1.1. Swift là gì?

Hình 2.13 Dịch vụ lưu trữ Object
Swift là project multi-tennant, có khả năng mở rộng, và có hệ thống lưu trữ đối
tượng chặt chẽ được thết kế để lưu trữ 1 lượng lớn dữ liệu phi cấu trúc với chi phí thấp,
Swift được sử dụng bởi các doanh nghiệp thuộc mọi quy mô, các nhà cung cấp dịch vu,
các tổ chức nghiên cứu trên toàn thế giới. Nó thường được sử dụng để lưu trữ dữ liệu phi
cấu trúc như: tài liêu, nội dung web, backup, hình ảnh, các snapshot của máy ảo.
Swift không phải là 1 hệ thống tập tin truyền thống hay 1 khối thiết bị.. Thay vào
đó nó cho phép bạn lưu trữ, truy xuất, xóa các dối tượng cùng với metadata của nó trong
container thông qua RESTful API.
Đặc điểm chính của swift bao gồm:

Khả năng mở rộng: Swift được thiết kế để mở rộng quy mô tuyến tính đựa trên
lượng dữ liệu cần phải được lưu trữ và có bao nh ng sử dụng cần để được phục vụ. Nghĩa
là nó có quy mô từ vài nút với 1 vài ổ đĩa, tới hàng chục, hàng trăm petabyte dung lượng
23


×