OpenStack là một nền tảng phần mềm mã nguồn mở được thiết kế để xây dựng và quản lý các hạ tầng điện toán đám mây (cloud computing) của các doanh nghiệp, tổ chức hoặc cá nhân. Nó cung cấp các dịch vụ cho việc lưu trữ, mạng và xử lý dữ liệu. OpenStack được phát triển bởi một cộng đồng các nhà phát triển trên toàn thế giới, bao gồm các công ty lớn như IBM, Red Hat, HP, Intel, Canonical, và nhiều nhà sản xuất khác. OpenStack cho phép người dùng tạo và quản lý các máy chủ ảo, lưu trữ đám mây, mạng đám mây, và các dịch vụ điện toán đám mây khác trong một môi trường điện toán đám mây linh hoạt và tự động hóa.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
-o0o TÊN ĐỀ TÀI : TÌM HIỂU OPENSTACK VÀ HỆ THỐNG NSM CHO OPENSTACK
Giảng viên hướng dẫn: Ninh Thị Thu Trang Nhóm: 05
Thành viên: Nguyễn Văn Chiến
Lê Tuấn Điệp
Đỗ Văn Hiếu
Lê Tài Quang Huy Châu Phan Hoài Linh
Hà Nội, tháng 03 năm 2023
Trang 3Mục lục
I Tổng quan về OpenStack………3
1 Khái niệm……….4
2 OpenStack hoạt động như thế nào……… 4
3 Cấu trúc dịch vụ của OpenStack……… 5
4 Ưu điểm của OpenStack……… 6
5 Nhược điểm của OpenStack……….7
II Các Module của OpenStack………8
1 The core………9
2 The management group……… 10
3 The security group……… 11
4 Big data and database services……… 12
5 Containers……… 13
III Hệ thống Network Security Monitoring cho OpenStack……… 13
1 Tổng quan về NSM 2 Chu trình NSM…
3 Một số ứng dụng của NSM……….16
4 NSM cho OpenStack……… 17
5 Các thành phần hệ thống NSM cho OpenStack……….18
IV Demo………18
PHẦN KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
Trang 4I Tổng quan về OpenStack
1 Khái niệm
OpenStack là một nền tảng phần mềm mã nguồn mở được thiết kế để xây dựng vàquản lý các hạ tầng điện toán đám mây (cloud computing) của các doanh nghiệp, tổ chứchoặc cá nhân Nó cung cấp các dịch vụ cho việc lưu trữ, mạng và xử lý dữ liệu.OpenStack được phát triển bởi một cộng đồng các nhà phát triển trên toàn thế giới, baogồm các công ty lớn như IBM, Red Hat, HP, Intel, Canonical, và nhiều nhà sản xuấtkhác OpenStack cho phép người dùng tạo và quản lý các máy chủ ảo, lưu trữ đám mây,mạng đám mây, và các dịch vụ điện toán đám mây khác trong một môi trường điện toánđám mây linh hoạt và tự động hóa
2 OpenStack hoạt động như thế nào
OpenStack là một nền tảng đám mây mã nguồn mở, cung cấp các dịch vụ đám mâycho môi trường ảo hóa Nó được xây dựng trên các dự án mã nguồn mở, bao gồm Nova,Glance, Cinder, Neutron và Keystone, và được quản lý bởi OpenStack Foundation
Trang 5OpenStack cho phép người dùng triển khai và quản lý các ứng dụng và dịch vụ trêncác máy chủ ảo, dựa trên một số lượng lớn tài nguyên vật lý (tức là CPU, bộ nhớ, lưu trữ
và mạng) Nó cung cấp các dịch vụ cơ bản như máy chủ ảo (Nova), lưu trữ đám mây(Cinder), mạng đám mây (Neutron), hình ảnh đám mây (Glance) và quản lý danh tính vàxác thực (Keystone) Mỗi dịch vụ đều có chức năng và nhiệm vụ cụ thể của nó
OpenStack hoạt động bằng cách tổ chức các tài nguyên vật lý trên máy chủ vật lýthành các tài nguyên ảo, dựa trên yêu cầu của người dùng và các ứng dụng Người dùng
có thể tạo ra các máy chủ ảo và cấu hình chúng dựa trên nhu cầu của họ, bao gồm lượngCPU, bộ nhớ và lưu trữ OpenStack quản lý việc phân phối các tài nguyên này cho cácmáy chủ ảo, đảm bảo tính khả dụng và độ tin cậy của các dịch vụ và ứng dụng được triểnkhai trên đám mây
Ngoài ra, OpenStack cung cấp các API cho phép người dùng tương tác với các dịch
vụ đám mây và quản lý các tài nguyên của mình thông qua các giao diện dòng lệnh hoặcgiao diện người dùng đồ họa Các công cụ quản lý OpenStack như Horizon cung cấp giaodiện quản trị cho các dịch vụ và tài nguyên của OpenStack
3 Cấu trúc dịch vụ của OpenStack
Cấu trúc dịch vụ của OpenStack bao gồm các thành phần chính và các dịch vụ phụtrợ Các thành phần chính của OpenStack gồm:
- Compute (Nova): Dịch vụ quản lý máy chủ ảo, cho phép người dùng tạo và
quản lý các máy chủ ảo trên đám mây Nova cung cấp khả năng tự động mởrộng cho các máy chủ ảo và giám sát các máy chủ này để đảm bảo rằng chúngđang hoạt động đúng cách
- Networking (Neutron): Dịch vụ quản lý mạng đám mây, cho phép người dùng
tạo và quản lý các mạng ảo và liên kết giữa các máy chủ ảo trên đám mây
- Storage (Cinder): Dịch vụ quản lý lưu trữ đám mây, cho phép người dùng tạo
và quản lý các ổ đĩa đám mây để lưu trữ dữ liệu cho các máy chủ ảo trên đámmây
- Image (Glance): Quản lý các hình ảnh máy chủ ảo và tài nguyên khác trên
đám mây, cho phép người dùng tạo và quản lý các hình ảnh máy chủ ảo đểtriển khai các ứng dụng
- Identity (Keystone): Dịch vụ quản lý danh tính và xác thực, cung cấp chức
năng quản lý tài khoản, quản lý dịch vụ và xác thực người dùng cho các dịch
vụ OpenStack khác
- Dashboard (Horizon): Giao diện người dùng đồ họa cho các dịch vụ
OpenStack, cung cấp khả năng quản lý và giám sát các máy chủ ảo, lưu trữ vàmạng trên đám mây thông qua một giao diện đơn giản và dễ sử dụng
Trang 6Các dịch vụ phụ trợ bao gồm:
- Orchestration (Heat): Dịch vụ triển khai và quản lý ứng dụng đám mây, cho
phép người dùng tạo và quản lý các gói ứng dụng để triển khai trên đám mây.Heat cũng cung cấp các khối lệnh để tự động hóa quá trình triển khai, giúp giảmthiểu thời gian và công sức cần thiết cho việc triển khai ứng dụng
- Telemetry (Ceilometer): Dịch vụ giám sát đám mây, cung cấp khả năng giám
sát, đo lường và ghi nhật ký các hoạt động trên đám mây Ceilometer cũng hỗtrợ tính năng giám sát chi tiết các tài nguyên trên đám mây, giúp người dùng dễdàng xác định các vấn đề và điều chỉnh tài nguyên một cách hiệu quả
- Database (Trove): Dịch vụ quản lý cơ sở dữ liệu đám mây, cung cấp khả năng
tạo, quản lý và xóa các cơ sở dữ liệu đám mây như MySQL, PostgreSQL vàMongoDB
- Messaging (Zaqar): Cung cấp dịch vụ thông báo và giao tiếp giữa các thành
phần của OpenStack
- Bare Metal (Ironic): Cung cấp dịch vụ quản lý các tài nguyên phần cứng vật lý
để triển khai các VMs trên các máy chủ vật lý
Các dịch vụ này hoạt động cùng nhau để cung cấp các dịch vụ điện toán đám mâylinh hoạt và tiên tiến
4 Ưu điểm của OpenStack
Mở và miễn phí: OpenStack là một dự án mã nguồn mở, tức là nó được phát triển vàphân phối miễn phí Điều này làm cho OpenStack trở thành một giải pháp điện toán đámmây phổ biến và tiết kiệm chi phí cho các tổ chức
Trang 7Tính linh hoạt: OpenStack cung cấp các công cụ và dịch vụ để triển khai các tàinguyên đám mây theo nhiều cách khác nhau Người dùng có thể tùy chỉnh và mở rộngcác tài nguyên đám mây của họ một cách dễ dàng.
Tính khả chuyển: OpenStack hỗ trợ nhiều nền tảng ảo hóa khác nhau như KVM, Xen
và VMware, cung cấp khả năng chuyển đổi giữa các nền tảng ảo hóa một cách dễ dàng.Tính mở rộng: OpenStack có thể mở rộng để hỗ trợ hàng triệu máy chủ ảo và hàngtrăm ngàn máy chủ vật lý
Bảo mật: OpenStack cung cấp các công cụ để quản lý xác thực và phân quyền ngườidùng, đảm bảo rằng tài nguyên đám mây được bảo vệ và an toàn
Tính tương thích: OpenStack hỗ trợ các giao thức và tiêu chuẩn phổ biến nhưRESTful APIs, AMQP, và OAuth
Cộng đồng hỗ trợ lớn: OpenStack có một cộng đồng lớn và sôi động, cung cấp hỗ trợ
và phát triển liên tục cho dự án này
5 Nhược điểm của OpenStack
Mặc dù OpenStack có nhiều ưu điểm, nhưng cũng có một số nhược điểm:
- Đòi hỏi kiến thức kỹ thuật cao: Việc triển khai và quản lý OpenStack đòi hỏicác kỹ năng kỹ thuật cao và kinh nghiệm về quản lý hệ thống đám mây, điềunày có thể khiến cho việc triển khai và quản lý OpenStack trở nên khó khăn đốivới các tổ chức không có nguồn lực kỹ thuật đủ
- Phức tạp: OpenStack là một nền tảng phức tạp, với nhiều thành phần và tùychọn cấu hình khác nhau Điều này có thể khiến cho việc triển khai và quản lýOpenStack trở nên khó khăn đối với các tổ chức mới bắt đầu
- Yêu cầu phần cứng mạnh: OpenStack đòi hỏi các máy chủ vật lý và hạ tầngmạng mạnh mẽ để triển khai Điều này có thể là một trở ngại đối với các tổchức với ngân sách hạn chế
- Khó khăn trong việc tích hợp: OpenStack có nhiều thành phần và dịch vụ khácnhau, điều này khiến việc tích hợp với các hệ thống khác trở nên phức tạp hơn
- Quản lý vận hành phức tạp: Vì OpenStack có nhiều thành phần và dịch vụ khácnhau, việc quản lý và vận hành có thể trở nên phức tạp và tốn nhiều thời gian vànguồn lực
Tuy nhiên, các nhược điểm này có thể được giải quyết bằng cách sử dụng các công
cụ và dịch vụ quản lý OpenStack và hợp tác với cộng đồng OpenStack để tìm kiếm giảipháp
Trang 8II Các Module của OpenStack
1 The core
Trung tâm của OpenStack là một tập hợp các mô-đun cung cấp khả năng điều phối cơbản, quản lý nền tảng và kết nối mạng, cùng với lưu trữ đối tượng và khối Tất cả cáccông cụ này đều đã hoàn thiện, mặc dù chúng vẫn có sự phát triển lành mạnh và sửa lỗi.Các công cụ này là một bộ hoạt động cho OpenStack, nhưng hầu hết các triển khai ngàynay còn tiến xa hơn nhiều
Nova
Dịch vụ quản lý máy chủ ảo, cho phépngười dùng tạo và quản lý các máychủ ảo trên đám mây Nova cung cấpkhả năng tự động mở rộng cho cácmáy chủ ảo và giám sát các máy chủnày để đảm bảo rằng chúng đang hoạtđộng đúng cách
Neutron
Dịch vụ quản lý mạng đám mây, chophép người dùng tạo và quản lý cácmạng ảo và liên kết giữa các máy chủ
ảo trên đám mây
Keystone
Dịch vụ quản lý danh tính và xác thực,cung cấp chức năng quản lý tài khoản,quản lý dịch vụ và xác thực ngườidùng cho các dịch vụ OpenStack khác.Swift
Chức năng chính của Swift là lưu trữ
và quản lý dữ liệu đối tượng có kíchthước lớn trên một hệ thống lưu trữphân tán
Cinder
Dịch vụ quản lý lưu trữ đám mây, chophép người dùng tạo và quản lý các ổđĩa đám mây để lưu trữ dữ liệu chocác máy chủ ảo trên đám mây
Glance
Quản lý các hình ảnh máy chủ ảo vàtài nguyên khác trên đám mây, chophép người dùng tạo và quản lý cáchình ảnh máy chủ ảo để triển khai cácứng dụng
Trang 92 The management group
Nhóm các mô-đun OpenStack này nâng cao khả năng quản lý của bộ lõi Nó bao gồmhai nhóm nhỏ, dựa trên sự trưởng thành Sau đây là tất cả các dự án trưởng thành, mặc dùchúng vẫn đang phát triển
Horizon
Module quản lý giao diện web đểquản lý các tài nguyên trongOpenStack Horizon cung cấp mộtgiao diện người dùng đơn giản và dễ
sử dụng để quản lý các dịch vụ cloudcomputing
Heat
Heat: Module quản lý việc triển khaiứng dụng Heat cho phép người dùngđịnh nghĩa các mô hình triển khai ứngdụng bằng cách sử dụng các tàinguyên như máy ảo, mạng, lưu trữ vàcác dịch vụ cloud khác
Ceilometer
Module quản lý giám sát Ceilometergiám sát các tài nguyên trongOpenStack như máy ảo, mạng và lưutrữ để giúp quản trị viên quản lý hiệusuất và sử dụng tài nguyên
Congress
Module quản lý việc quyết định.Congress cho phép quản trị viên địnhnghĩa các quy tắc quản lý tài nguyêntrong OpenStack để giúp tối ưu hóahiệu suất và đảm bảo tính bảo mật của
hệ thống
3 The security group
Trong OpenStack, Security Group là một thành phần quan trọng của mô hình bảomật mạng Security Group là một tập hợp các luật cấu hình mạng để giới hạn truy cập
Trang 10giữa các máy ảo trong cùng một dải mạng Mỗi Security Group được liên kết với mộthoặc nhiều máy ảo trong OpenStack.
Barbican
Là một dịch vụ quản lý khóa và chứngchỉ (key management and certificateservice) trong OpenStack Barbicancung cấp các tính năng bảo mật nhưlưu trữ, quản lý và phân phối khóa bímật, chứng chỉ SSL/TLS, mật khẩu vàcác dữ liệu nhạy cảm khác
Designate
Là một dịch vụ DNS-as-a-Servicetrong OpenStack, cung cấp khả năngquản lý tên miền và DNS cho hệthống Designate cho phép quản trịviên tạo, cập nhật và xóa các bản ghiDNS, tên miền và các phân giải khácliên quan đến tên miền
Murano
Là một dịch vụ quản lý ứng dụng vàdịch vụ trong OpenStack Muranocung cấp khả năng tự động hóa triểnkhai ứng dụng và dịch vụ trên các nềntảng đám mây khác nhau Nó cũng hỗtrợ các tính năng quản lý vòng đời ứngdụng, từ triển khai đến quản lý, mởrộng và huỷ bỏ
4 Big data and database services
Big Data Services: Cung cấp các dịch vụ liên quan đến xử lý dữ liệu lớn trên đám mây, cho phép người dùng phân tích và khai thác các dữ liệu lớn để tìm kiếm thông tin, tối ưu hóa sản xuất, dự báo kinh doanh, giám sát vận hành và nhiều hơn nữa Các thành phần quan trọng của Big Data Services bao gồm Apache Hadoop, Apache Spark, và Apache Kafka
Database Services: Cung cấp các dịch vụ quản lý cơ sở dữ liệu trên đám mây, cho phép người dùng tạo, quản lý và vận hành các cơ sở dữ liệu đáp ứng các yêu cầu của họ Các thành phần quan trọng của Database Services bao gồm MongoDB, MySQL,
PostgreSQL, và Redis
Trang 11Là một dịch vụ quản lý cơ sở dữ liệu trên đám mây trong OpenStack Trove cho phép người dùng tạo, quản lý và vận hành các cơ sở dữ liệu một cách dễ dàng Trove hỗ trợ nhiều loại cơ sở dữ liệu như MySQL, PostgreSQL,
MongoDB và Cassandra
Sahara
Là một dịch vụ quản lý dữ liệu lớn trên đám mây trong OpenStack Sahara cungcấp một framework để triển khai và quản lý các nền tảng xử lý dữ liệu lớn như Apache Hadoop, Apache Spark, Apache Storm, và Apache Hive
Manila
Là một dịch vụ chia sẻ tệp trên đám mây trong OpenStack Manila cho phép người dùng tạo và quản lý các dịch vụ chia sẻ tệp trên đám mây để lưu trữ và chia sẻ các tệp và thư mục giữa các máyảo
Zaqar
Là một dịch vụ hàng đợi trong OpenStack Zaqar cung cấp các tính năng như lưu trữ hàng đợi, xử lý thông báo, gửi thông báo và đăng ký thành viên hàng đợi
5 Containers
Container là một cách để tạo ra và triển khai các ứng dụng trong một môi trường đám mây Containers cung cấp một cách tiếp cận phân tán cho việc triển khai và quản lý các ứng dụng trên đám mây
Containers trong OpenStack có các chức năng chính như sau:
- Tạo và quản lý containers: Containers cho phép người dùng tạo và quản lý các container trên đám mây Người dùng có thể tạo các container để triển khai các ứng dụng một cách đơn giản và nhanh chóng
Trang 12- Cung cấp môi trường chạy ứng dụng: Containers cung cấp một môi trường chạy ứng dụng phân tán trên đám mây, giúp cho việc triển khai ứng dụng trên đám mây dễ dàng hơn.
- Quản lý tài nguyên: Containers giúp người dùng quản lý tài nguyên của ứng dụng trên đám mây một cách hiệu quả Người dùng có thể điều chỉnh các tài nguyên của container để đáp ứng các yêu cầu của ứng dụng
- Cung cấp tính di động và linh hoạt: Containers cung cấp tính di động và linh hoạt cho việc triển khai ứng dụng trên đám mây Containers có thể di chuyển giữa các môi trường khác nhau một cách dễ dàng và có khả năng tự động điều chỉnh khi có sự thay đổi về môi trường
III Hệ thống Network Security Monitoring cho OpenStack
1 Tổng quan về NSM
Hệ thống NSM (Network Security Monitoring) là một bộ công cụ và kỹ thuật được sửdụng để giám sát và phân tích các hoạt động mạng nhằm phát hiện và ngăn chặn các hoạtđộng xâm nhập hoặc tấn công từ bên ngoài hoặc từ bên trong mạng Hệ thống NSM giámsát lưu lượng mạng và tìm kiếm các hoạt động không bình thường, bao gồm các hoạtđộng của hacker, malware, botnet, phishing và các hoạt động độc hại khác
Hệ thống NSM thường được triển khai để giải quyết các vấn đề bảo mật mạng, bảo vệthông tin và đảm bảo tính sẵn sàng và tin cậy của hệ thống mạng Nó là một phần khôngthể thiếu trong một hệ thống bảo mật mạng toàn diện và đáp ứng yêu cầu của các tổ chức
về an ninh thông tin
NSM được coi là mô hình mới cho lĩnh vực phát hiện xâm nhập và đã xây dựng đượcmột tập các đặc tính khác biệt hoàn toàn so với phát hiện xâm nhập truyền thống, được
mô tả như dưới đây:
- Phòng chống đến cùng cho dù thất bại
- Tập trung vào tập dữ liệu
- Quy trình theo chu trình.
- Phòng thủ theo mối đe dọa
2 Chu trình NSM
Chu trình NSM bao gồm ba giai đoạn: thu thập dữ liệu, phát hiện xâm nhập, và phântích dữ liệu